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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x104]
cmp eax, dword [ecx + 8]
jbe 0x449a6b
sub esp, 0x184
mov ecx, dword [0x8a9f40]
test ecx, ecx
je 0x449a5a
mov ecx, dword [0x8a9edc]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0x90]
xor eax, eax
call fcn.00450579
lea edi, [esp + 0xf8]
call fcn.0045055d
lea ecx, [esp + 0xf8]
mov dword [esp + 0x9c], ecx
lea ecx, [0x66b060]
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
lea edx, [esp + 0x90]
mov dword [esp + 8], edx
call fcn.0040afc0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
lea edx, [0x97b248]
mov dword [esp], edx
call fcn.00401f20
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x449a4f
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
test ebx, ebx
jbe 0x449a61
mov eax, dword [edx]
lea ecx, [ebp - 1]
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0x70], ecx
lea edx, [ebx - 1]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x48]
xor ebp, ebp
jmp 0x4497e2
inc ebp
cmp ebp, edx
jge 0x4496e6
mov esi, dword [eax + ebp*4]
cmp esi, ebx
jne 0x44965b
mov eax, dword [esp + 0x30]
inc eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
cmp edx, edi
jge 0x4497c9
mov ebp, dword [ecx + edx*4]
mov esi, dword [eax + 0xd8]
test esi, esi
jne 0x4497a4
mov esi, dword [eax + 0x64]
add ebp, esi
mov dword [esp + 0x50], ebp
mov eax, dword [ebp + 8]
lea ecx, [0x66b060]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0040d390
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov ebx, dword [esp + 0x50]
xor ebp, ebp
jmp 0x44965c
lea ebp, [edx + 1]
cmp ebp, ecx
ja 0x449764
mov dword [esp + 0x68], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ecx
lea edi, [eax + edx*4]
mov esi, dword [0x98ef80]
test esi, esi
jne 0x44975b
mov dword [eax + edx*4], ebx
mov eax, dword [ebx + 8]
lea ecx, [0x66b060]
mov dword [esp], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0040d660
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 8], eax
mov eax, dword [0x98ef80]
test eax, eax
jne 0x44974d
mov eax, dword [esp + 0x68]
mov dword [edi], eax
jmp 0x44966b
mov eax, dword [esp + 0x68]
call fcn.004502f0
jmp 0x44966b
mov eax, ebx
call fcn.004502f0
jmp 0x449709
mov dword [esp + 0x20], edx
lea ebx, [0x69e900]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.0043bd10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ebx, dword [esp + 0x50]
mov ecx, edx
mov edx, dword [esp + 0x20]
jmp 0x4496ed
lea eax, [0x66a8e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0040d390
mov eax, dword [esp + 0xc]
mov ebp, dword [eax]
mov ebx, dword [esp + 0x48]
jmp 0x4496b2
mov eax, dword [esi + 0xd8]
test eax, eax
je 0x44981a
inc ebp
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x70]
mov ecx, eax
mov edx, edi
mov eax, esi
cmp ebp, edx
jge 0x449a48
mov dword [esp + 0x38], ebp
mov dword [esp + 0x58], eax
mov esi, dword [ecx + ebp*4]
mov dword [esp + 0x5c], esi
mov edi, dword [eax + 0x7c]
mov dword [esp + 0x34], edi
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
jmp 0x449690
mov eax, dword [esi + 0x7c]
lea ecx, [0x66a8e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0040afc0
mov eax, dword [esp + 0xc]
mov ecx, dword [0x97be44]
lea edx, [ecx + 1]
mov ebx, dword [0x97be48]
mov ebp, dword [0x97be40]
cmp edx, ebx
ja 0x4499ec
lea edx, [ecx + 1]
mov dword [0x97be44], edx
mov edx, dword [0x98ef80]
lea edi, [ebp + ecx*4]
test edx, edx
jne 0x4499d3
mov dword [ebp + ecx*4], eax
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0xd8], eax
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x34], eax
mov edx, dword [ecx + 0x78]
mov dword [esp + 0x6c], edx
xor ebx, ebx
jmp 0x449963
mov ebx, dword [esp + 0x28]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
jge 0x4499bb
mov dword [esp + 0x28], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x60], ecx
lea edi, [esp + 0x74]
xor eax, eax
call fcn.00450579
lea edi, [esp + 0xac]
call fcn.0045056d
lea ecx, [esp + 0xac]
mov dword [esp + 0x80], ecx
call fcn.00440070
mov ecx, dword [esp]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
lea ebx, [esp + 0x74]
mov dword [esp + 8], ebx
call fcn.00449a80
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x449896
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0xd8]
lea ebx, [0x66a8e0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 8], edx
call fcn.0040d660
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x98ef80]
test eax, eax
jne 0x4499b0
mov eax, dword [esp + 0x54]
mov dword [edi], eax
mov ebp, dword [esp + 0x30]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x6c]
cmp ebx, eax
jge 0x4499c4
mov dword [esp + 0x30], ebx
mov eax, dword [edx + ebx*4]
mov dword [esp + 0x24], eax
mov ebp, dword [ecx + 0x64]
add ebp, eax
mov dword [esp + 0x64], ebp
mov esi, dword [ebp + 8]
lea edi, [0x66b060]
mov dword [esp], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.0040d390
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov eax, dword [eax]
mov dword [esp + 0x68], eax
xor edx, edx
jmp 0x4498a5
mov eax, dword [esp + 0x54]
call fcn.004502f0
jmp 0x449950
mov eax, dword [esp + 0x64]
jmp 0x449912
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x38]
mov esi, ecx
jmp 0x4497d3
call fcn.004502f0
mov ecx, dword [esp + 0x5c]
lea edi, [ecx + 0xd8]
call fcn.004502f0
jmp 0x449881
mov dword [esp + 0x4c], eax
lea eax, [0x66a8e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bd10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [0x97be48], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x449a3b
mov dword [0x97be40], eax
mov ebp, eax
mov eax, dword [esp + 0x4c]
jmp 0x449858
lea edi, [0x97be40]
call fcn.004502f0
jmp 0x449a30
add esp, 0x184
ret
xor ebp, ebp
xor ebx, ebx
xor edx, edx
jmp 0x44962e
add esp, 0x184
ret
xor eax, eax
mov ecx, ebx
call fcn.00450370
nop
call fcn.0044eab0
jmp fcn.00449580