Function at 0x4124a6
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
xor ebx, ebx
and dword [ebp - 4], ebx
and dword [ebp - 8], ebx
cmp eax, dword [ebp + 0x24]
jne 0x4129f9
cmp dword [ebp + 0x18], 4
jne 0x4124fe
push dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
add ecx, 4
push ecx
push dword [edi + 0xc]
push dword [edi + 0x44]
push eax
call fcn.00422bea
mov ebx, eax
test ebx, ebx
jns 0x4124fe
push dword [ebp + 8]
push 0x43f5dc
push ebx
call fcn.004315b6
add esp, 0xc
jmp 0x4129dc
lea eax, [ebp - 4]
push eax
push 0x20006
push dword [edi + 0x4c]
push dword [edi + 0x48]
call fcn.00432720
mov ebx, eax
test ebx, ebx
jns 0x41252a
push 0x43f5b8
push ebx
call fcn.004315b6
pop ecx
pop ecx
jmp 0x4129dc
cmp dword [ebp + 0x18], 4
push esi
je 0x41253b
cmp dword [ebp + 0x18], 6
jne 0x41294c
push dword [edi + 0x50]
mov esi, 0x402c6c
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
push dword [edi + 0x20]
mov esi, 0x402c48
push dword [edi + 0x1c]
push esi
push dword [ebp - 4]
call fcn.00432e8a
mov ebx, eax
test ebx, ebx
js 0x41298c
push dword [edi + 0x28]
mov esi, 0x402c28
push dword [edi + 0x24]
push esi
push dword [ebp - 4]
call fcn.00432e8a
mov ebx, eax
test ebx, ebx
js 0x41298c
push dword [edi + 0x18]
mov esi, 0x402c04
push dword [edi + 0x14]
push esi
push dword [ebp - 4]
call fcn.00432e8a
mov ebx, eax
test ebx, ebx
js 0x41298c
push dword [edi + 0x30]
mov esi, 0x402be4
push dword [edi + 0x2c]
push esi
push dword [ebp - 4]
call fcn.00432e8a
mov ebx, eax
test ebx, ebx
js 0x41298c
mov ecx, dword [edi + 0x38]
mov eax, dword [edi + 0x3c]
movzx edx, cx
push edx
mov edx, eax
shrd ecx, edx, 0x10
movzx ecx, cx
push ecx
movzx ecx, ax
push ecx
mov dword [ebp - 0xc], eax
shr eax, 0x10
push eax
push 0x43f598
mov esi, 0x402b90
push esi
push dword [ebp - 4]
shr edx, 0x10
call fcn.00432e46
mov ebx, eax
add esp, 0x1c
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x40]
test eax, eax
je 0x412630
push eax
mov esi, 0x402bc0
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x10]
test eax, eax
je 0x412650
push eax
mov esi, 0x402bac
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
push 0x43bfac
push 0x43f590
mov esi, 0x402b74
push esi
push dword [ebp - 4]
call fcn.00432e46
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x41298c
push dword [edi + 0x50]
mov esi, 0x402b48
push 0x43f586
push esi
push dword [ebp - 4]
call fcn.00432e46
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x41298c
lea eax, [ebp - 8]
push eax
push dword [ebp + 0x10]
mov ebx, edi
call fcn.004106dc
test eax, eax
mov eax, dword [ebp - 8]
jns 0x4126b0
mov eax, dword [edi + 0x5c]
push eax
mov esi, 0x402b30
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x60]
test eax, eax
je 0x4126e9
push eax
mov esi, 0x402b10
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x64]
test eax, eax
je 0x412709
push eax
mov esi, 0x402ae0
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x68]
test eax, eax
je 0x412729
push eax
mov esi, 0x402acc
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x412749
push eax
mov esi, 0x402ab0
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x70]
test eax, eax
je 0x412769
push eax
mov esi, 0x402a94
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x74]
test eax, eax
je 0x412789
push eax
mov esi, 0x402a78
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x78]
test eax, eax
je 0x4127c4
push eax
mov esi, 0x402a54
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
push dword [edi + 0x78]
mov esi, 0x402a38
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x4127e4
push eax
mov esi, 0x402a24
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x80]
test eax, eax
je 0x412807
push eax
mov esi, 0x402a14
push esi
push dword [ebp - 4]
call fcn.00432d9e
mov ebx, eax
test ebx, ebx
js 0x41298c
mov eax, dword [edi + 0x84]
cmp eax, 1
jne 0x4128f7
mov esi, 0x402a00
push 1
push esi
push dword [ebp - 4]
call fcn.0043267c
mov ebx, eax
test ebx, ebx
js 0x41298c
cmp dword [edi + 0x88], 0
je 0x412857
push dword [edi + 0x8c]
mov esi, 0x4029b0
push esi
push dword [ebp - 4]
call fcn.0043267c
mov ebx, eax
test ebx, ebx
js 0x41298c
cmp dword [edi + 4], 0
jne 0x412877
push 1
mov esi, 0x402990
push esi
push dword [ebp - 4]
call fcn.0043267c
mov ebx, eax
test ebx, ebx
js 0x41298c
push dword [edi + 0x50]
mov esi, 0x402964
push 0x43f556
push esi
push dword [ebp - 4]
call fcn.00432e46
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x41298c
cmp dword [edi + 0x84], 2
mov eax, 0x43f546
je 0x4128ad
mov eax, 0x43f52e
push eax
push dword [edi + 0x50]
mov esi, 0x402944
push 0x43f51a
push esi
push dword [ebp - 4]
call fcn.00432e46
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x41298c
cmp dword [edi + 0x94], 0
je 0x412929
push dword [edi]
lea ebx, [edi + 0x90]
call fcn.0041153e
mov ebx, eax
test ebx, ebx
jns 0x412929
push 0x43f4fa
jmp 0x4129d3
cmp eax, 2
je 0x412830
push dword [edi + 0x50]
mov esi, 0x4029e8
push 0x43f4de
push esi
push dword [ebp - 4]
call fcn.00432e46
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x41298c
mov esi, 0x4029c4
jmp 0x41281b
cmp dword [edi + 0x98], 0
je 0x41294c
push dword [ebp + 0x10]
mov eax, edi
call fcn.004122a4
mov ebx, eax
test ebx, ebx
jns 0x41294c
push 0x43f4b8
jmp 0x4129d3
cmp dword [ebp + 0x18], 3
je 0x41299d
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
shrd ecx, eax, 0xa
shr eax, 0xa
test eax, eax
jb 0x41299d
ja 0x412974
test ecx, ecx
je 0x41299d
test eax, eax
jb 0x412977
ja 0x412974
cmp ecx, 0xffffffff
jbe 0x412977
or ecx, 0xffffffff
push ecx
mov esi, 0x402af4
push esi
push dword [ebp - 4]
call fcn.0043267c
mov ebx, eax
test ebx, ebx
jns 0x41299d
push esi
push 0x43ea8c
push ebx
call fcn.004315b6
add esp, 0xc
jmp 0x4129db
cmp dword [ebp + 0x18], 4
je 0x4129a9
cmp dword [ebp + 0x18], 6
jne 0x4129bc
push edi
call fcn.00428132
mov ebx, eax
test ebx, ebx
jns 0x4129bc
push 0x43f48a
jmp 0x4129d3
push 0
push 1
push dword [ebp - 4]
call fcn.00410742
mov ebx, eax
test ebx, ebx
jns 0x4129db
push 0x43f134
push ebx
call fcn.004315b6
pop ecx
pop ecx
pop esi
cmp dword [ebp - 8], 0
je 0x4129ea
push dword [ebp - 8]
call fcn.0042ecb2
cmp dword [ebp - 4], 0
je 0x4129f9
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, ebx
pop ebx
leave
ret 0x20