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

Disassembly:
sub esp, 0x1e0
cmp dword [edi + 0x3c04], 0
push ebx
push ebp
mov ebp, dword [esp + 0x200]
push esi
mov ebx, eax
jle 0x44855d
mov eax, dword [edi + 0x3c08]
cmp eax, dword [esp + 0x200]
jne 0x44854e
cmp dword [edi], ebx
je 0x44855d
mov ecx, dword [esp + 0x1f0]
push ecx
mov esi, edi
call fcn.00448410
mov edx, dword [esp + 0x200]
mov dword [edi], ebx
mov dword [edi + 0x3c08], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
neg eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
fld qword [0x6885c0]
mov dword [esp + 0x1c], eax
neg eax
fmul st(1), st(0)
mov dword [esp + 0x14], eax
fxch st(1)
xor esi, esi
fstp dword [esp + 0x18]
fimul dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fst dword [esp + 0x50]
fld dword [esp + 0x14]
fst dword [esp + 0x54]
fxch st(1)
fst dword [esp + 0x58]
fild dword [esp + 0x1c]
fadd st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x5c]
fild dword [esp + 0xc]
faddp st(2)
fxch st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x60]
fstp dword [esp + 0x68]
fxch st(1)
fstp dword [esp + 0x64]
fstp dword [esp + 0x6c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fstp dword [esp + 0x4c]
mov edi, edi
mov ecx, dword [esp + 0x1f4]
lea edx, [esp + esi + 0x50]
lea eax, [esp + 0x20]
call fcn.005a9aa0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + esi + 0x30], ecx
fld dword [esp + esi + 0x30]
fld qword [0x6885c0]
mov dword [esp + esi + 0x34], edx
fsub st(1), st(0)
add esi, 8
cmp esi, 0x20
fxch st(1)
fstp dword [esp + esi + 0x28]
fsubr dword [esp + esi + 0x2c]
fstp dword [esp + esi + 0x2c]
jl 0x448610
fild dword [ebx + 0x24]
mov eax, dword [ebp]
fld qword [0x668940]
mov ecx, dword [ebp + 4]
fld st(0)
mov edx, dword [ebp + 8]
fdivrp st(2)
mov dword [esp + 0xc], eax
add edx, eax
mov eax, dword [ebp + 0xc]
add eax, ecx
fxch st(1)
fstp dword [esp + 0x1c]
fidiv dword [ebx + 0x28]
fstp dword [esp + 0x14]
fild dword [esp + 0xc]
fld dword [esp + 0x1c]
fld st(0)
mov dword [esp + 0xc], ecx
fmulp st(2)
mov ecx, dword [esp + 0x1fc]
fxch st(1)
fstp dword [esp + 0x28]
fild dword [esp + 0xc]
mov dword [esp + 0xc], edx
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fild dword [esp + 0xc]
mov dword [esp + 0xc], eax
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fimul dword [esp + 0xc]
fstp dword [esp + 0x2c]
call fcn.0056a420
mov ebx, dword [edi + 0x3c04]
fld dword [esp + 0x44]
fld dword [esp + 0x40]
mov esi, dword [esp + 0x1f8]
fld dword [esp + 0x3c]
mov ebp, eax
fld dword [esp + 0x38]
lea eax, [ebx + 2]
cmp eax, 0x100
fld dword [esp + 0x30]
mov byte [esp + 0x13], 0
lea edx, [esp + 0x170]
mov dword [esp + 0x1c], eax
jg 0x448999
mov ecx, dword [esi]
test ecx, ecx
mov dword [esp + 0x18], ecx
jne 0x44874c
cmp dword [esi + 4], ecx
jne 0x44874c
cmp dword [esi + 8], 0x320
jne 0x44874c
cmp dword [esi + 0xc], 0x258
jne 0x44874c
mov eax, dword [0x6ba058]
call fcn.0055b400
test al, al
je 0x448748
fstp st(0)
jmp 0x448889
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x18]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x448997
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 1
jne 0x448997
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x448997
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4488a5
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 1
jne 0x4488ab
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4488ab
fld dword [esp + 0x48]
fcom st(3)
fnstsw ax
fstp st(3)
test ah, 1
jne 0x4488ab
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
jp 0x4488af
mov ecx, dword [esi + 4]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x448976
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 1
jne 0x448976
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x448976
fxch st(3)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x44897f
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 1
jne 0x448988
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x448988
fld dword [esp + 0x4c]
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 1
jne 0x448988
fxch st(3)
fcompp
fnstsw ax
fxch st(1)
test ah, 0x41
fxch st(3)
fxch st(1)
jp 0x4488af
fxch st(2)
mov eax, dword [esp + 0x1c]
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
mov byte [esp + 0x13], 1
lea edx, [edi + ecx*4 + 4]
mov dword [edi + 0x3c04], eax
jmp 0x4488b1
fstp st(1)
fstp st(1)
jmp 0x4488b1
fstp st(1)
fstp st(1)
fxch st(2)
cmp byte [esp + 0x13], 0
fld dword [esp + 0x30]
fstp dword [edx]
mov dword [edx + 0x10], ebp
fld dword [esp + 0x34]
mov dword [edx + 0x24], ebp
fstp dword [edx + 4]
mov dword [edx + 0x38], ebp
fld dword [esp + 0x28]
mov dword [edx + 0x4c], ebp
fst dword [edx + 8]
mov dword [edx + 0x60], ebp
fld dword [esp + 0x14]
mov dword [edx + 0x74], ebp
fst dword [edx + 0xc]
fxch st(2)
fstp dword [edx + 0x14]
fxch st(2)
fst dword [edx + 0x18]
fxch st(2)
fst dword [edx + 0x1c]
fld dword [esp + 0x2c]
fst dword [edx + 0x20]
fxch st(4)
fst dword [edx + 0x28]
fxch st(5)
fst dword [edx + 0x2c]
fld dword [esp + 0x20]
fst dword [edx + 0x30]
fxch st(3)
fst dword [edx + 0x34]
fxch st(6)
fstp dword [edx + 0x3c]
fstp dword [edx + 0x40]
fxch st(1)
fst dword [edx + 0x44]
fxch st(4)
fstp dword [edx + 0x48]
fld dword [esp + 0x38]
fstp dword [edx + 0x50]
fxch st(1)
fstp dword [edx + 0x54]
fstp dword [edx + 0x58]
fst dword [edx + 0x5c]
fld dword [esp + 0x48]
fstp dword [edx + 0x64]
fld dword [esp + 0x4c]
fstp dword [edx + 0x68]
fxch st(1)
fstp dword [edx + 0x6c]
fstp dword [edx + 0x70]
je 0x4489a0
cmp dword [edi + 0x3c04], 0x100
jne 0x448ae2
mov ecx, dword [esp + 0x1f0]
push ecx
mov esi, edi
call fcn.00448410
pop esi
pop ebp
pop ebx
add esp, 0x1e0
ret 0x18
fstp st(1)
fstp st(0)
jmp 0x4488af
fstp st(1)
fstp st(2)
jmp 0x4488af
fstp st(1)
fstp st(2)
fxch st(1)
fxch st(3)
fxch st(1)
jmp 0x4488af
fstp st(1)
fstp st(0)
jmp 0x4488b1
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 8]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
mov dword [esp + 0x20], ecx
add ebx, eax
mov eax, dword [esi + 0xc]
fstp dword [esp + 0xc]
add eax, ecx
fild dword [esp + 0x20]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], 2
fstp dword [esp + 0x2c]
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
fstp dword [esp + 0x28]
fild dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov eax, dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea esi, [esp + 0x80]
fld dword [esp + 0x3c]
xor ebp, ebp
fstp dword [esp + 8]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00448320
mov ebx, eax
sub ebx, 2
add esp, 0x10
test ebx, ebx
jle 0x448ad2
nop
mov eax, dword [edi + 0x3c04]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea eax, [edi + ecx*4 + 4]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + ebp*4 + 0x74]
mov edx, dword [ecx]
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 4]
mov dword [eax + 0x18], edx
mov edx, dword [ecx + 8]
mov dword [eax + 0x1c], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x20], edx
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x24], ecx
lea ecx, [eax + 0x28]
mov eax, dword [esp + ebp*4 + 0x78]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
add dword [edi + 0x3c04], 1
cmp dword [edi + 0x3c04], 0x100
jne 0x448ac7
mov ecx, dword [esp + 0x1f0]
push ecx
mov esi, edi
call fcn.00448410
add ebp, 1
cmp ebp, ebx
jl 0x448a30
add dword [esp + 0x18], 0x3c
sub dword [esp + 0x14], 1
jne 0x4489eb
pop esi
pop ebp
pop ebx
add esp, 0x1e0
ret 0x18