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 0x43f286
push ebx
call fcn.004314ba
add esp, 0xc
jmp 0x4129d2
lea eax, [ebp - 4]
push eax
push 0x20006
push dword [edi + 0x4c]
push dword [edi + 0x48]
call fcn.004325f8
mov ebx, eax
test ebx, ebx
jns 0x412520
push 0x43f262
push ebx
call fcn.004314ba
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.00432c76
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.00432d62
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.00432d62
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.00432d62
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.00432d62
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 0x43f242
mov esi, 0x402b70
push esi
push dword [ebp - 4]
shr edx, 0x10
call fcn.00432d1e
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.00432c76
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.00432c76
mov ebx, eax
test ebx, ebx
js 0x412982
push 0x43bc4a
push 0x43f23a
mov esi, 0x402b54
push esi
push dword [ebp - 4]
call fcn.00432d1e
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x412982
push dword [edi + 0x50]
mov esi, 0x402b28
push 0x43f230
push esi
push dword [ebp - 4]
call fcn.00432d1e
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.00432c76
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.00432c76
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.00432c76
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.00432c76
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.00432c76
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.00432c76
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.00432c76
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.00432c76
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x78]
mov esi, 0x402a18
push esi
push dword [ebp - 4]
call fcn.00432c76
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.00432c76
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.00432c76
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.00432554
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.00432554
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.00432554
mov ebx, eax
test ebx, ebx
js 0x412982
push dword [edi + 0x50]
mov esi, 0x402944
push 0x43f200
push esi
push dword [ebp - 4]
call fcn.00432d1e
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x412982
cmp dword [edi + 0x84], 2
mov eax, 0x43f1f0
je 0x4128a3
mov eax, 0x43f1d8
push eax
push dword [edi + 0x50]
mov esi, 0x402924
push 0x43f1c4
push esi
push dword [ebp - 4]
call fcn.00432d1e
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 0x43f1a4
jmp 0x4129c9
cmp eax, 2
je 0x412826
push dword [edi + 0x50]
mov esi, 0x4029c8
push 0x43f188
push esi
push dword [ebp - 4]
call fcn.00432d1e
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 0x43f162
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.00432554
mov ebx, eax
test ebx, ebx
jns 0x412993
push esi
push 0x43e736
push ebx
call fcn.004314ba
add esp, 0xc
jmp 0x4129d1
cmp dword [ebp + 0x18], 4
je 0x41299f
cmp dword [ebp + 0x18], 6
jne 0x4129b2
push edi
call fcn.00427f54
mov ebx, eax
test ebx, ebx
jns 0x4129b2
push 0x43f134
jmp 0x4129c9
push 0
push 1
push dword [ebp - 4]
call fcn.00410728
mov ebx, eax
test ebx, ebx
jns 0x4129d1
push 0x43edde
push ebx
call fcn.004314ba
pop ecx
pop ecx
pop esi
cmp dword [ebp - 8], 0
je 0x4129e0
push dword [ebp - 8]
call fcn.0042ead8
cmp dword [ebp - 4], 0
je 0x4129ef
push dword [ebp - 4]
call dword [0x40108c]
pop edi
mov eax, ebx
pop ebx
leave
ret 0x20