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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x441169
sub esp, 0x60
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x58]
mov dword [esp], eax
call fcn.00449a00
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 0x440d4e
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 0x440dc8
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
cmp ecx, 3
sete al
mov byte [esp + 0x21], al
call fcn.004519b0
mov eax, dword [esp]
lea ecx, [0x5df380]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00448550
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 + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x22]
jmp 0x440e2c
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.00448600
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [esp + 0x22]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
lea esi, [esp + 0x48]
mov dword [esp], esi
call fcn.004485d0
movzx eax, byte [esp + 4]
test al, al
jne 0x440d2e
lea eax, [0x5dfc14]
mov dword [esp], eax
call fcn.00402270
movzx eax, byte [esp + 4]
test al, al
jne 0x44112d
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00448640
mov eax, dword [0x5df2d0]
mov ecx, dword [esp + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x440eb1
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 0x440df5
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x2c]
cmp edx, 3
je 0x440ec2
xor ebx, ebx
jmp 0x440f0b
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00448640
mov eax, dword [0x5df330]
mov ecx, dword [0x5df334]
mov edx, dword [0x5df338]
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.00447200
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 0x440f29
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x22]
jmp 0x441024
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.00441c50
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 + 0xc]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x18]
test bl, bl
je 0x440fd5
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov ebx, dword [esp + 0x38]
test ebx, ebx
sete cl
mov esi, dword [esp + 0x3c]
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ecx, ebp
test cl, cl
jne 0x440fb1
cmp ebx, edx
setg cl
cmp esi, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp ebx, edx
sete dl
and ebp, edx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x440fc2
mov ecx, dword [esp + 0x24]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0x28]
mov ebx, edi
jmp 0x440fdd
mov ecx, dword [esp + 0x24]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
jmp 0x440fdd
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x440fea
movzx edx, byte [esp + 0x22]
jmp 0x441024
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.00447be0
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 8]
test eax, eax
jne 0x4410f2
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov edx, 1
mov byte [esp + 0x22], dl
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], esi
lea ebp, [esp + 0x48]
mov dword [esp], ebp
call fcn.00448640
mov eax, dword [0x5df310]
mov ecx, dword [0x5df314]
mov edx, dword [0x5df318]
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.00447200
movzx eax, byte [esp + 0x10]
test al, al
jne 0x44109c
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.00447fc0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4410b6
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 0x440df5
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.00463e70
jmp fcn.00440ce0