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

Disassembly:
mov ecx, dword [0x58f5c4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x447653
sub esp, 0x60
mov eax, dword [0x58f5c4]
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.004511f0
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 0x44724a
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 0x4472ae
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.0044fdf0
mov eax, dword [esp]
lea ecx, [0x54ff10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044f290
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 0x44731b
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 0x447335
xor eax, eax
jmp 0x44734c
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.0044f330
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x23], al
lea ecx, [esp + 0x30]
mov dword [esp], ecx
call fcn.0044f300
movzx eax, byte [esp + 4]
test al, al
jne 0x44722a
lea eax, [0x551a54]
mov dword [esp], eax
call fcn.00403750
movzx eax, byte [esp + 4]
test al, al
jne 0x447617
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.0044f370
mov eax, dword [0x54fe88]
mov ecx, dword [esp + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x4473bf
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 0x4472db
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x2c]
cmp edx, 3
je 0x4473d0
xor ebx, ebx
jmp 0x447419
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.0044f370
mov eax, dword [0x54fea8]
mov ecx, dword [0x54feac]
mov edx, dword [0x54feb0]
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.0044df50
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 0x447437
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 0x447505
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.004481a0
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 0x4474a8
mov edx, dword [esp + 0x54]
test edx, edx
sete bl
mov ebp, dword [esp + 0x50]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
jne 0x4474b0
cmp edx, ecx
setg bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebp, 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 0x4474b0
mov ecx, edx
mov eax, ebp
jmp 0x4474b0
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 0x4474c8
movzx edx, byte [esp + 0x22]
jmp 0x447505
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.0044e940
mov eax, dword [esp + 4]
test eax, eax
jne 0x4475d7
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.0044f370
mov eax, dword [0x54fe98]
mov ecx, dword [0x54fe9c]
mov edx, dword [0x54fea0]
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.0044df50
movzx eax, byte [esp + 0x10]
test al, al
jne 0x44757d
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.0044ed10
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x44759b
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 0x4472db
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.0046c370
jmp fcn.004471e0