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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
and dword [ebp - 8], 0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push dword [esi + 8]
call fcn.00418b91
push eax
push dword [ebp + 0x18]
push dword [esi + 0x50]
push 0x20000172
push 3
call fcn.0040887e
add esp, 0x14
test byte [ebp + 0x18], 1
je 0x40dfb3
push dword [ebp + 8]
mov eax, dword [ebp + 0x14]
add eax, 4
push eax
push dword [esi + 0x10]
push dword [esi + 0x48]
push dword [esi]
call fcn.00420afb
mov ebx, eax
test ebx, ebx
jns 0x40dfb3
push dword [ebp + 8]
push 0x43e2c0
push ebx
call fcn.00436d9e
add esp, 0xc
jmp 0x40e489
lea eax, [ebp - 4]
push eax
push 0x20006
push dword [esi + 0x50]
push dword [esi + 0x4c]
call 0x43a9e3
mov ebx, eax
test ebx, ebx
jns 0x40dfdf
push 0x43e29c
push ebx
call fcn.00436d9e
pop ecx
pop ecx
jmp 0x40e489
test byte [ebp + 0x18], 2
push edi
je 0x40e3fe
push dword [esi + 0x54]
mov edi, 0x43ccc8
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
push dword [esi + 0x24]
mov edi, 0x43cc40
push dword [esi + 0x20]
push edi
push dword [ebp - 4]
call 0x43af02
mov ebx, eax
test ebx, ebx
js 0x40e43e
push dword [esi + 0x2c]
mov edi, 0x43cca8
push dword [esi + 0x28]
push edi
push dword [ebp - 4]
call 0x43af02
mov ebx, eax
test ebx, ebx
js 0x40e43e
push dword [esi + 0x1c]
mov edi, 0x43cc84
push dword [esi + 0x18]
push edi
push dword [ebp - 4]
call 0x43af02
mov ebx, eax
test ebx, ebx
js 0x40e43e
push dword [esi + 0x34]
mov edi, 0x43cc64
push dword [esi + 0x30]
push edi
push dword [ebp - 4]
call 0x43af02
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 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 0x43e27c
mov edi, 0x43cc0c
push edi
push dword [ebp - 4]
shr edx, 0x10
call 0x43aec0
mov ebx, eax
add esp, 0x1c
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x44]
test eax, eax
je 0x40e0df
push eax
mov edi, 0x43cbcc
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x14]
test eax, eax
je 0x40e0ff
push eax
mov edi, 0x43cbb8
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
push 0x43abcc
push 0x43e274
mov edi, 0x43cbf0
push edi
push dword [ebp - 4]
call 0x43aec0
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x40e43e
push dword [esi + 0x54]
mov edi, 0x43cfcc
push 0x43e268
push edi
push dword [ebp - 4]
call 0x43aec0
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x40e43e
lea eax, [ebp - 8]
push eax
push dword [ebp + 0x10]
mov ebx, esi
call fcn.0040ce72
test eax, eax
mov eax, dword [ebp - 8]
jns 0x40e15f
mov eax, dword [esi + 0x60]
push eax
mov edi, 0x43cc28
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x64]
test eax, eax
je 0x40e198
push eax
mov edi, 0x43cfac
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x68]
test eax, eax
je 0x40e1b8
push eax
mov edi, 0x43cf7c
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x40e1d8
push eax
mov edi, 0x43cf68
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x70]
test eax, eax
je 0x40e1f8
push eax
mov edi, 0x43cf4c
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x74]
test eax, eax
je 0x40e218
push eax
mov edi, 0x43cf30
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x78]
test eax, eax
je 0x40e238
push eax
mov edi, 0x43cf14
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40e273
push eax
mov edi, 0x43cef0
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
push dword [esi + 0x7c]
mov edi, 0x43ced4
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x80]
test eax, eax
je 0x40e296
push eax
mov edi, 0x43cec0
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x84]
test eax, eax
je 0x40e2b9
push eax
mov edi, 0x43ceb0
push edi
push dword [ebp - 4]
call 0x43ae1a
mov ebx, eax
test ebx, ebx
js 0x40e43e
mov eax, dword [esi + 0x88]
cmp eax, 1
jne 0x40e3a9
mov edi, 0x43ce9c
push 1
push edi
push dword [ebp - 4]
call 0x43a942
mov ebx, eax
test ebx, ebx
js 0x40e43e
cmp dword [esi + 0x8c], 0
je 0x40e309
push dword [esi + 0x90]
mov edi, 0x43ce4c
push edi
push dword [ebp - 4]
call 0x43a942
mov ebx, eax
test ebx, ebx
js 0x40e43e
cmp dword [esi + 4], 0
jne 0x40e329
push 1
mov edi, 0x43ce2c
push edi
push dword [ebp - 4]
call 0x43a942
mov ebx, eax
test ebx, ebx
js 0x40e43e
push dword [esi + 0x54]
mov edi, 0x43ce00
push 0x43e238
push edi
push dword [ebp - 4]
call 0x43aec0
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x40e43e
cmp dword [esi + 0x88], 2
mov eax, 0x43e228
je 0x40e35f
mov eax, 0x43e210
push eax
push dword [esi + 0x54]
mov edi, 0x43cde0
push 0x43e1fc
push edi
push dword [ebp - 4]
call 0x43aec0
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x40e43e
cmp dword [esi + 0x98], 0
je 0x40e3db
push dword [esi]
lea ebx, [esi + 0x94]
call fcn.0040d1d7
mov ebx, eax
test ebx, ebx
jns 0x40e3db
push 0x43e1dc
jmp 0x40e480
cmp eax, 2
je 0x40e2e2
push dword [esi + 0x54]
mov edi, 0x43ce84
push 0x43e1c0
push edi
push dword [ebp - 4]
call 0x43aec0
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x40e43e
mov edi, 0x43ce60
jmp 0x40e2cd
cmp dword [esi + 0x9c], 0
je 0x40e3fe
push dword [ebp + 0x10]
mov eax, esi
call fcn.0040ddbd
mov ebx, eax
test ebx, ebx
jns 0x40e3fe
push 0x43e198
jmp 0x40e480
test byte [ebp + 0x18], 4
je 0x40e44f
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
shrd ecx, eax, 0xa
shr eax, 0xa
test eax, eax
jb 0x40e44f
ja 0x40e426
test ecx, ecx
je 0x40e44f
test eax, eax
jb 0x40e429
ja 0x40e426
cmp ecx, 0xffffffff
jbe 0x40e429
or ecx, 0xffffffff
push ecx
mov edi, 0x43cf90
push edi
push dword [ebp - 4]
call 0x43a942
mov ebx, eax
test ebx, ebx
jns 0x40e44f
push edi
push 0x43d830
push ebx
call fcn.00436d9e
add esp, 0xc
jmp 0x40e488
cmp dword [ebp + 0x1c], 1
jne 0x40e468
push esi
call fcn.00426aa2
mov ebx, eax
test ebx, ebx
jns 0x40e468
push 0x43e168
jmp 0x40e480
push 0
push dword [ebp - 4]
xor eax, eax
inc eax
call fcn.0040dbab
mov ebx, eax
test ebx, ebx
jns 0x40e488
push 0x43e148
push ebx
call fcn.00436d9e
pop ecx
pop ecx
pop edi
cmp dword [ebp - 8], 0
je 0x40e497
push dword [ebp - 8]
call fcn.00437500
cmp dword [ebp - 4], 0
je 0x40e4a6
push dword [ebp - 4]
call dword [0x43a010]
pop esi
mov eax, ebx
pop ebx
leave
ret 0x20