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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x43c82c
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.00444e50
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 0x43c40e
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 0x43c48c
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.0044c9e0
mov eax, dword [esp]
lea ecx, [0x526050]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00443a90
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 0x43c4f0
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.00443b30
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.00443b00
movzx eax, byte [esp + 4]
test al, al
jne 0x43c3ee
mov eax, dword [0x527500]
test eax, eax
jne 0x43c7e8
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00443b70
mov ecx, dword [0x525fb4]
mov eax, dword [0x525fb0]
mov edx, dword [esp + 4]
cmp ecx, edx
jbe 0x43c824
mov eax, dword [eax + edx*4]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x43c576
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 0x43c4b9
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x2c]
cmp edx, 3
je 0x43c587
xor ebx, ebx
jmp 0x43c5d0
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00443b70
mov eax, dword [0x526000]
mov ecx, dword [0x526004]
mov edx, dword [0x526008]
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.00442900
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 0x43c5ee
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
movzx eax, byte [esp + 0x22]
jmp 0x43c6df
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.0043d430
mov eax, dword [esp + 0x18]
test eax, eax
setne cl
mov edx, dword [esp + 0x14]
test edx, edx
setne bl
movzx ebp, byte [esp + 0x1c]
or ecx, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0xc]
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x18]
test cl, cl
je 0x43c690
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov ecx, dword [esp + 0x38]
test ecx, ecx
sete bl
mov esi, dword [esp + 0x3c]
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
jne 0x43c674
cmp esi, edx
seta bl
cmp ecx, eax
sete al
xchg ebp, ebx
setg bl
xchg ebp, ebx
and ebx, eax
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x43c683
mov ebx, dword [esp + 0x28]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0x24]
jmp 0x43c698
mov ebx, dword [esp + 0x28]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x43c6a5
movzx eax, byte [esp + 0x22]
jmp 0x43c6df
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.00443180
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 8]
test eax, eax
jne 0x43c7ad
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov eax, 1
mov byte [esp + 0x22], al
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
lea ecx, [esp + 0x48]
mov dword [esp], ecx
call fcn.00443b70
mov eax, dword [0x525fe0]
mov ecx, dword [0x525fe4]
mov edx, dword [0x525fe8]
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.00442900
movzx eax, byte [esp + 0x10]
test al, al
jne 0x43c757
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.00443550
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x43c771
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 0x43c4b9
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
mov eax, edx
call fcn.0045d970
nop
call fcn.0045c4a0
jmp fcn.0043c3a0