Function at 0x41249c
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 0x4129ef
cmp dword [ebp + 0x18], 4
jne 0x4124f4
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.004229a8
mov ebx, eax
test ebx, ebx
jns 0x4124f4
push dword [ebp + 8]
push 0x43f226
push ebx
call fcn.00431454
add esp, 0xc
jmp 0x4129d2
lea eax, [ebp - 4]
push eax
push 0x20006
push dword [edi + 0x4c]
push dword [edi + 0x48]
call fcn.00432592
mov ebx, eax
test ebx, ebx
jns 0x412520
push 0x43f202
push ebx
call fcn.00431454
pop ecx
pop ecx
jmp 0x4129d2
cmp dword [ebp + 0x18], 4
push esi
je 0x412531
cmp dword [ebp + 0x18], 6
jne 0x412942
push dword [edi + 0x50]
mov esi, 0x402c4c
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x20]
mov esi, 0x402c28
push dword [edi + 0x1c]
push esi
push dword [ebp - 4]
call fcn.00432cfc
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x28]
mov esi, 0x402c08
push dword [edi + 0x24]
push esi
push dword [ebp - 4]
call fcn.00432cfc
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x18]
mov esi, 0x402be4
push dword [edi + 0x14]
push esi
push dword [ebp - 4]
call fcn.00432cfc
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x30]
mov esi, 0x402bc4
push dword [edi + 0x2c]
push esi
push dword [ebp - 4]
call fcn.00432cfc
mov ebx, eax
test ebx, ebx
js 0x412982
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 0x43f1e2
mov esi, 0x402b70
push esi
push dword [ebp - 4]
shr edx, 0x10
call fcn.00432cb8
mov ebx, eax
add esp, 0x1c
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x40]
test eax, eax
je 0x412626
push eax
mov esi, 0x402ba0
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x10]
test eax, eax
je 0x412646
push eax
mov esi, 0x402b8c
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
push 0x43bbea
push 0x43f1da
mov esi, 0x402b54
push esi
push dword [ebp - 4]
call fcn.00432cb8
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x412982
push dword [edi + 0x50]
mov esi, 0x402b28
push 0x43f1d0
push esi
push dword [ebp - 4]
call fcn.00432cb8
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x412982
lea eax, [ebp - 8]
push eax
push dword [ebp + 0x10]
mov ebx, edi
call fcn.004106c2
test eax, eax
mov eax, dword [ebp - 8]
jns 0x4126a6
mov eax, dword [edi + 0x5c]
push eax
mov esi, 0x402b10
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x60]
test eax, eax
je 0x4126df
push eax
mov esi, 0x402af0
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4126ff
push eax
mov esi, 0x402ac0
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x68]
test eax, eax
je 0x41271f
push eax
mov esi, 0x402aac
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41273f
push eax
mov esi, 0x402a90
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x70]
test eax, eax
je 0x41275f
push eax
mov esi, 0x402a74
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x74]
test eax, eax
je 0x41277f
push eax
mov esi, 0x402a58
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x78]
test eax, eax
je 0x4127ba
push eax
mov esi, 0x402a34
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x78]
mov esi, 0x402a18
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x4127da
push eax
mov esi, 0x402a04
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x80]
test eax, eax
je 0x4127fd
push eax
mov esi, 0x4029f4
push esi
push dword [ebp - 4]
call fcn.00432c10
mov ebx, eax
test ebx, ebx
js 0x412982
mov eax, dword [edi + 0x84]
cmp eax, 1
jne 0x4128ed
mov esi, 0x4029e0
push 1
push esi
push dword [ebp - 4]
call fcn.004324ee
mov ebx, eax
test ebx, ebx
js 0x412982
cmp dword [edi + 0x88], 0
je 0x41284d
push dword [edi + 0x8c]
mov esi, 0x402990
push esi
push dword [ebp - 4]
call fcn.004324ee
mov ebx, eax
test ebx, ebx
js 0x412982
cmp dword [edi + 4], 0
jne 0x41286d
push 1
mov esi, 0x402970
push esi
push dword [ebp - 4]
call fcn.004324ee
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x50]
mov esi, 0x402944
push 0x43f1a0
push esi
push dword [ebp - 4]
call fcn.00432cb8
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x412982
cmp dword [edi + 0x84], 2
mov eax, 0x43f190
je 0x4128a3
mov eax, 0x43f178
push eax
push dword [edi + 0x50]
mov esi, 0x402924
push 0x43f164
push esi
push dword [ebp - 4]
call fcn.00432cb8
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x412982
cmp dword [edi + 0x94], 0
je 0x41291f
push dword [edi]
lea ebx, [edi + 0x90]
call fcn.00411534
mov ebx, eax
test ebx, ebx
jns 0x41291f
push 0x43f144
jmp 0x4129c9
cmp eax, 2
je 0x412826
push dword [edi + 0x50]
mov esi, 0x4029c8
push 0x43f128
push esi
push dword [ebp - 4]
call fcn.00432cb8
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x412982
mov esi, 0x4029a4
jmp 0x412811
cmp dword [edi + 0x98], 0
je 0x412942
push dword [ebp + 0x10]
mov eax, edi
call fcn.0041229a
mov ebx, eax
test ebx, ebx
jns 0x412942
push 0x43f102
jmp 0x4129c9
cmp dword [ebp + 0x18], 3
je 0x412993
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
shrd ecx, eax, 0xa
shr eax, 0xa
test eax, eax
jb 0x412993
ja 0x41296a
test ecx, ecx
je 0x412993
test eax, eax
jb 0x41296d
ja 0x41296a
cmp ecx, 0xffffffff
jbe 0x41296d
or ecx, 0xffffffff
push ecx
mov esi, 0x402ad4
push esi
push dword [ebp - 4]
call fcn.004324ee
mov ebx, eax
test ebx, ebx
jns 0x412993
push esi
push fcn.0043e6d6
push ebx
call fcn.00431454
add esp, 0xc
jmp 0x4129d1
cmp dword [ebp + 0x18], 4
je 0x41299f
cmp dword [ebp + 0x18], 6
jne 0x4129b2
push edi
call fcn.00427ef0
mov ebx, eax
test ebx, ebx
jns 0x4129b2
push 0x43f0d4
jmp 0x4129c9
push 0
push 1
push dword [ebp - 4]
call fcn.00410728
mov ebx, eax
test ebx, ebx
jns 0x4129d1
push 0x43ed7e
push ebx
call fcn.00431454
pop ecx
pop ecx
pop esi
cmp dword [ebp - 8], 0
je 0x4129e0
push dword [ebp - 8]
call fcn.0042ea70
cmp dword [ebp - 4], 0
je 0x4129ef
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, ebx
pop ebx
leave
ret 0x20