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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4403e8
sub esp, 0x60
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x54]
mov dword [esp], eax
call fcn.00448b50
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x68]
xor ebp, ebp
mov esi, dword [esp + 0x64]
xor edi, edi
jmp 0x43ffde
mov eax, dword [esp + 0x2c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
movzx edi, byte [esp + 0x22]
cmp ecx, 4
jge 0x44005c
mov dword [esp + 0x44], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
xchg edi, eax
mov byte [esp + 0x22], al
xchg edi, eax
call fcn.004526c0
mov eax, dword [esp]
lea ecx, [0x6efca0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004476c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x2c]
cmp eax, 3
sete cl
mov byte [esp + 0x21], cl
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
movzx edi, byte [esp + 0x22]
jmp 0x4400c0
mov dword [esp + 0x6c], 0
mov byte [esp + 0x70], 0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], ebp
xchg edi, eax
mov byte [esp + 0x84], al
xchg edi, eax
add esp, 0x60
ret
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov dword [esp + 0x3c], ebp
lea ecx, [esp + 0x48]
mov dword [esp], ecx
call fcn.00447760
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
movzx edi, byte [esp + 0x22]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebp
xchg edi, eax
mov byte [esp + 0x22], al
xchg edi, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], edx
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00447730
movzx eax, byte [esp + 4]
test al, al
jne 0x43ffbe
mov eax, dword [0x6f23b0]
test eax, eax
jne 0x4403ac
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.004477a0
mov eax, dword [0x6efbf8]
mov ecx, dword [esp + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x440138
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
movzx esi, byte [esp + 0x22]
jmp 0x440089
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x2c]
cmp edx, 3
je 0x440149
xor ebx, ebx
jmp 0x440192
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.004477a0
mov eax, dword [0x6efc48]
mov ecx, dword [0x6efc4c]
mov edx, dword [0x6efc50]
mov ebx, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00446520
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [esp + 0x5c]
test bl, bl
jne 0x4401b0
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
movzx edx, byte [esp + 0x22]
jmp 0x4402a3
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
call fcn.00441040
mov eax, dword [esp + 0x14]
test eax, eax
setne cl
mov edx, dword [esp + 0x18]
test edx, edx
setne bl
movzx ebp, byte [esp + 0x1c]
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0xc]
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x18]
test bl, bl
je 0x440254
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov ebx, dword [esp + 0x3c]
test ebx, ebx
sete cl
mov esi, dword [esp + 0x38]
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x440238
cmp esi, edx
sete cl
cmp ebx, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp esi, edx
setg dl
and ebp, ecx
or edx, ebp
test dl, dl
je 0x440247
mov ecx, dword [esp + 0x28]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0x24]
jmp 0x44025c
mov ecx, dword [esp + 0x28]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x440269
movzx edx, byte [esp + 0x22]
jmp 0x4402a3
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.00446d50
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 8]
test eax, eax
jne 0x440371
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov edx, 1
mov byte [esp + 0x22], dl
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ecx
lea ebx, [esp + 0x48]
mov dword [esp], ebx
call fcn.004477a0
mov eax, dword [0x6efc28]
mov ecx, dword [0x6efc2c]
mov edx, dword [0x6efc30]
mov ebx, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00446520
movzx eax, byte [esp + 0x10]
test al, al
jne 0x44031b
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0x21]
mov byte [esp + 8], cl
call fcn.00447130
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x440335
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x22]
jmp 0x440089
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0x84], al
add esp, 0x60
ret
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], cl
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7c], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0x84], al
add esp, 0x60
ret
mov dword [esp + 0x6c], 0
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
mov byte [esp + 0x84], 1
add esp, 0x60
ret
call fcn.00463a70
jmp fcn.0043ff70