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

Disassembly:
sub esp, 0x424
fld dword [esp + 0x438]
push ebx
fsub dword [esp + 0x430]
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
fld dword [esp + 0x440]
mov dword [esp + 0x28], eax
fsub dword [esp + 0x434]
fstp dword [esp + 0x3c]
fld dword [esp + 0x444]
mov ecx, dword [esp + 0x3c]
fsub dword [esp + 0x438]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x28]
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x30], edx
call fcn.0059c910
fld dword [esp + 0x28]
fmul dword [0x858b3c]
xor ebx, ebx
fld dword [esp + 0x2c]
push ebx
fmul dword [0x858b3c]
push ebx
fld dword [esp + 0x38]
push ebx
fmul dword [0x858b3c]
push ebx
push ebx
push ebx
fstp dword [esp + 0x80]
fxch st(1)
push ebx
fadd dword [esp + 0x458]
push 1
lea eax, [esp + 0x110]
push eax
fstp dword [esp + 0x460]
lea ecx, [esp + 0x190]
push ecx
fadd dword [esp + 0x468]
lea edx, [esp + 0x464]
push edx
lea eax, [esp + 0x45c]
fstp dword [esp + 0x46c]
push eax
fld dword [esp + 0x98]
fadd dword [esp + 0x474]
fstp dword [esp + 0x474]
call fcn.0056ba00
add esp, 0x30
test al, al
je 0x6c59f7
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x174]
mov dword [esp + 0x43c], ecx
mov dword [esp + 0x440], edx
mov dword [esp + 0x444], eax
fld dword [esp + 0x28]
mov eax, dword [0xb6f03c]
cmp eax, ebx
fmul dword [0x858628]
fld dword [esp + 0x2c]
fmul dword [0x858628]
fld dword [esp + 0x30]
fmul dword [0x858628]
fstp dword [esp + 0x68]
fxch st(1)
fadd dword [esp + 0x430]
fstp dword [esp + 0x9c]
fadd dword [esp + 0x434]
fstp dword [esp + 0xa0]
fld dword [esp + 0x68]
fadd dword [esp + 0x438]
fstp dword [esp + 0xa4]
je 0x6c5a57
add eax, 0x30
jmp 0x6c5a5c
mov eax, 0xb6f02c
fld dword [eax + 8]
lea ecx, [esp + 0x48]
fsub dword [esp + 0x438]
fld dword [eax + 4]
fsub dword [esp + 0x434]
fld dword [eax]
fsub dword [esp + 0x430]
fstp dword [esp + 0x48]
fstp dword [esp + 0x4c]
fstp dword [esp + 0x50]
call fcn.0059c910
fld dword [esp + 0x48]
fmul dword [esp + 0x28]
fld dword [esp + 0x4c]
fmul dword [esp + 0x2c]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0x30]
faddp st(1)
fcom dword [0x858b50]
fnstsw ax
test ah, 5
jp 0x6c5abf
fstp st(0)
fld dword [0x858b50]
push esi
fld st(0)
push edi
fmul st(1)
push ebx
push ebx
push 0x41700000
fmul st(1)
push ebx
push 0x3fc00000
push ebx
fmul st(1)
push ebx
push ebx
push ebx
fmul st(1)
push 1
push ebx
fmulp st(1)
push ebx
fld dword [0x858ba4]
push 0x42c80000
fmul st(1)
push ecx
lea ecx, [esp + 0x470]
fstp dword [esp]
push ecx
fmul dword [0x859aac]
call fcn.00821b40
mov edx, dword [esp + 0x470]
push eax
push 0xff
push 0xc8
push 0xc8
push ebx
push edx
call fcn.006fc580
add esp, 0x54
xor esi, esi
mov dword [esp + 0x3c], 0
mov dword [0xc4b954], ebx
mov dword [0xc4b950], ebx
mov dword [esp + 0xc], esi
push ebp
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x98]
push edx
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0x3f800000
call fcn.0059c730
add esp, 0xc
lea ecx, [esp + 0x90]
call fcn.0059c910
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0xd4]
push edx
call fcn.0059c730
add esp, 0xc
lea ecx, [esp + 0xcc]
call fcn.0059c910
fild dword [esp + 0x10]
fmul dword [0x8717b4]
fld st(0)
fsin
fstp dword [esp + 0x2c]
fcos
fstp dword [esp + 0x10]
fld dword [esp + 0x90]
fmul dword [esp + 0x2c]
fst dword [esp + 0x130]
fld dword [esp + 0x94]
fmul dword [esp + 0x2c]
fld st(0)
fld dword [esp + 0x98]
fmul dword [esp + 0x2c]
fst dword [esp + 0x2c]
fld dword [esp + 0x130]
fmul dword [esp + 0x474]
fstp dword [esp + 0xd8]
fxch st(1)
fmul dword [esp + 0x474]
fstp dword [esp + 0xdc]
fmul dword [esp + 0x474]
fld dword [esp + 0xd8]
fadd dword [esp + 0x43c]
fld dword [esp + 0xdc]
fadd dword [esp + 0x440]
fstp dword [esp + 0x18]
fxch st(1)
fadd dword [esp + 0x444]
fstp dword [esp + 0x1c]
fld dword [esp + 0xcc]
fmul dword [esp + 0x10]
fst dword [esp + 0x50]
fld dword [esp + 0xd0]
fmul dword [esp + 0x10]
fst dword [esp + 0x30]
fld dword [esp + 0xd4]
fmul dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x168]
fxch st(1)
fmul dword [esp + 0x474]
fstp dword [esp + 0xb4]
fmul dword [esp + 0x474]
fstp dword [esp + 0xb8]
fld dword [esp + 0x168]
fmul dword [esp + 0x474]
fstp dword [esp + 0xbc]
fld dword [esp + 0xb4]
fadd st(1)
mov eax, dword [esp + 0x10]
mov dword [esp + 0x174], eax
fstp dword [esp + 0x14]
fstp st(0)
fld dword [esp + 0xb8]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xbc]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x154]
fld dword [esp + 0x2c]
fld dword [esp + 0x154]
fmul dword [esp + 0x454]
fstp dword [esp + 0xe4]
fxch st(1)
fmul dword [esp + 0x454]
fstp dword [esp + 0xe8]
fmul dword [esp + 0x454]
fld dword [esp + 0xe4]
fadd dword [esp + 0xa8]
fld dword [esp + 0xe8]
fadd dword [esp + 0xac]
fstp dword [esp + 0x24]
fxch st(1)
fadd dword [esp + 0xb0]
fstp dword [esp + 0x28]
fld dword [esp + 0x50]
fld dword [esp + 0x30]
fxch st(1)
fmul dword [esp + 0x454]
fstp dword [esp + 0x84]
fmul dword [esp + 0x454]
fstp dword [esp + 0x88]
fld dword [esp + 0x174]
fmul dword [esp + 0x454]
fstp dword [esp + 0x8c]
fadd dword [esp + 0x84]
fld dword [esp + 0x88]
fadd dword [esp + 0x24]
fld dword [esp + 0x8c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x1c]
fsub dword [esp + 0x450]
fld dword [esp + 0x1c]
fsub dword [esp + 0x28]
fdivp st(1)
fstp dword [esp + 0x10]
fxch st(1)
fsub dword [esp + 0x14]
fstp dword [esp + 0x148]
fsub dword [esp + 0x18]
fld dword [esp + 0x28]
fsub dword [esp + 0x1c]
fld dword [esp + 0x148]
fmul dword [esp + 0x10]
fstp dword [esp + 0x6c]
fxch st(1)
fmul dword [esp + 0x10]
fstp dword [esp + 0x70]
fmul dword [esp + 0x10]
fld dword [esp + 0x6c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x60]
fld dword [esp + 0x70]
fadd dword [esp + 0x18]
cmp esi, ebx
mov eax, dword [esp + 0x60]
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
fadd dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x28], edx
je 0x6c5e7b
cmp esi, 0xa
je 0x6c5e7b
cmp esi, 0x14
jne 0x6c5e61
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], edx
jmp 0x6c5e7b
cmp esi, 0x1e
jne 0x6c5e7b
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
fld dword [esp + 0x60]
fsub dword [esp + 0x14]
fld st(0)
fld dword [esp + 0x64]
fsub dword [esp + 0x18]
fst dword [esp + 0x30]
fld dword [esp + 0x68]
fsub dword [esp + 0x1c]
fst dword [esp + 0x50]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fcomp dword [0x858628]
fnstsw ax
test ah, 0x41
jne 0x6c5f5b
mov ecx, dword [esp + 0x30]
fstp dword [esp + 0x78]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x80], edx
call fcn.0059c910
fld dword [esp + 0x78]
fmul dword [0x858628]
fld dword [esp + 0x7c]
fmul dword [0x858628]
fld dword [esp + 0x80]
fmul dword [0x858628]
fstp dword [esp + 0x144]
fxch st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x9c]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
fadd dword [esp + 0x18]
fstp dword [esp + 0xa0]
fld dword [esp + 0x144]
mov ecx, dword [esp + 0xa0]
fadd dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
fstp dword [esp + 0xa4]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x28], edx
jmp 0x6c5f5d
fstp st(0)
fld dword [0x8d12c0]
mov eax, dword [0xc4b950]
fmul dword [0x858fcc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
lea eax, [eax + eax*8]
fadd dword [0x858b1c]
shl eax, 2
mov dword [eax + 0xc4d958], ecx
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x30]
fld dword [esp + 0x14]
mov dword [eax + 0xc4d95c], edx
fsub dword [esp + 0x43c]
mov edx, dword [esp + 0x20]
mov dword [eax + 0xc4d960], ecx
mov ecx, dword [esp + 0x24]
fstp dword [esp + 0x44]
mov dword [eax + 0xc4d97c], edx
fld dword [esp + 0x18]
mov edx, dword [esp + 0x28]
fsub dword [esp + 0x440]
mov dword [eax + 0xc4d980], ecx
lea ecx, [esp + 0x44]
mov dword [eax + 0xc4d984], edx
fstp dword [esp + 0x48]
fld dword [esp + 0x1c]
fsub dword [esp + 0x444]
fstp dword [esp + 0x4c]
call fcn.0059c910
fld dword [esp + 0x44]
fmul dword [esp + 0x54]
fld dword [esp + 0x4c]
fmul dword [esp + 0x5c]
faddp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0x58]
faddp st(1)
fcom dword [0x858b50]
fnstsw ax
test ah, 5
jp 0x6c601b
fchs
fld st(0)
fmulp st(1)
fcom dword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x6c602e
fst dword [esp + 0x40]
cmp esi, 0x28
fld dword [esp + 0x30]
mov edi, dword [0xc4b950]
mov ebp, dword [0xc4b954]
fstp dword [esp + edi*4 + 0x2ec]
mov dword [esp + edi*4 + 0x2f0], ebx
fst dword [esp + edi*4 + 0x1a4]
fstp dword [esp + edi*4 + 0x1a8]
je 0x6c60be
fld dword [esp + 0x474]
mov word [ebp*2 + 0xc4b958], di
fcomp dword [0x858b50]
lea ecx, [edi + 3]
lea eax, [edi + 1]
mov word [ebp*2 + 0xc4b95a], cx
mov word [ebp*2 + 0xc4b95c], ax
fnstsw ax
add ebp, 3
mov dword [0xc4b954], ebp
test ah, 0x41
jne 0x6c60be
mov word [ebp*2 + 0xc4b958], di
lea edx, [edi + 2]
mov word [ebp*2 + 0xc4b95a], dx
mov word [ebp*2 + 0xc4b95c], cx
add ebp, 3
mov dword [0xc4b954], ebp
add edi, 2
inc esi
cmp esi, 0x28
mov dword [0xc4b950], edi
mov dword [esp + 0x10], esi
jle 0x6c5b42
xor esi, esi
cmp edi, 4
jl 0x6c6211
fld dword [0x858624]
mov dword [esp + 0x10], 3
fdiv dword [esp + 0x40]
mov ebp, 0xc4d994
fld dword [esp + esi*4 + 0x1a4]
fmul dword [esp + esi*4 + 0x2ec]
fmul st(1)
fld dword [0x858a48]
fmul st(1)
call fcn.00821b40
fmul dword [0x859aac]
movzx eax, al
mov ebx, eax
shl ebx, 8
or ebx, eax
shl ebx, 8
call fcn.00821b40
movzx eax, al
fld dword [esp + esi*4 + 0x1a8]
fmul dword [esp + esi*4 + 0x2f0]
or ebx, eax
mov dword [ebp - 0x24], ebx
fmul st(1)
fld dword [0x858a48]
fmul st(1)
call fcn.00821b40
fmul dword [0x859aac]
movzx eax, al
mov ebx, eax
shl ebx, 8
or ebx, eax
shl ebx, 8
call fcn.00821b40
movzx ecx, al
fld dword [esp + esi*4 + 0x2f4]
fmul dword [esp + esi*4 + 0x1ac]
or ebx, ecx
mov dword [ebp], ebx
fmul st(1)
fld dword [0x858a48]
fmul st(1)
call fcn.00821b40
fmul dword [0x859aac]
movzx eax, al
mov ebx, eax
shl ebx, 8
or ebx, eax
shl ebx, 8
call fcn.00821b40
movzx edx, al
fld dword [esp + esi*4 + 0x2f8]
fmul dword [esp + esi*4 + 0x1b0]
or ebx, edx
mov dword [ebp + 0x24], ebx
fmul st(1)
fld dword [0x858a48]
fmul st(1)
call fcn.00821b40
fmul dword [0x859aac]
movzx eax, al
mov ebx, eax
shl ebx, 8
or ebx, eax
shl ebx, 8
call fcn.00821b40
movzx eax, al
or ebx, eax
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [ebp + 0x48], ebx
add esi, 4
add ebp, 0x90
cmp eax, edi
mov dword [esp + 0x10], eax
jl 0x6c60f7
mov ebp, dword [0xc4b954]
fstp st(0)
xor ebx, ebx
cmp esi, edi
jge 0x6c6280
fld dword [0x858624]
lea ecx, [esi + esi*8]
fdiv dword [esp + 0x40]
lea edx, [ecx*4 + 0xc4d970]
mov dword [esp + 0x10], edx
lea ecx, [ecx]
fld dword [esp + esi*4 + 0x1a4]
fmul dword [esp + esi*4 + 0x2ec]
fmul st(1)
fld dword [0x858a48]
fmul st(1)
call fcn.00821b40
fmul dword [0x859aac]
movzx eax, al
mov ebx, eax
shl ebx, 8
or ebx, eax
shl ebx, 8
call fcn.00821b40
movzx eax, al
or ebx, eax
mov eax, dword [esp + 0x10]
mov dword [eax], ebx
inc esi
add eax, 0x24
cmp esi, edi
mov dword [esp + 0x10], eax
jl 0x6c6230
fstp st(0)
xor ebx, ebx
cmp ebp, ebx
pop ebp
jle 0x6c62b5
push 0x18
push ebx
push edi
push 0xc4d958
call fcn.007ef450
add esp, 0x10
test eax, eax
je 0x6c62b5
mov ecx, dword [0xc4b954]
push ecx
push 0xc4b958
push 3
call fcn.007ef550
add esp, 0xc
call fcn.007ef520
fld dword [esp + 0x114]
mov eax, dword [esp + 0x444]
fsub dword [esp + 0x444]
mov ecx, dword [esp + 0x448]
mov esi, dword [esp + 0x460]
mov edx, dword [esp + 0x44c]
fstp dword [esp + 0x10]
mov dword [esi], eax
fld dword [esp + 0x118]
mov dword [esi + 4], ecx
fsub dword [esp + 0x448]
mov dword [esi + 8], edx
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x464]
fstp dword [esp + 0x14]
fld dword [esp + 0x11c]
mov dword [esp + 0xbc], eax
fsub dword [esp + 0x44c]
mov eax, dword [esp + 0x10]
mov dword [edx], eax
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x120]
mov eax, dword [esp + 0x18]
fsub dword [esp + 0x444]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x468]
mov dword [edx + 8], eax
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [esp + 0x124]
mov dword [ecx], edx
fsub dword [esp + 0x448]
pop edi
pop esi
fstp dword [esp + 0x18]
fld dword [esp + 0x120]
mov eax, dword [esp + 0x18]
fsub dword [esp + 0x444]
mov dword [ecx + 4], eax
mov al, byte [esp + 0x454]
test al, al
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov dword [ecx + 8], edx
je 0x6c6509
fld dword [esp + 0x444]
fadd dword [0x858c80]
fstp dword [esp + 0xbc]
fld dword [esp + 8]
fmul dword [0x858f08]
fstp dword [esp + 8]
fld dword [esp + 0xc]
fmul dword [0x858f08]
fstp dword [esp + 0xc]
fld dword [esp + 0x14]
fmul dword [0x858f08]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fmul dword [0x858f08]
fstp dword [esp + 0x18]
fld dword [esp + 8]
fmul dword [esp + 8]
fld dword [esp + 0xc]
fmul dword [esp + 0xc]
faddp st(1)
fsqrt
fcomp dword [0x858628]
fnstsw ax
test ah, 5
jp 0x6c6509
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fcomp dword [0x858628]
fnstsw ax
test ah, 5
jp 0x6c6509
mov eax, dword [0xb6f03c]
cmp eax, ebx
je 0x6c6445
add eax, 0x30
jmp 0x6c644a
mov eax, 0xb6f02c
fld dword [esp + 0x43c]
fsub dword [eax]
fld dword [esp + 0x440]
fsub dword [eax + 4]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcom dword [0x858fe8]
fnstsw ax
test ah, 0x41
je 0x6c6507
fmul dword [0x858cec]
fsubr dword [0x858624]
fmul dword [esp + 0x44c]
fmul dword [0x858b8c]
fld dword [0x858a48]
fmul st(1)
call fcn.00821b40
fld dword [0x859aac]
push 0
fmul st(1)
push 0
push 0x3f800000
push 1
mov bl, al
push 0x41700000
call fcn.00821b40
fmul dword [0x858bf4]
push eax
push ebx
push ebx
call fcn.00821b40
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
mov edx, dword [0xc403f4]
push eax
lea ecx, [esp + 0xe8]
push ecx
push edx
push 2
call fcn.00707390
add esp, 0x40
pop ebx
add esp, 0x424
ret
fstp st(0)
pop ebx
add esp, 0x424
ret