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

Disassembly:
sub esp, 0xb0
fld dword [0x7cd7b4]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xc0000000
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0xbfddb22d
mov dword [esp + 0x50], 0x3f800000
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x3fddb22d
mov dword [esp + 0x5c], 0x3f800000
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xbf000000
mov dword [esp + 0x68], 0x3f000000
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0xbf000000
mov dword [esp + 0x74], 0xbf000000
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0x3f000000
mov dword [esp + 0x80], 0xbf000000
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x3f000000
mov dword [esp + 0x8c], 0x3f000000
mov dword [esp + 0x90], 0
mov dword [esp + 0x10], 0x837b34
mov dword [esp + 0x24], 0x83ab6c
fld st(0)
fadd dword [0x7dc634]
mov ecx, 0x1f
fmul dword [0x7da00c]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov ebx, eax
and eax, 0x7fffffff
mov ebp, eax
mov eax, 1
mov esi, ebp
mov edx, ebp
sar esi, 0x17
sub esi, 0x7f
and edx, 0x7fffff
sub ecx, esi
mov edi, esi
shl eax, cl
mov ecx, edx
sar ebx, 0x1f
sar edi, 0x1f
dec eax
shl ecx, 8
and eax, ecx
mov ecx, 0x1f
neg eax
sbb eax, eax
or edx, 0xff800000
inc eax
sub ecx, esi
shl edx, 8
dec ebp
shr edx, cl
not edi
sar ebp, 0x1f
xor ebp, edi
mov ecx, 0x1f
and eax, ebp
and edx, edi
and eax, ebx
xor edx, ebx
add eax, edx
mov dword [esp + 0x18], eax
mov edx, eax
fild dword [esp + 0x18]
and edx, 0x3ff
inc eax
and eax, 0x3ff
fsubr dword [esp + 0x14]
fld dword [0x7cd794]
fsub st(1)
fmul dword [edx*4 + 0x84ffb0]
fxch st(1)
fmul dword [eax*4 + 0x84ffb0]
faddp st(1)
fld st(1)
fmul dword [0x7da00c]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov ebx, eax
and eax, 0x7fffffff
mov ebp, eax
mov eax, 1
mov esi, ebp
mov edx, ebp
sar esi, 0x17
sub esi, 0x7f
and edx, 0x7fffff
sub ecx, esi
mov edi, esi
shl eax, cl
sar ebx, 0x1f
sar edi, 0x1f
mov ecx, edx
dec eax
not edi
shl ecx, 8
and eax, ecx
mov ecx, 0x1f
neg eax
sbb eax, eax
or edx, 0xff800000
inc eax
sub ecx, esi
shl edx, 8
dec ebp
shr edx, cl
sar ebp, 0x1f
xor ebp, edi
mov ecx, dword [esp + 0x24]
and eax, ebp
and edx, edi
and eax, ebx
xor edx, ebx
add eax, edx
mov dword [esp + 0x18], eax
mov edx, eax
fild dword [esp + 0x18]
and edx, 0x3ff
inc eax
and eax, 0x3ff
fsubr dword [esp + 0x14]
fld dword [0x7cd794]
fsub st(1)
fmul dword [edx*4 + 0x84ffb0]
fxch st(1)
fmul dword [eax*4 + 0x84ffb0]
lea eax, [esp + 0x40]
mov edx, 3
faddp st(1)
fld st(1)
fmul dword [eax]
fld st(1)
fmul dword [eax + 4]
mov esi, dword [eax + 8]
add eax, 0xc
add ecx, 0xc
dec edx
fsubp st(1)
fstp dword [ecx - 0x10]
fld st(1)
fmul dword [eax - 8]
fld st(1)
fmul dword [eax - 0xc]
faddp st(1)
fstp dword [ecx - 0xc]
mov dword [ecx - 8], esi
jne 0x5aca72
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x64]
mov esi, 4
fld st(1)
fmul dword [eax]
fld st(1)
fmul dword [eax + 4]
mov edi, dword [eax + 8]
add eax, 0xc
add edx, 0xc
dec esi
fsubp st(1)
fstp dword [edx - 0x10]
fld st(0)
fmul dword [eax - 0xc]
fld st(2)
fmul dword [eax - 8]
faddp st(1)
fstp dword [edx - 0xc]
mov dword [edx - 8], edi
jne 0x5acaab
fstp st(0)
fstp st(0)
fadd dword [0x7ddc1c]
cmp ecx, 0x83cf6c
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], edx
jl 0x5ac917
xor esi, esi
fstp st(0)
mov dword [esp + 0x14], esi
jmp 0x5acb03
mov esi, dword [esp + 0x14]
mov ebx, 1
mov ecx, esi
shl ebx, cl
mov edi, ebx
mov dword [esp + 0x3c], ebx
imul edi, ebx
lea ebp, [edi + edi*2]
lea eax, [ebp*8]
push eax
call fcn.00672b70
add esp, 4
test eax, eax
je 0x5acb35
dec ebp
mov dword [esp + 0x18], ebp
mov ebp, eax
jmp 0x5acb37
xor ebp, ebp
shl edi, 2
mov dword [esp + 0x34], ebp
mov dword [esi*4 + 0x83d020], ebp
lea ecx, [edi*8]
push ecx
call fcn.00672b70
xor edx, edx
add esp, 4
cmp eax, edx
je 0x5acb62
dec edi
mov dword [esp + 0x18], edi
jmp 0x5acb64
xor eax, eax
fld dword [0x7cd7b4]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
fild qword [esp + 0x1c]
mov dword [esi*4 + 0x83d034], eax
xor esi, esi
cmp ebx, edx
mov dword [esp + 0x30], eax
fdivr dword [0x7cd794]
mov dword [esp + 0x2c], 0
fstp dword [esp + 0x10]
jbe 0x5accf4
mov dword [esp + 0x18], ebx
jmp 0x5acbaf
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
fld dword [esp + 0x10]
fmul dword [0x7cd778]
fld dword [esp + 0x10]
fmul dword [0x7ddc18]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], 0
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x2c]
fld st(0)
fadd dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x9c], ecx
lea eax, [eax + edx*8]
lea ecx, [ebp + esi*8]
fstp dword [esp + 0xbc]
fadd dword [esp + 0x2c]
fld dword [esp + 0x10]
fadd dword [esp + 0x2c]
fld dword [esp + 0x10]
fadd dword [esp + 0x2c]
fld dword [esp + 0x10]
fstp dword [esp + 0xb0]
mov edi, dword [esp + 0x24]
inc esi
mov dword [esp + 0xac], edi
mov ebp, dword [esp + 0xac]
fld st(3)
mov edi, ecx
add ecx, 8
fadd st(5)
fstp dword [edi]
fld st(4)
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0xbc]
fld st(0)
mov edi, ecx
add ecx, 8
inc esi
fstp dword [edi]
fld dword [esp + 0x10]
mov dword [edi + 4], ebp
mov edi, ecx
fadd st(6)
fstp dword [edi]
fld st(3)
inc esi
add ecx, 8
fstp dword [edi + 4]
mov edi, dword [esp + 0x24]
inc edx
mov dword [esp + 0xa4], edi
mov ebp, dword [esp + 0xa4]
fld st(0)
mov edi, eax
add eax, 8
inc edx
fstp dword [edi]
mov dword [edi + 4], ebp
mov edi, eax
add eax, 8
mov ebp, dword [esp + 0x9c]
fstp dword [edi]
fld st(1)
inc edx
fstp dword [edi + 4]
fld dword [esp + 0x38]
mov edi, eax
add eax, 8
fadd st(5)
fstp dword [edi]
inc edx
fst dword [edi + 4]
fld dword [esp + 0xb0]
mov edi, eax
add eax, 8
fadd st(5)
fstp dword [edi]
fxch st(4)
fadd dword [esp + 0x10]
fxch st(4)
dec ebx
mov dword [edi + 4], ebp
jne 0x5acc18
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x2c]
fadd dword [esp + 0x10]
dec eax
mov dword [esp + 0x18], eax
fstp dword [esp + 0x2c]
fld dword [0x7cd7b4]
jne 0x5acba3
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 5
mov dword [esp + 0x14], eax
fstp st(0)
jl 0x5acaff
push 0x18
call fcn.00672b70
xor edi, edi
add esp, 4
cmp eax, edi
je 0x5acd2c
push edi
push 0x4b0
mov ecx, eax
call fcn.00551ef0
mov dword [0x83cfb0], eax
jmp 0x5acd32
mov dword [0x83cfb0], edi
push 0x18
call fcn.00672b70
add esp, 4
cmp eax, edi
je 0x5acd54
push edi
push 0x708
mov ecx, eax
call fcn.00551ef0
mov dword [0x83ab50], eax
jmp 0x5acd5a
mov dword [0x83ab50], edi
push 0x18
call fcn.00672b70
add esp, 4
cmp eax, edi
je 0x5acd7b
push 0x4b0
mov ecx, eax
call fcn.005520c0
mov dword [0x83ab54], eax
jmp 0x5acd81
mov dword [0x83ab54], edi
push 0x18
call fcn.00672b70
add esp, 4
cmp eax, edi
je 0x5acda2
push 0x708
mov ecx, eax
call fcn.005520c0
mov dword [0x837b28], eax
jmp 0x5acda8
mov dword [0x837b28], edi
mov edx, dword [0x83cfb0]
lea ecx, [esp + 0x1c]
push edx
call fcn.00551d90
mov ecx, dword [esp + 0x20]
xor eax, eax
mov word [ecx], ax
inc eax
add ecx, 2
cmp eax, 0x4b0
jl 0x5acdbe
lea ecx, [esp + 0x1c]
call fcn.00551e00
mov eax, dword [0x83ab50]
lea ecx, [esp + 0x1c]
push eax
call fcn.00551d90
mov edx, dword [esp + 0x20]
mov ecx, 2
mov esi, 0x12c
lea eax, [edx + 4]
lea edx, [ecx - 2]
lea ebx, [ecx - 1]
mov word [eax - 4], dx
mov word [eax - 2], bx
mov word [eax], cx
lea ebx, [ecx + 1]
mov word [eax + 2], cx
mov word [eax + 4], bx
mov word [eax + 6], dx
add ecx, 4
add eax, 0xc
dec esi
jne 0x5acdf5
lea ecx, [esp + 0x1c]
call fcn.00551e00
mov eax, dword [0x83ab54]
lea ecx, [esp + 0x1c]
push eax
call fcn.00551d90
mov ecx, dword [esp + 0x20]
xor eax, eax
mov word [ecx], ax
inc eax
add ecx, 2
cmp eax, 0x4b0
jl 0x5ace3c
lea ecx, [esp + 0x1c]
call fcn.00551e00
mov ecx, dword [0x837b28]
push ecx
lea ecx, [esp + 0x20]
call fcn.00551d90
mov edx, dword [esp + 0x20]
mov ecx, 2
mov esi, 0x12c
lea eax, [edx + 4]
lea edx, [ecx - 2]
lea ebx, [ecx - 1]
mov word [eax - 4], dx
mov word [eax - 2], bx
mov word [eax], cx
lea ebx, [ecx + 1]
mov word [eax + 2], cx
mov word [eax + 4], bx
mov word [eax + 6], dx
add ecx, 4
add eax, 0xc
dec esi
jne 0x5ace74
lea ecx, [esp + 0x1c]
call fcn.00551e00
push edi
call fcn.0058c390
add esp, 4
mov dword [0x83d048], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret