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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4454a1
sub esp, 0x60
mov eax, dword [0x5efcb0]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x58]
mov dword [esp], eax
call fcn.0044fb00
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 0x44507a
mov eax, dword [esp + 0x2c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
movzx edi, byte [esp + 0x22]
cmp ecx, 4
jge 0x4450de
mov dword [esp + 0x2c], ecx
xchg edi, eax
mov byte [esp + 0x22], al
xchg edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], esi
call fcn.004709f0
mov eax, dword [esp]
lea ecx, [0x5cfa10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044cd70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
cmp ebp, 3
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov edi, 1
jmp 0x44514b
mov dword [esp + 0x6c], 0
mov byte [esp + 0x70], 0
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], edx
xchg edi, eax
mov byte [esp + 0x84], al
xchg edi, eax
add esp, 0x60
ret
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ebp
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov ebp, dword [esp + 0x2c]
movzx esi, byte [esp + 0x21]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50], ebx
mov ebx, eax
mov eax, edi
movzx edi, byte [esp + 0x23]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x445165
xor eax, eax
jmp 0x44517c
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.0044ce10
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x23], al
lea ecx, [esp + 0x30]
mov dword [esp], ecx
call fcn.0044cde0
movzx eax, byte [esp + 4]
test al, al
jne 0x44505a
lea eax, [0x5d2374]
mov dword [esp], eax
call fcn.0047a430
movzx eax, byte [esp + 4]
test al, al
jne 0x44545f
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.0044ce50
mov ecx, dword [0x5cf98c]
mov eax, dword [esp + 4]
cmp ecx, eax
jbe 0x44549b
mov ecx, dword [0x5cf988]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x4451fd
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
movzx esi, byte [esp + 0x22]
jmp 0x44510b
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x2c]
cmp edx, 3
je 0x44520e
xor ebx, ebx
jmp 0x445257
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.0044ce50
mov eax, dword [0x5cf9a8]
mov ecx, dword [0x5cf9ac]
mov edx, dword [0x5cf9b0]
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.0044bae0
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 0x445275
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
movzx edx, byte [esp + 0x22]
jmp 0x44534d
test byte [eax], al
lea ecx, [eax + 0x1198]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.0045ab50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
setne dl
test ecx, ecx
setne bl
or ebx, edx
test bl, bl
je 0x4452f0
mov edx, dword [esp + 0x50]
test edx, edx
sete bl
mov ebp, dword [esp + 0x54]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4452f8
cmp ebp, ecx
setg bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edx, eax
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, esi
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4452f8
mov ecx, ebp
mov eax, edx
jmp 0x4452f8
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
test dl, dl
jne 0x445310
movzx edx, byte [esp + 0x22]
jmp 0x44534d
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0044c470
mov eax, dword [esp + 4]
test eax, eax
jne 0x44541f
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov edx, 1
mov byte [esp + 0x22], dl
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebx
lea esi, [esp + 0x30]
mov dword [esp], esi
call fcn.0044ce50
mov eax, dword [0x5cf998]
mov ecx, dword [0x5cf99c]
mov edx, dword [0x5cf9a0]
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.0044bae0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4453c5
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.0044c840
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4453e3
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
movzx esi, byte [esp + 0x22]
jmp 0x44510b
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0x84], al
add esp, 0x60
ret
movzx ecx, byte [esp + 8]
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], cl
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x80], 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 + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x80], eax
mov byte [esp + 0x84], 1
add esp, 0x60
ret
call fcn.00475840
nop
call fcn.004743b0
jmp fcn.00445010