
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 81 ec 1c 02 00 00 ?? sub esp, 0x0000021c<540>
 a1 04 b0 40 00 ?? mov eax, dword ds:[0x0040b004]
 33 c5 ?? xor eax, ebp
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 57 ?? push edi
 68 00 08 00 00 ?? push 0x00000800<2048>
 6a 00 ?? push 0
 68 30 94 40 00 ?? push 0x00409430<"api-ms-win-core-registry-"+10 more>
 e8 77 0c 00 00 ?? call function 0x00405bcc

L2: 8b f8 ?? mov edi, eax
 83 c4 0c ?? add esp, 12
 85 ff ?? test edi, edi
 75 4a ?? jne basic block L11

L3: 68 00 08 00 00 ?? push 0x00000800<2048>
 50 ?? push eax
 68 88 94 40 00 ?? push 0x00409488<"advapi32.dll">
 e8 5e 0c 00 00 ?? call function 0x00405bcc

L4: 8b f8 ?? mov edi, eax
 83 c4 0c ?? add esp, 12
 85 ff ?? test edi, edi
 75 31 ?? jne basic block L11

L5: ff 15 3c c0 40 00 ?? call dword ds:[0x0040c03c]

L6: 83 f8 57 ?? cmp eax, 0x57<87>
 75 15 ?? jne basic block L9

L7: 57 ?? push edi
 57 ?? push edi
 68 88 94 40 00 ?? push 0x00409488<"advapi32.dll">
 e8 3e 0c 00 00 ?? call function 0x00405bcc

L8: 8b f8 ?? mov edi, eax
 83 c4 0c ?? add esp, 12
 85 ff ?? test edi, edi
 75 11 ?? jne basic block L11

L9: 33 c0 ?? xor eax, eax
 5f ?? pop edi
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 33 cd ?? xor ecx, ebp
 e8 87 c2 ff ff ?? call function 0x0040122b

L10: 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

L11: 56 ?? push esi
 68 a8 94 40 00 ?? push 0x004094a8<"RegOpenKeyExW">
 57 ?? push edi
 ff 15 44 c0 40 00 ?? call dword ds:[0x0040c044]

L12: 8b f0 ?? mov esi, eax
 85 f6 ?? test esi, esi
 75 10 ?? jne basic block L15

L13: 5e ?? pop esi
 5f ?? pop edi
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 33 cd ?? xor ecx, ebp
 e8 64 c2 ff ff ?? call function 0x0040122b

L14: 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

L15: 53 ?? push ebx
 68 b8 94 40 00 ?? push 0x004094b8<"RegQueryValueExW">
 57 ?? push edi
 ff 15 44 c0 40 00 ?? call dword ds:[0x0040c044]

L16: 8b d8 ?? mov ebx, eax
 85 db ?? test ebx, ebx
 74 3f ?? je basic block L23

L17: 68 cc 94 40 00 ?? push 0x004094cc<"RegCloseKey">
 57 ?? push edi
 ff 15 44 c0 40 00 ?? call dword ds:[0x0040c044]

L18: 89 85 e8 fd ff ff ?? mov dword ss:[ebp + 0xfffffde8<4294966760,-536>], eax
 85 c0 ?? test eax, eax
 74 29 ?? je basic block L23

L19: 8d 85 f0 fd ff ff ?? lea eax, ss:[ebp + 0xfffffdf0<4294966768,-528>]
 8b ce ?? mov ecx, esi
 50 ?? push eax
 6a 01 ?? push 1
 6a 00 ?? push 0
 68 e0 94 40 00 ?? push 0x004094e0<"SOFTWARE\\Wow6432Node\\Micr"+32 more>
 68 02 00 00 80 ?? push 0x80000002
 e8 5c c2 ff ff ?? call function 0x0040126c

L20: ff d6 ?? call esi

L21: 85 c0 ?? test eax, eax
 74 1a ?? je basic block L25

L22: 57 ?? push edi
 ff 15 48 c0 40 00 ?? call dword ds:[0x0040c048]

L23: 5b ?? pop ebx
 5e ?? pop esi
 33 c0 ?? xor eax, eax
 5f ?? pop edi
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 33 cd ?? xor ecx, ebp
 e8 ff c1 ff ff ?? call function 0x0040122b

L24: 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

L25: 8d 85 ec fd ff ff ?? lea eax, ss:[ebp + 0xfffffdec<4294966764,-532>]
 c7 85 ec fd ff ff 08 02 ?? mov dword ss:[ebp + 0xfffffdec<4294966764,-532>], 0x00000208<520>
 00 00
 50 ?? push eax
 8d 85 f4 fd ff ff ?? lea eax, ss:[ebp + 0xfffffdf4<4294966772,-524>]
 8b cb ?? mov ecx, ebx
 50 ?? push eax
 8d 85 e4 fd ff ff ?? lea eax, ss:[ebp + 0xfffffde4<4294966756,-540>]
 50 ?? push eax
 6a 00 ?? push 0
 68 6c 95 40 00 ?? push 0x0040956c<"ProductDir">
 ff b5 f0 fd ff ff ?? push dword ss:[ebp + 0xfffffdf0<4294966768,-528>]
 e8 09 c2 ff ff ?? call function 0x0040126c

L26: ff d3 ?? call ebx

L27: ff b5 f0 fd ff ff ?? push dword ss:[ebp + 0xfffffdf0<4294966768,-528>]
 8b 9d e8 fd ff ff ?? mov ebx, dword ss:[ebp + 0xfffffde8<4294966760,-536>]
 8b f0 ?? mov esi, eax
 8b cb ?? mov ecx, ebx
 e8 f2 c1 ff ff ?? call function 0x0040126c

L28: ff d3 ?? call ebx

L29: 57 ?? push edi
 ff 15 48 c0 40 00 ?? call dword ds:[0x0040c048]

L30: 85 f6 ?? test esi, esi
 75 96 ?? jne basic block L23

L31: 83 bd e4 fd ff ff 01 ?? cmp dword ss:[ebp + 0xfffffde4<4294966756,-540>], 1
 75 8d ?? jne basic block L23

L32: 8b 8d ec fd ff ff ?? mov ecx, dword ss:[ebp + 0xfffffdec<4294966764,-532>]
 f6 c1 01 ?? test cl, 1
 75 82 ?? jne basic block L23

L33: d1 e9 ?? shr ecx, 1
 8b d1 ?? mov edx, ecx
 83 f9 02 ?? cmp ecx, 2
 0f 82 75 ff ff ff ?? jb basic block L23

L34: 49 ?? dec ecx
 8d 85 f4 fd ff ff ?? lea eax, ss:[ebp + 0xfffffdf4<4294966772,-524>]
 66 39 34 48 ?? cmp word ds:[eax + ecx * 2], si
 8d 04 48 ?? lea eax, ds:[eax + ecx * 2]
 0f 85 61 ff ff ff ?? jne basic block L23

L35: 66 83 78 fe 5c ?? cmp word ds:[eax + 0xfe<254,-2>], 0x5c<92>
 74 0a ?? je basic block L37

L36: b9 5c 00 00 00 ?? mov ecx, 0x0000005c<92>
 66 89 08 ?? mov word ds:[eax], cx
 8b ca ?? mov ecx, edx

L37: 8b c1 ?? mov eax, ecx
 f7 d0 ?? not eax
 83 f8 12 ?? cmp eax, 0x12<18>
 0f 82 43 ff ff ff ?? jb basic block L23

L38: 8d 41 11 ?? lea eax, ds:[ecx + 0x11<17>]
 3d 04 01 00 00 ?? cmp eax, 0x00000104<260>
 0f 87 35 ff ff ff ?? ja basic block L23

L39: a1 d4 93 40 00 ?? mov eax, dword ds:[0x004093d4<"bin\\MSPDB140.DLL">]
 89 84 4d f4 fd ff ff ?? mov dword ss:[ebp + 0xfffffdf4<4294966772,-524> + ecx * 2], eax
 a1 d8 93 40 00 ?? mov eax, dword ds:[0x004093d8<"n\\MSPDB140.DLL">]
 89 84 4d f8 fd ff ff ?? mov dword ss:[ebp + 0xfffffdf8<4294966776,-520> + ecx * 2], eax
 a1 dc 93 40 00 ?? mov eax, dword ds:[0x004093dc<"MSPDB140.DLL">]
 89 84 4d fc fd ff ff ?? mov dword ss:[ebp + 0xfffffdfc<4294966780,-516> + ecx * 2], eax
 a1 e0 93 40 00 ?? mov eax, dword ds:[0x004093e0<"PDB140.DLL">]
 89 84 4d 00 fe ff ff ?? mov dword ss:[ebp + 0xfffffe00<4294966784,-512> + ecx * 2], eax
 a1 e4 93 40 00 ?? mov eax, dword ds:[0x004093e4<"B140.DLL">]
 89 84 4d 04 fe ff ff ?? mov dword ss:[ebp + 0xfffffe04<4294966788,-508> + ecx * 2], eax
 a1 e8 93 40 00 ?? mov eax, dword ds:[0x004093e8<"40.DLL">]
 89 84 4d 08 fe ff ff ?? mov dword ss:[ebp + 0xfffffe08<4294966792,-504> + ecx * 2], eax
 a1 ec 93 40 00 ?? mov eax, dword ds:[0x004093ec<".DLL">]
 89 84 4d 0c fe ff ff ?? mov dword ss:[ebp + 0xfffffe0c<4294966796,-500> + ecx * 2], eax
 a1 f0 93 40 00 ?? mov eax, dword ds:[0x004093f0<"LL">]
 89 84 4d 10 fe ff ff ?? mov dword ss:[ebp + 0xfffffe10<4294966800,-496> + ecx * 2], eax
 66 a1 f4 93 40 00 ?? mov ax, word ds:[0x004093f4]
 68 00 09 00 00 ?? push 0x00000900<2304>
 66 89 84 4d 14 fe ff ff ?? mov word ss:[ebp + 0xfffffe14<4294966804,-492> + ecx * 2], ax
 8d 85 f4 fd ff ff ?? lea eax, ss:[ebp + 0xfffffdf4<4294966772,-524>]
 6a 00 ?? push 0
 50 ?? push eax
 e8 63 0a 00 00 ?? call function 0x00405bcc

L40: 8b f0 ?? mov esi, eax
 83 c4 0c ?? add esp, 12
 85 f6 ?? test esi, esi
 75 1f ?? jne basic block L45

L41: ff 15 3c c0 40 00 ?? call dword ds:[0x0040c03c]

L42: 83 f8 57 ?? cmp eax, 0x57<87>
 75 14 ?? jne basic block L45

L43: 6a 08 ?? push 8
 8d 85 f4 fd ff ff ?? lea eax, ss:[ebp + 0xfffffdf4<4294966772,-524>]
 56 ?? push esi
 50 ?? push eax
 e8 40 0a 00 00 ?? call function 0x00405bcc

L44: 83 c4 0c ?? add esp, 12
 8b f0 ?? mov esi, eax

L45: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 8b c6 ?? mov eax, esi
 5b ?? pop ebx
 5e ?? pop esi
 33 cd ?? xor ecx, ebp
 5f ?? pop edi
 e8 8b c0 ff ff ?? call function 0x0040122b

L46: 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

