Function at 0x407223
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x254
mov eax, dword [0x418010]
xor eax, ebp
mov dword [ebp - 4], eax
or dword [ebp - 0x224], 0xffffffff
push ebx
push esi
xor eax, eax
push edi
xor ebx, ebx
push eax
inc ebx
push 0x418b0c
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x228], eax
call dword [0x4011a0]
push 0x2388
call fcn.00413c56
push dword [ebp + 0xc]
mov esi, 0x419058
push dword [ebp + 8]
call fcn.0040cf6f
mov edi, eax
test edi, edi
jl 0x407625
mov edx, dword [0x419078]
lea eax, [ebp - 0x220]
push eax
push 0x41907c
call fcn.0040c9da
mov edi, eax
test edi, edi
jl 0x407625
mov eax, esi
call fcn.0040cffd
mov edi, eax
test edi, edi
jl 0x407625
push 0x23ca
call fcn.00413c56
mov eax, dword [0x41907c]
test eax, eax
je 0x4072ec
mov eax, dword [eax]
mov dword [ebp - 0x220], eax
mov edi, 0x80070057
jmp 0x407625
mov eax, dword [0x4190d4]
mov dword [0x419068], 0x4071dd
test eax, eax
jne 0x407309
mov eax, 0x403e70
mov dword [0x4190d4], eax
lea edx, [ebp - 0x254]
mov dword [ebp - 0x254], 0xbb8
mov dword [ebp - 0x250], 0x1a60
mov dword [ebp - 0x24c], 0x1a61
mov dword [ebp - 0x248], 0x1a5e
mov dword [ebp - 0x244], 0x1a5f
mov dword [ebp - 0x240], 0x1a62
mov dword [ebp - 0x23c], 0x1a63
mov dword [ebp - 0x238], 0x1a64
mov dword [ebp - 0x234], 0x1a65
call fcn.0040e2c1
mov eax, dword [0x4190d4]
call fcn.0040e442
mov edi, eax
test edi, edi
jl 0x407625
lea eax, [ebp - 0x218]
push eax
push 0x20019
push 0
push dword [0x4190d4]
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40740b
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x230]
push eax
push 0
push 0x403ee0
push dword [ebp - 0x218]
mov dword [ebp - 0x210], 0x208
std
invalid
dec dword [eax]
add al, byte [eax]
add bh, bh
adc eax, sym.imp.ADVAPI32.dll_RegQueryValueExW
test eax, eax
jne 0x4073ef
push 0x4190f8
lea eax, [ebp - 0x20c]
push eax
call dword [0x40139c]
jmp 0x4073fd
mov esi, 0x402bb0
mov edi, 0x4190f8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0x218]
call dword [entry0]
jmp 0x407419
mov esi, 0x402bb0
mov edi, 0x4190f8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x402bb0
mov edi, 0x419108
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 9
movsd dword es:[edi], dword [esi]
push 0x403f08
push dword [0x4190d4]
call dword [0x4011fc]
add esp, 0xc
test eax, eax
mov eax, dword [0x4190d4]
jne 0x407451
lea ecx, [eax + 0x10]
mov dword [ebp - 0x210], ecx
jmp 0x407457
mov dword [ebp - 0x210], eax
push eax
lea ecx, [ebp - 0x21c]
call fcn.004095e3
push 0x23cb
call fcn.00413c56
push dword [0x4190d4]
call fcn.0040d424
mov edi, eax
xor esi, esi
cmp edi, esi
jl 0x407625
push 0x23cc
call fcn.00413c56
cmp dword [0x4190c4], esi
je 0x4074b4
mov ecx, dword [ebp - 0x21c]
push esi
lea eax, [ebp - 0x22c]
push eax
call fcn.0040f592
mov dword [ebp - 0x224], esi
jmp 0x40761d
cmp dword [0x4190c0], esi
je 0x4074d7
cmp dword [0x419054], esi
je 0x4074d7
mov ecx, dword [ebp - 0x21c]
push ebx
lea eax, [ebp - 0x22c]
push eax
call fcn.0040f592
mov ecx, dword [ebp - 0x210]
push ebx
call fcn.0040c7c1
test eax, eax
jne 0x4074fb
mov edi, 0x80004005
mov dword [ebp - 0x214], 0xbef
jmp 0x407625
mov ecx, dword [ebp - 0x210]
push esi
call fcn.0040c7c1
test eax, eax
je 0x4074e7
push 0x2389
mov dword [0x4190f4], 0x419178
call fcn.00413c56
call fcn.004087ed
mov eax, dword [0x419174]
cmp eax, esi
jne 0x407537
mov edi, 0x8007000e
jmp 0x407625
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [0x419174]
push 0x238a
mov dword [0x419118], eax
call fcn.00413c56
push 0x238b
call fcn.00413c56
lea eax, [ebp - 0x21c]
lea edi, [ebp - 0x218]
call fcn.004095bb
push 0x403f1c
mov ecx, edi
mov dword [ebp - 0x210], esi
call fcn.00409578
push dword [ebp - 0x218]
lea eax, [ebp - 0x210]
call fcn.004070b6
mov edi, eax
cmp edi, esi
jl 0x4075c2
mov esi, 0x403f30
push esi
lea edi, [ebp - 0x230]
lea eax, [ebp - 0x210]
call fcn.0040711c
mov edi, eax
test edi, edi
jge 0x4075c2
push 2
push esi
lea eax, [ebp - 0x210]
call fcn.0040718a
xor edi, edi
lea esi, [ebp - 0x210]
call fcn.00407090
push dword [ebp - 0x218]
call dword [fcn.00401324]
push 0x23b6
call fcn.00413c56
push dword [0x4190d4]
call fcn.0040fdf9
push 0x23b7
call fcn.00413c56
lea edx, [ebp - 0x224]
mov ecx, 0x419058
call fcn.0040ce50
xor esi, esi
test eax, eax
jne 0x40761d
mov edi, 0x80004005
mov dword [ebp - 0x214], 0xbeb
cmp edi, esi
jge 0x4076b7
cmp dword [0x4190d4], 0
jne 0x407638
mov dword [0x4190d4], 0x403e70
call fcn.0040837e
test eax, eax
jl 0x4076a2
mov ebx, dword [ebp - 0x220]
test ebx, ebx
je 0x407658
push dword [0x418b0c]
call fcn.0040d330
jmp 0x4076b7
cmp dword [ebp - 0x214], 0
jne 0x40768f
cmp edi, 0x8007000e
je 0x407685
xor eax, eax
cmp edi, 0x80070057
sete al
dec eax
and eax, 3
add eax, 0xbeb
mov dword [ebp - 0x214], eax
jmp 0x40768f
mov dword [ebp - 0x214], 0xbed
push dword [ebp - 0x214]
mov esi, dword [0x418b0c]
push 0xbb8
jmp 0x4076b2
mov esi, dword [0x418b08]
push 0x19e7
push 0x19e6
call fcn.0040d05f
call fcn.004071dd
mov eax, dword [0x419170]
xor edi, edi
mov esi, eax
cmp eax, edi
je 0x4076d9
mov esi, dword [esi + 8]
push eax
call fcn.0041232a
pop ecx
mov eax, esi
cmp esi, edi
jne 0x4076c9
mov eax, dword [0x41907c]
mov ebx, dword [0x41905c]
mov dword [0x419170], edi
cmp eax, edi
je 0x407700
mov esi, eax
mov esi, dword [esi + 0x18]
push eax
call fcn.0041232a
pop ecx
mov eax, esi
cmp esi, edi
jne 0x4076f0
mov eax, dword [0x419070]
cmp eax, edi
je 0x407719
mov esi, dword [eax + 0x14]
push eax
call fcn.0041232a
pop ecx
mov eax, esi
cmp esi, edi
jne 0x407709
mov eax, dword [0x419078]
cmp eax, edi
je 0x407729
push eax
call fcn.0041232a
pop ecx
push 0x100
push edi
push 0x419058
call fcn.004158b4
mov eax, dword [0x419174]
add esp, 0xc
cmp eax, edi
je 0x40774b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [0x4013ac]
cmp ebx, edi
je 0x407771
push 0x405bb8
push ebx
call dword [fcn.004011c8]
cmp eax, edi
jne 0x40776d
call dword [fcn.00401098]
jmp 0x407771
push edi
call eax
pop ecx
call fcn.0040e4bd
push dword [ebp - 0x21c]
call dword [fcn.00401324]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x224]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00412315
leave
ret 8