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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff84
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x34], 0x3f800000
mov dword [ebp - 0x38], 0x3f800000
mov ecx, dword [ebx + 4]
mov dword [ebp - 4], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 8], eax
inc dword [ebx + 0xc]
fild dword [ebp - 8]
fdivr qword [0x5caec0]
fstp dword [ebp - 0x2c]
fld dword [0x5caec8]
fsub dword [ebp - 0x2c]
lea edx, [ebx + 0xb8]
fstp dword [ebp - 0x30]
push edx
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebx + 0x40]
push eax
push dword [ebx + 0xb4]
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.005cb0a0
add esp, 0x14
xor esi, esi
mov eax, dword [ebp + 0x10]
mov edi, eax
jmp 0x5ca24c
movsx edx, word [edi]
mov dword [ebp - 0x74], edx
fild dword [ebp - 0x74]
fld dword [ebx + 0xb0]
fmul dword [ebx + 0xa4]
fsubp st(1)
fstp dword [ebp - 0x4c]
add eax, esi
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebp - 0x4c]
mov dword [ecx + eax*4], edx
movsx eax, word [edi]
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x78]
fstp dword [ebx + 0xa4]
fld dword [ebx + 0xb0]
fmul dword [ebx + 0xa8]
mov ecx, dword [ebx + 0x40]
fsubr dword [ecx + esi*4]
fstp dword [ebp - 0x4c]
mov eax, dword [ebx + 0x40]
mov edx, dword [eax + esi*4]
mov dword [ebx + 0xa8], edx
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebp - 0x4c]
mov dword [ecx + esi*4], eax
inc esi
add edi, 2
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca1ea
mov edi, dword [ebp - 8]
dec edi
test edi, edi
jl 0x5ca28d
xor esi, esi
mov eax, dword [ebp - 4]
cmp esi, eax
jge 0x5ca288
mov edx, edi
imul edx, dword [ebp - 4]
add edx, esi
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx + edx*4]
lea edx, [edi + 1]
imul edx, dword [ebp - 4]
add edx, esi
mov ecx, dword [ebx + 0x3c]
mov dword [ecx + edx*4], eax
inc esi
mov eax, dword [ebp - 4]
cmp esi, eax
jl 0x5ca263
dec edi
test edi, edi
jge 0x5ca25a
mov edx, dword [ebx + 0x3c]
push edx
mov ecx, dword [ebx + 0x38]
push ecx
mov eax, dword [ebx + 0xa0]
push eax
call fcn.005c81e0
add esp, 0xc
xor esi, esi
mov eax, dword [ebp - 4]
cmp esi, eax
jge 0x5ca2c1
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x48]
mov ecx, dword [edx + esi*4]
mov dword [eax + esi*4], ecx
inc esi
mov edx, dword [ebp - 4]
cmp esi, edx
jl 0x5ca2ad
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebx]
shl eax, 2
mov edx, dword [ebx + 0x38]
add eax, edx
push eax
mov ecx, dword [ebx]
shl ecx, 2
mov eax, dword [ebx + 0x38]
add ecx, eax
push ecx
call fcn.005cb13c
add esp, 0xc
fstp dword [ebp - 0x14]
xor esi, esi
jmp 0x5ca2f8
add eax, esi
mov edx, dword [ebx + 0x38]
mov eax, dword [edx + eax*4]
mov ecx, dword [ebx + 0x38]
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca2e9
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebx + 0x4c]
push eax
mov edx, dword [ebx + 0x5c]
push edx
mov ecx, dword [ebx + 0x3c]
push ecx
call fcn.005cb194
add esp, 0x14
mov eax, dword [ebx + 0x34]
push eax
mov edx, dword [ebx + 0x4c]
push edx
mov ecx, dword [ebx + 0xa0]
push ecx
call fcn.005c822c
add esp, 0xc
xor esi, esi
jmp 0x5ca347
mov ecx, dword [ebx + 0x40]
add eax, esi
mov edx, dword [ebx + 0x34]
fld dword [ecx + esi*4]
fsub dword [edx + eax*4]
fstp dword [edx + esi*4]
inc esi
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca335
mov eax, dword [ebx]
push eax
mov edx, dword [ebx + 0x34]
push edx
mov ecx, dword [ebx + 0x34]
push ecx
call fcn.005cb13c
add esp, 0xc
fstp dword [ebp - 0x1c]
mov eax, dword [ebx + 0x9c]
push eax
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebx + 0x58]
push eax
call fcn.005cb260
add esp, 0x10
mov edx, dword [ebx + 0x14]
test edx, edx
jne 0x5ca3ee
mov edi, dword [ebp - 8]
dec edi
test edi, edi
jl 0x5ca3f1
mov eax, dword [ebp - 4]
push eax
mov edx, dword [ebx + 0x54]
push edx
mov ecx, dword [ebx + 0x50]
push ecx
lea eax, [edi + 1]
imul dword [ebp - 4]
shl eax, 2
mov edx, dword [ebx + 0x3c]
add eax, edx
push eax
mov ecx, dword [ebx + 0x9c]
push dword [ecx + edi*4]
mov edx, dword [ebx + 0x74]
push edx
call fcn.005cb350
add esp, 0x18
xor esi, esi
mov eax, dword [ebp - 4]
cmp esi, eax
jge 0x5ca3e7
mov eax, edi
mov ecx, dword [ebx + 0x54]
imul dword [ebp - 4]
add eax, esi
mov edx, dword [ebx + 0x58]
fld dword [edx + eax*4]
fadd dword [ecx + esi*4]
mov edx, dword [ebx + 0x58]
inc esi
fstp dword [edx + eax*4]
mov eax, dword [ebp - 4]
cmp esi, eax
jl 0x5ca3c6
dec edi
test edi, edi
jge 0x5ca38d
jmp 0x5ca3f1
dec dword [ebx + 0x14]
xor edi, edi
mov eax, dword [ebp - 8]
cmp edi, eax
jge 0x5ca476
test edi, edi
je 0x5ca411
mov edx, dword [ebp - 8]
dec edx
mov eax, dword [ebx + 0xc]
mov ecx, edx
cdq
idiv ecx
lea eax, [edi - 1]
cmp edx, eax
jne 0x5ca46e
mov edx, dword [ebx + 0x78]
push edx
mov ecx, edi
imul ecx, dword [ebp - 4]
shl ecx, 2
mov eax, dword [ebx + 0x58]
add ecx, eax
push ecx
mov edx, dword [ebx + 0xa0]
push edx
call fcn.005c822c
add esp, 0xc
mov esi, dword [ebx]
mov eax, dword [ebp - 4]
cmp esi, eax
jge 0x5ca44c
mov edx, dword [ebx + 0x78]
xor ecx, ecx
mov dword [edx + esi*4], ecx
inc esi
mov eax, dword [ebp - 4]
cmp esi, eax
jl 0x5ca43c
mov edx, edi
imul edx, dword [ebp - 4]
shl edx, 2
mov ecx, dword [ebx + 0x58]
add edx, ecx
push edx
mov eax, dword [ebx + 0x78]
push eax
mov edx, dword [ebx + 0xa0]
push edx
call fcn.005c81e0
add esp, 0xc
inc edi
mov ecx, dword [ebp - 8]
cmp edi, ecx
jl 0x5ca3fa
mov eax, dword [ebp - 8]
push eax
mov edx, dword [ebp - 4]
push edx
mov ecx, dword [ebx + 0x4c]
push ecx
mov eax, dword [ebx + 0x58]
push eax
mov edx, dword [ebx + 0x3c]
push edx
call fcn.005cb194
add esp, 0x14
mov ecx, dword [ebx + 0x44]
push ecx
mov eax, dword [ebx + 0x4c]
push eax
mov edx, dword [ebx + 0xa0]
push edx
call fcn.005c822c
add esp, 0xc
xor esi, esi
jmp 0x5ca4c3
add eax, esi
mov edx, dword [ebx + 0x34]
fld dword [edx + eax*4]
mov eax, dword [ebx]
add eax, esi
mov ecx, dword [ebx + 0x44]
fsub dword [ecx + eax*4]
fstp dword [edx + esi*4]
inc esi
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca4ad
mov edx, dword [ebx]
push edx
mov ecx, dword [ebx + 0x34]
push ecx
mov eax, dword [ebx + 0x34]
push eax
call fcn.005cb13c
add esp, 0xc
fadd dword [0x5caecc]
fstp dword [ebp - 0x20]
xor esi, esi
jmp 0x5ca4fe
mov edx, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
add eax, esi
fld dword [edx + esi*4]
fsub dword [ecx + eax*4]
mov eax, dword [ebx + 0x34]
fstp dword [eax + esi*4]
inc esi
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca4e9
mov edx, dword [ebx]
push edx
mov ecx, dword [ebx + 0x34]
push ecx
mov eax, dword [ebx + 0x34]
push eax
call fcn.005cb13c
fstp dword [ebp - 0x10]
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
add esp, 0xc
fmul dword [0x5caed0]
fld dword [0x5caed4]
fmul dword [ebx + 0x60]
faddp st(1)
fstp dword [ebx + 0x60]
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fmul dword [0x5caed8]
fld dword [0x5caedc]
fmul dword [ebx + 0x64]
faddp st(1)
fstp dword [ebx + 0x64]
fld dword [0x5caed0]
fmul dword [ebp - 0x1c]
fld dword [0x5caed0]
fmul dword [ebp - 0x20]
fmulp st(1)
fld dword [0x68f618]
fmul dword [ebx + 0x68]
faddp st(1)
fstp dword [ebx + 0x68]
fld dword [0x5caed8]
fmul dword [ebp - 0x1c]
fld dword [0x5caed8]
fmul dword [ebp - 0x20]
xor edx, edx
fmulp st(1)
fld dword [0x68f61c]
fmul dword [ebx + 0x6c]
faddp st(1)
fstp dword [ebx + 0x6c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jae 0x5ca5b8
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fchs
jmp 0x5ca5be
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fmulp st(1)
fld dword [ebp - 0x1c]
fmul dword [ebp - 0x20]
fcompp
fnstsw ax
sahf
jae 0x5ca5d6
mov dword [ebp - 0x24], 1
jmp 0x5ca63c
fld dword [ebx + 0x60]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jae 0x5ca5eb
fld dword [ebx + 0x60]
fchs
jmp 0x5ca5ee
fld dword [ebx + 0x60]
fmul dword [ebx + 0x60]
fld dword [0x68f620]
fmul dword [ebx + 0x68]
fcompp
fnstsw ax
sahf
jae 0x5ca60a
mov dword [ebp - 0x24], 1
jmp 0x5ca63c
fld dword [ebx + 0x64]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jae 0x5ca61f
fld dword [ebx + 0x64]
fchs
jmp 0x5ca622
fld dword [ebx + 0x64]
fmul dword [ebx + 0x64]
fld dword [0x68f624]
fmul dword [ebx + 0x6c]
fcompp
fnstsw ax
sahf
jae 0x5ca63c
mov dword [ebp - 0x24], 1
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x5ca6bc
fld dword [0x5caee0]
fst dword [ebx + 0x64]
fstp dword [ebx + 0x60]
fld dword [0x5caee0]
fst dword [ebx + 0x6c]
fstp dword [ebx + 0x68]
xor esi, esi
jmp 0x5ca66c
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [eax + esi*4]
mov dword [ecx + esi*4], edx
inc esi
mov eax, dword [ebp - 4]
imul dword [ebp - 8]
cmp esi, eax
jl 0x5ca65f
xor esi, esi
jmp 0x5ca6b1
mov eax, dword [ebx]
mov edx, dword [ebx + 0x98]
add eax, esi
mov ecx, dword [ebx]
add ecx, esi
fld dword [edx + eax*4]
mov eax, dword [ebx + 0x34]
mov edx, dword [ebx + 0x98]
fmul dword [eax + ecx*4]
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x44]
add ecx, esi
fld dword [edx + esi*4]
fmul dword [eax + ecx*4]
mov edx, dword [ebx]
mov ecx, dword [ebx + 0x34]
add edx, esi
inc esi
faddp st(1)
fstp dword [ecx + edx*4]
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca67a
jmp 0x5ca7f2
xor edx, edx
mov dword [ebp - 0x50], edx
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fchs
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jae 0x5ca6e4
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fchs
jmp 0x5ca6ea
fld dword [ebp - 0x1c]
fsub dword [ebp - 0x10]
fmulp st(1)
fld dword [ebp - 0x1c]
fmul dword [ebp - 0x20]
fmul dword [0x68f628]
fcompp
fnstsw ax
sahf
jae 0x5ca706
mov dword [ebp - 0x50], 1
fld dword [ebx + 0x60]
fchs
fld dword [ebx + 0x60]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jae 0x5ca720
fld dword [ebx + 0x60]
fchs
jmp 0x5ca723
fld dword [ebx + 0x60]
fmulp st(1)
fld dword [0x68f628]
fmul dword [ebx + 0x68]
fcompp
fnstsw ax
sahf
jae 0x5ca73c
mov dword [ebp - 0x50], 1
fld dword [ebx + 0x64]
fchs
fld dword [ebx + 0x64]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jae 0x5ca756
fld dword [ebx + 0x64]
fchs
jmp 0x5ca759
fld dword [ebx + 0x64]
fmulp st(1)
fld dword [0x68f628]
fmul dword [ebx + 0x6c]
fcompp
fnstsw ax
sahf
jae 0x5ca772
mov dword [ebp - 0x50], 1
mov edx, dword [ebp - 0x50]
test edx, edx
je 0x5ca7f2
xor esi, esi
jmp 0x5ca78a
mov eax, dword [ebx + 0x5c]
mov ecx, dword [ebx + 0x58]
mov edx, dword [eax + esi*4]
mov dword [ecx + esi*4], edx
inc esi
mov eax, dword [ebp - 4]
imul dword [ebp - 8]
cmp esi, eax
jl 0x5ca77d
xor esi, esi
jmp 0x5ca7ad
mov eax, dword [ebx]
add eax, esi
mov edx, dword [ebx + 0x34]
mov ecx, dword [edx + eax*4]
mov eax, dword [ebx]
add eax, esi
mov edx, dword [ebx + 0x44]
mov dword [edx + eax*4], ecx
inc esi
mov ecx, dword [ebx]
cmp esi, ecx
jl 0x5ca798
xor esi, esi
jmp 0x5ca7ce
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx]
add edx, esi
mov ecx, dword [ebx + 0x44]
fld dword [eax + esi*4]
fsub dword [ecx + edx*4]
mov eax, dword [ebx + 0x34]
fstp dword [eax + esi*4]
inc esi
mov edx, dword [ebx]
cmp esi, edx
jl 0x5ca7b7
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
fld dword [0x5caee0]
fst dword [ebx + 0x64]
fstp dword [ebx + 0x60]
fld dword [0x5caee0]
fst dword [ebx + 0x6c]
fstp dword [ebx + 0x68]
xor esi, esi
mov eax, dword [ebp + 0x14]
mov edx, eax
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp + 0xc]
mov edi, ecx
jmp 0x5ca895
mov edx, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x34]
add eax, esi
fld dword [edx + esi*4]
fsub dword [ecx + eax*4]
fstp dword [ebp - 0x54]
fld dword [ebp - 0x54]
fcomp dword [0x5caee4]
fnstsw ax
sahf
jbe 0x5ca82e
mov dword [ebp - 0x54], 0x46fffe00
jmp 0x5ca843
fld dword [ebp - 0x54]
fcomp dword [0x5caee8]
fnstsw ax
sahf
jae 0x5ca843
mov dword [ebp - 0x54], 0xc7000000
fld dword [ebx + 0xb0]
fmul dword [ebx + 0xac]
fadd dword [ebp - 0x54]
fstp dword [ebp - 0x54]
cmp word [edi], 0x8300
jle 0x5ca863
cmp word [edi], 0x7d00
jl 0x5ca876
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x5ca876
mov dword [ebx + 0x14], 1
fld dword [ebp - 0x54]
call fcn.005b8bc4
mov edx, dword [ebp - 0x70]
mov word [edx], ax
mov ecx, dword [ebp - 0x54]
mov dword [ebx + 0xac], ecx
add dword [ebp - 0x70], 2
inc esi
add edi, 2
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca806
xor esi, esi
jmp 0x5ca8bc
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x34]
add eax, esi
mov edx, dword [ebx + 0x34]
mov ecx, dword [ecx + esi*4]
mov dword [edx + eax*4], ecx
xor edx, edx
mov eax, dword [ebx + 0x34]
mov dword [eax + esi*4], edx
inc esi
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca8a3
mov edx, dword [ebx]
push edx
mov ecx, dword [ebx]
shl ecx, 2
mov eax, dword [ebx + 0x44]
add ecx, eax
push ecx
mov edx, dword [ebx]
shl edx, 2
mov ecx, dword [ebx + 0x34]
add edx, ecx
push edx
call fcn.005cb13c
add esp, 0xc
fstp dword [ebp - 0x28]
mov eax, dword [ebx]
push eax
mov edx, dword [ebx]
shl edx, 2
mov ecx, dword [ebx + 0x44]
add edx, ecx
push edx
mov eax, dword [ebx]
shl eax, 2
mov edx, dword [ebx + 0x44]
add eax, edx
push eax
call fcn.005cb13c
add esp, 0xc
fstp dword [ebp - 0xc]
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebx + 0x40]
push eax
mov edx, dword [ebx + 0x40]
push edx
call fcn.005cb13c
add esp, 0xc
fstp dword [ebp - 0x18]
fld dword [ebp - 0xc]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jb 0x5ca97d
fld dword [ebp - 0x14]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jb 0x5ca97d
fld dword [ebp - 0x10]
fcomp dword [0x5caee0]
fnstsw ax
sahf
jb 0x5ca97d
fild dword [ebp - 4]
fmul dword [0x5caeec]
fcomp dword [ebp - 0x1c]
fnstsw ax
sahf
jbe 0x5ca97d
fild dword [ebp - 4]
fmul dword [0x5caeec]
fcomp dword [ebp - 0xc]
fnstsw ax
sahf
jbe 0x5ca97d
fild dword [ebp - 4]
fmul dword [0x5caeec]
fcomp dword [ebp - 0x14]
fnstsw ax
sahf
ja 0x5ca9a2
add dword [ebx + 0x18], 0x32
xor esi, esi
mov eax, dword [ebp + 0x14]
mov edx, eax
mov dword [ebp - 0x70], edx
jmp 0x5ca99a
mov ecx, dword [ebp - 0x70]
mov word [ecx], 0
inc esi
add dword [ebp - 0x70], 2
mov eax, dword [ebx]
cmp esi, eax
jl 0x5ca98d
jmp 0x5ca9c0
fild dword [ebp - 4]
fmul dword [0x5caef0]
fadd dword [ebp - 0x18]
fcomp dword [ebp - 0x1c]
fnstsw ax
sahf
jae 0x5ca9bb
inc dword [ebx + 0x18]
jmp 0x5ca9c0
xor edx, edx
mov dword [ebx + 0x18], edx
mov ecx, dword [ebx + 0x18]
cmp ecx, 0x32
jl 0x5ca9df
push 0x68f74b
call fcn.005b8bdc
pop ecx
push ebx
call fcn.005c9d8c
pop ecx
jmp 0x5caeb7
fild dword [ebp - 4]
fmul dword [0x5caef4]
fcomp dword [ebp - 0x10]
fnstsw ax
sahf
jae 0x5ca9f5
fld dword [ebp - 0x10]
jmp 0x5ca9fe
fild dword [ebp - 4]
fmul dword [0x5caef4]
fstp dword [ebp - 0x10]
mov edx, dword [ebx + 0x50]
push edx
mov ecx, dword [ebx + 0x34]
push ecx
mov eax, dword [ebx + 0xa0]
push eax
call fcn.005c81e0
add esp, 0xc
xor esi, esi
jmp 0x5caa25
mov eax, dword [ebx + 0x44]
xor edx, edx
mov dword [eax + esi*4], edx
inc esi
mov ecx, dword [ebx]
cmp esi, ecx
jl 0x5caa1c
mov eax, dword [ebx + 0x4c]
push eax
mov edx, dword [ebx + 0x44]
push edx
mov ecx, dword [ebx + 0xa0]
push ecx
call fcn.005c81e0
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
mov edx, dword [ebx + 0x7c]
push edx
mov ecx, dword [ebx + 0x50]
push ecx
call fcn.005cb410
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
mov edx, dword [ebx + 0x80]
push edx
mov ecx, dword [ebx + 0x4c]
push ecx
call fcn.005cb410
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
mov edx, dword [ebx + 0x84]
push edx
mov ecx, dword [ebx + 0x3c]
push ecx
call fcn.005cb410
add esp, 0xc
xor edi, edi
jmp 0x5caaac
mov eax, dword [ebx + 0x70]
fld dword [ebp - 0x30]
fmul dword [eax + edi*4]
fadd dword [0x5caec8]
mov edx, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x70]
fld dword [ebp - 0x2c]
fmul dword [edx + edi*4]
faddp st(1)
fstp dword [ecx + edi*4]
inc edi
mov eax, dword [ebx]
cmp edi, eax
jle 0x5caa88
jmp 0x5cab27
mov edi, dword [ebx]
test edi, edi
jl 0x5cabc8
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebx + 0x88]
fld dword [eax + edi*4]
fsub dword [edx + edi*4]
fstp dword [ebp - 0x5c]
mov ecx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x8c]
fld dword [ecx + edi*4]
fsub dword [eax + edi*4]
fstp dword [ebp - 0x60]
fld dword [ebp - 0x5c]
fmul dword [ebp - 0x60]
fadd dword [ebp - 0x34]
fstp dword [ebp - 0x34]
fld dword [ebp - 0x60]
fmul dword [ebp - 0x60]
fadd dword [ebp - 0x38]
fstp dword [ebp - 0x38]
fld dword [0x5caec8]
fsub dword [ebx + 0x20]
mov edx, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x88]
fmul dword [edx + edi*4]
fld dword [ebx + 0x20]
fmul dword [ecx + edi*4]
faddp st(1)
fstp dword [eax + edi*4]
fld dword [0x5caec8]
fsub dword [ebx + 0x20]
mov edx, dword [ebx + 0x8c]
mov ecx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x8c]
fmul dword [edx + edi*4]
fld dword [ebx + 0x20]
fmul dword [ecx + edi*4]
faddp st(1)
fstp dword [eax + edi*4]
dec edi
test edi, edi
jge 0x5cab31
add esp, 0xfffffff8
fld dword [ebp - 0x38]
fstp qword [esp]
call sub.msvcrt.dll_sqrt
fstp dword [ebp - 0x38]
fld dword [ebp - 0x34]
fdiv dword [ebp - 0x38]
fstp dword [ebp - 0x34]
fld dword [ebx + 0x24]
fmul dword [ebp - 0xc]
add esp, 8
fstp dword [ebp - 0x48]
fld dword [ebx + 0x28]
fmul dword [ebp - 0x10]
fcomp dword [ebp - 0x48]
fnstsw ax
sahf
jae 0x5cac05
fld dword [ebx + 0x28]
fmul dword [ebp - 0x10]
fstp dword [ebp - 0x48]
fld dword [ebp - 0x48]
fdiv dword [ebp - 0x10]
fstp dword [ebp - 0x3c]
fld dword [0x5caec8]
fsub dword [ebp - 0x3c]
fstp dword [ebp - 0x40]
fld dword [ebp - 0x40]
fmul dword [ebx + 0x90]
fld dword [ebp - 0x3c]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebx + 0x90]
fld dword [ebp - 0x40]
fmul dword [ebx + 0x94]
fld dword [ebp - 0x3c]
fmul dword [ebp - 0x38]
faddp st(1)
fstp dword [ebx + 0x94]
fld dword [ebx + 0x94]
fcomp dword [0x5caec8]
fnstsw ax
sahf
jae 0x5cac63
mov dword [ebx + 0x94], 0x3f800000
fld dword [0x68f614]
fmul dword [ebx + 0x94]
fcomp dword [ebx + 0x90]
fnstsw ax
sahf
jbe 0x5cac8c
fld dword [0x68f614]
fmul dword [ebx + 0x94]
fstp dword [ebx + 0x90]
fld dword [ebx + 0x90]
fcomp dword [ebx + 0x94]
fnstsw ax
sahf
jbe 0x5caca9
mov edx, dword [ebx + 0x94]
mov dword [ebx + 0x90], edx
fld dword [ebx + 0x90]
fdiv dword [ebx + 0x94]
fstp dword [ebx + 0x30]
fld dword [ebx + 0x30]
fcomp dword [0x5caefc]
fnstsw ax
sahf
jbe 0x5caccf
mov dword [ebx + 0x30], 0x46fffe00
jmp 0x5cacd5
mov ecx, dword [ebx + 0x30]
mov dword [ebx + 0x30], ecx
fld qword [0x5caf00]
fmul dword [ebp - 0x14]
fld dword [ebx + 0x30]
fmul dword [ebp - 0xc]
fmul dword [0x5caf08]
faddp st(1)
fdiv dword [ebp - 0x10]
fstp dword [ebp - 0x44]
fld dword [ebp - 0x10]
fmul dword [ebp - 0xc]
fadd dword [0x5caec8]
fld dword [ebp - 0x28]
fmul dword [ebp - 0x28]
fdivrp st(1)
fcomp dword [ebp - 0x44]
fnstsw ax
sahf
jbe 0x5cad25
fld dword [ebp - 0x10]
fmul dword [ebp - 0xc]
fadd dword [0x5caec8]
fld dword [ebp - 0x28]
fmul dword [ebp - 0x28]
fdivrp st(1)
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fcomp dword [0x5caef8]
fnstsw ax
sahf
jbe 0x5cad3a
mov dword [ebp - 0x44], 0x3f000000
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x5cad69
fild dword [ebp - 8]
fcomp dword [ebx + 0x2c]
fnstsw ax
sahf
jae 0x5cad69
fld dword [ebx + 0x30]
fmul dword [ebp - 0xc]
fld dword [0x5caf0c]
fmul dword [ebp - 0xc]
fcompp
fnstsw ax
sahf
jae 0x5cad69
mov dword [ebx + 0x10], 1
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x5cadea
xor esi, esi
jmp 0x5cade2
mov eax, dword [ebx + 0x80]
fld dword [ebx + 0x30]
fmul dword [eax + esi*4]
fstp dword [ebp - 0x64]
mov edx, dword [ebx + 0x7c]
fld dword [edx + esi*4]
fadd dword [0x5caec8]
fstp dword [ebp - 0x68]
fld dword [0x5caef8]
fmul dword [ebp - 0x68]
fcomp dword [ebp - 0x64]
fnstsw ax
sahf
jae 0x5cadaf
fld dword [0x5caef8]
fmul dword [ebp - 0x68]
fstp dword [ebp - 0x64]
fld qword [0x5caf10]
fmul dword [ebp - 0x64]
fld dword [ebp - 0x44]
fmul dword [ebp - 0x68]
fmul qword [0x5caf18]
faddp st(1)
fstp dword [ebp - 0x64]
mov edx, dword [ebx + 0x70]
fld dword [edx + esi*4]
fadd dword [0x5caecc]
fmul dword [ebp - 0x68]
mov ecx, dword [ebx + 0x74]
fdivr dword [ebp - 0x64]
fstp dword [ecx + esi*4]
inc esi
mov eax, dword [ebx]
cmp esi, eax
jle 0x5cad74
jmp 0x5cae5b
xor edx, edx
mov dword [ebp - 0x6c], edx
fild dword [ebp - 4]
fmul dword [0x5caf20]
fcomp dword [ebp - 0x14]
fnstsw ax
sahf
jae 0x5cae32
fld dword [0x5caf24]
fmul dword [ebp - 0x14]
fstp dword [ebp - 0x48]
fld dword [0x5caf24]
fmul dword [ebp - 0x10]
fcomp dword [ebp - 0x48]
fnstsw ax
sahf
jae 0x5cae29
fld dword [0x5caf24]
fmul dword [ebp - 0x10]
fstp dword [ebp - 0x48]
fld dword [ebp - 0x48]
fdiv dword [ebp - 0x10]
fstp dword [ebp - 0x6c]
xor esi, esi
jmp 0x5cae4c
mov eax, dword [ebx + 0x70]
fld dword [eax + esi*4]
fadd dword [0x5caecc]
fdivr dword [ebp - 0x6c]
mov edx, dword [ebx + 0x74]
fstp dword [edx + esi*4]
inc esi
mov ecx, dword [ebx]
cmp esi, ecx
jle 0x5cae36
fld dword [ebx + 0x2c]
fadd dword [ebp - 0x6c]
fstp dword [ebx + 0x2c]
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x5caeb7
xor esi, esi
jmp 0x5cae77
mov eax, dword [ebx]
add eax, esi
mov edx, dword [ebx + 0x48]
mov ecx, dword [edx + eax*4]
mov eax, dword [ebx + 0x48]
mov dword [eax + esi*4], ecx
inc esi
mov edx, dword [ebx]
cmp esi, edx
jl 0x5cae66
xor esi, esi
mov eax, dword [ebp + 0x14]
mov edi, eax
mov eax, dword [ebp + 0xc]
mov edx, eax
mov dword [ebp - 0x70], edx
jmp 0x5caeb1
mov ecx, dword [ebp - 0x70]
movsx edx, word [edi]
movsx eax, word [ecx]
sub eax, edx
add edi, 2
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x48]
fild dword [ebp - 0x7c]
add ecx, esi
inc esi
fstp dword [eax + ecx*4]
add dword [ebp - 0x70], 2
mov edx, dword [ebx]
cmp esi, edx
jl 0x5cae8e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret