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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x10], fcn.004108c0
push edi
mov edi, edx
cmp dword [esi + 0x10], 0
jne 0x449a96
mov dword [esp + 0x14], fcn.00410860
mov ebx, dword [ebp + 8]
mov eax, ebx
cdq
mov ecx, eax
mov dword [esi + 0x10c], ebx
mov eax, edx
mov dword [esp + 0x18], ecx
push 1
push eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1b]
push ecx
push eax
mov eax, dword [edi]
push edi
call eax
add esp, 0x14
cmp eax, 1
je 0x449ac8
or al, 0xff
jmp 0x449acc
mov al, byte [esp + 0x13]
push 4
push dword [esp + 0x20]
mov byte [esi + 0x110], al
lea eax, [esp + 0x20]
push dword [esp + 0x20]
push eax
mov eax, dword [edi]
push edi
call eax
add esp, 0x14
cmp eax, 4
je 0x449af5
mov ecx, 0xffffff
jmp 0x449b0e
movzx ecx, byte [esp + 0x19]
movzx eax, byte [esp + 0x1a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x1b]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x114], ecx
cmp dword [esi + 4], ecx
jne case.0x449bb1.2
mov eax, dword [esi + 0x20]
mov dword [esi + 0x120], eax
add eax, ebx
push edi
push eax
call dword [esp + 0x1c]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x120]
add eax, 4
add eax, ebx
push edi
push eax
call dword [esp + 0x24]
add esp, 0x10
mov dword [esi + 0x11c], eax
cmp dword [esi + 0x24], 0
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x124], eax
je 0x449b6e
cmp dword [esi + 0x10], 0
jne 0x449b6e
add eax, 0xfffffffc
mov dword [esi + 0x124], eax
jmp 0x449ba1
mov eax, dword [edi + 4]
push edi
call eax
mov ecx, dword [esi + 0x124]
add esp, 4
add ecx, ebx
cmp eax, ecx
jbe 0x449ba1
push edi
push ecx
call dword [esp + 0x1c]
add esp, 8
cmp eax, 0xffffffff
je 0x449b9a
test eax, eax
je 0x449b9a
cmp eax, 1
jne 0x449ba1
add dword [esi + 0x124], 4
mov eax, dword [esi + 0x11c]
dec eax
cmp eax, 7
ja case.0x449bb1.2
jmp dword [eax*4 + 0x449f24]
cmp dword [esi + 0x10], 0
mov ebx, fcn.004108c0
jne 0x449bc8
mov ebx, fcn.00410860
mov ecx, dword [esi + 0x120]
add ecx, dword [ebp + 8]
mov eax, dword [esi + 0x30]
add eax, ecx
mov dword [esp + 0x14], ecx
push edi
push eax
mov dword [esi + 8], 1
call ebx
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x34]
add eax, dword [esp + 0x1c]
push edi
push eax
call ebx
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x38]
add eax, dword [esp + 0x24]
push edi
push eax
call ebx
and eax, dword [esi + 0x68]
mov dword [esi + 0x150], eax
mov eax, dword [esi + 0x3c]
add eax, dword [esp + 0x2c]
push edi
push eax
call ebx
and eax, dword [esi + 0x6c]
mov dword [esi + 0x154], eax
mov eax, dword [esi + 0x40]
add eax, dword [esp + 0x34]
push edi
push eax
call ebx
mov dword [esi + 0x164], eax
mov eax, dword [esi + 0x44]
add eax, dword [esp + 0x3c]
push edi
push eax
call ebx
mov ecx, dword [esi + 0x60]
add esp, 0x30
mov dword [esi + 0x160], eax
test ecx, ecx
je 0x449c63
mov eax, dword [esp + 0x14]
add eax, ecx
push edi
push eax
call ebx
add esp, 8
mov dword [esi + 0x128], eax
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x449c8b
mov eax, dword [esp + 0x14]
add eax, ecx
push edi
push eax
call ebx
xor ecx, ecx
mov dword [esi + 0x13c], eax
add esp, 8
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [esi + 0x14c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x48]
add eax, ecx
cmp dword [esi + 0x154], 0
push edi
push eax
je 0x449cbd
call ebx
mov dword [esi + 0x15c], eax
mov eax, dword [esi + 0x4c]
add eax, dword [esp + 0x1c]
push edi
push eax
call ebx
add esp, 0x10
add eax, dword [esi + 0x15c]
jmp 0x449cc2
call ebx
add esp, 8
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x50]
add eax, dword [esp + 0x14]
push edi
push eax
call ebx
add esp, 8
mov dword [esi + 0x168], eax
jmp 0x449e1b
cmp dword [esi + 0x10], 0
mov ebx, fcn.004108c0
jne 0x449cf1
mov ebx, fcn.00410860
mov ecx, dword [esi + 0x120]
add ecx, dword [ebp + 8]
cmp dword [esi + 0x84], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], 3
je case.0x449bb1.2
mov eax, dword [esi + 0x74]
add eax, ecx
push edi
push eax
call ebx
mov dword [esi + 0x3b4], eax
mov eax, dword [esi + 0x78]
add eax, dword [esp + 0x20]
push edi
push eax
call ebx
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x7c]
add eax, dword [esp + 0x28]
push edi
push eax
call ebx
add esp, 0x18
mov dword [esi + 0x1b0], eax
cmp eax, 0x80
jg case.0x449bb1.2
mov ebx, dword [esi + 0x124]
add ebx, dword [ebp + 8]
mov dword [esp + 0x18], 0
test eax, eax
jle 0x449e1b
lea eax, [esi + 0x1b4]
mov dword [esp + 0x1c], eax
jmp 0x449d80
mov eax, dword [esi + 0x80]
add eax, ebx
push edi
push eax
call dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [ecx], eax
add ecx, 4
mov eax, dword [esp + 0x18]
add ebx, dword [esi + 0x84]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [esi + 0x1b0]
jl 0x449d80
jmp 0x449e1b
push edi
mov edx, ebx
mov ecx, esi
call fcn.004493d0
add esp, 4
test eax, eax
jmp 0x449e15
cmp dword [esi + 0x10], 0
mov dword [esp + 0x1c], 0x42a2b0
jne 0x449dde
mov dword [esp + 0x1c], 0x42a310
mov ecx, dword [esi + 0xc4]
mov dword [esi + 8], 4
test ecx, ecx
je case.0x449bb1.2
mov eax, dword [esi + 0x120]
add eax, ecx
add eax, ebx
push edi
push eax
call dword [esp + 0x24]
fst dword [esi + 0x3bc]
fldz
add esp, 8
fcompp
fnstsw ax
test ah, 1
je case.0x449bb1.2
mov eax, dword [esi + 8]
cmp eax, 3
je 0x449f03
cmp eax, 4
je 0x449f03
cmp dword [esi + 0x130], 0
je case.0x449bb1.2
mov ecx, dword [esi + 0x168]
cmp ecx, 0x10
jge case.0x449bb1.2
mov ecx, dword [esi + ecx*4 + 0xc8]
mov dword [esi + 0xc], ecx
test ecx, ecx
je case.0x449bb1.2
cmp eax, 1
jne 0x449e8a
cmp ecx, 3
jne 0x449e8a
cmp dword [esi + 0x64], 0
je 0x449e8a
cmp dword [esi + 0x154], 0
je 0x449e8a
mov eax, dword [esi + 0x158]
cdq
idiv dword [esi + 0x164]
mov dword [esi + 0x158], eax
mov ecx, dword [esi + 0x14c]
test ecx, ecx
je 0x449ec0
cmp dword [esi], 0
je 0x449eb4
cmp dword [esi + 0x108], 1
jne 0x449eb4
mov eax, dword [esi + 0x12c]
and eax, 0xfffffff
or eax, 0x30000000
jmp 0x449eba
mov eax, dword [esi + 0x12c]
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0x12c]
cmp eax, dword [esi + 0x118]
jne 0x449eef
cmp dword [esi + 0x150], 0
je 0x449edb
test ecx, ecx
je 0x449eef
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x120]
add eax, dword [esi + 0x124]
jmp 0x449ef7
mov ecx, dword [esi + 0x120]
mov eax, ecx
mov dword [esi + 0x144], eax
mov dword [esi + 0x148], ecx
mov edx, edi
mov ecx, esi
call fcn.00449640
neg eax
sbb eax, eax
neg eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret