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

Disassembly:
mov ecx, dword [0x5e82a4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x43fc29
sub esp, 0x7c
mov ecx, dword [0x5e82a4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
xor eax, eax
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x43f7a9
lea ecx, [ebp + 1]
mov ebp, eax
mov eax, ecx
mov ecx, dword [esp + 0x78]
mov ecx, ebx
mov ebx, edx
mov edx, ecx
mov ecx, dword [esp + 0x78]
cmp eax, 4
jge 0x43f87a
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], edx
mov ecx, dword [0x5e82a4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx + 0x94]
mov dword [esp + 0x34], edx
mov ebx, dword [ecx + 0x98]
shl edx, 0x11
mov ebp, dword [esp + 0x34]
xor edx, ebp
mov ebp, ebx
xor ebx, edx
shr edx, 7
xor edx, ebx
mov ebx, ebp
shr ebp, 0x10
xor ebp, edx
mov dword [ecx + 0x94], ebx
mov dword [ecx + 0x98], ebp
mov ecx, dword [0x5c3080]
lea edx, [ebp + ebx]
test ecx, ecx
je 0x43fc23
mov dword [esp + 0x28], edx
mov ebx, dword [0x5c3088]
mov ebp, eax
mov eax, edx
xor edx, edx
div ecx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x28]
xor edx, edx
div ecx
test ebx, ebx
je 0x43fc1e
mov dword [esp + 0x54], ebp
xor edx, edx
div ebx
mov eax, dword [0x5c3084]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
cmp ebp, 3
sete cl
mov byte [esp + 0x21], cl
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
jmp 0x43f8e1
mov dword [esp + 0x88], 0
mov byte [esp + 0x8c], 0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x90], edx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x98], esi
xchg edi, eax
mov byte [esp + 0xa0], al
xchg edi, eax
add esp, 0x7c
ret
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x6c]
add edx, dword [esp + 0x70]
mov eax, edx
xor edx, edx
div edi
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x60]
mov edx, ecx
mov edi, esi
movzx ecx, byte [esp + 0x21]
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x64]
cmp dword [esp + 0x68], ecx
je 0x43f794
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
xchg edi, eax
mov byte [esp + 0x22], al
xchg edi, eax
lea eax, [0x5c3d54]
mov dword [esp], eax
call fcn.004029d0
movzx eax, byte [esp + 4]
test al, al
jne 0x43fbc9
mov ecx, dword [0x5c2f64]
mov eax, dword [esp + 0x6c]
cmp eax, ecx
jae 0x43fc19
mov ecx, dword [0x5c2f60]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0x78]
cmp edx, ecx
jne 0x43f95d
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x50]
movzx esi, byte [esp + 0x22]
jmp 0x43fb1a
mov dword [esp + 0x74], ecx
mov ebx, dword [esp + 0x54]
cmp ebx, 3
je 0x43f96e
xor eax, eax
jmp 0x43f9a5
mov ecx, dword [0x5c2f80]
mov edx, dword [0x5c2f84]
mov ebx, dword [0x5c2f88]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004460a0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x54]
test al, al
jne 0x43f9c3
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x43fa95
mov dword [esp], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00440710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test ecx, ecx
setne dl
test eax, eax
setne bl
or edx, ebx
test dl, dl
je 0x43fa38
mov edx, dword [esp + 0x48]
test edx, edx
sete bl
mov ebp, dword [esp + 0x44]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x43fa2c
cmp ebp, ecx
setg cl
sete bl
cmp edx, eax
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, ebx
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x43fa32
mov ecx, dword [esp + 0x18]
jmp 0x43fa40
mov ecx, ebp
mov eax, edx
jmp 0x43fa40
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
test dl, dl
jne 0x43fa58
movzx edx, byte [esp + 0x22]
jmp 0x43fa95
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.00446a60
mov eax, dword [esp + 4]
test eax, eax
jne 0x43fb7a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov edx, 1
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x38], ebx
mov byte [esp + 0x23], dl
mov esi, dword [0x5c2f70]
mov edi, dword [0x5c2f74]
mov eax, dword [0x5c2f78]
mov ecx, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004460a0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x43fb01
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0x21]
mov byte [esp + 8], cl
call fcn.00446e30
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x43fb2f
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x38]
movzx esi, byte [esp + 0x23]
inc dword [esp + 0x64]
mov edi, dword [esp + 0x68]
test edi, edi
jne 0x43f8b6
jmp 0x43fc14
mov dword [esp + 0x88], eax
mov byte [esp + 0x8c], 0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x98], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0xa0], al
add esp, 0x7c
ret
movzx ecx, byte [esp + 8]
mov dword [esp + 0x88], eax
mov byte [esp + 0x8c], cl
mov eax, dword [esp + 0x30]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0xa0], al
add esp, 0x7c
ret
mov dword [esp + 0x88], 0
mov byte [esp + 0x8c], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x98], eax
mov byte [esp + 0xa0], 1
add esp, 0x7c
ret
call fcn.00435850
call fcn.00463650
call fcn.00435850
call fcn.00435850
nop
call fcn.004621e0
jmp fcn.0043f750