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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
push esi
lea eax, [esp + 0x80]
push edi
push eax
call 0x98e7be10
xor edx, edx
add dword [ecx], ecx
add byte [eax], al
add byte [ebx + 0x247c8df0], cl
xor al, 0x89
push esp
and al, 0x64
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x64], edx
xor ebx, ebx
lea ecx, [ebp + 0x10]
mov dword [eax + edx*2 + 0x68], edx
xor eax, eax
mov edx, dword [ecx]
add ecx, 0x10
mov dword [esp + eax + 0x78], edx
mov dword [esp + eax + 0x14], edx
add eax, 4
cmp eax, 0xc
jl 0x491541
xor ecx, ecx
mov dword [edi + 0x24], esi
pop esp
fld qword [0x5045a0]
xor edi, edi
mov edx, 1
cmp edx, 3
jge 0x491588
lea eax, [edx + edi]
lea esi, [ebp + eax*4 + 0x10]
mov eax, 3
sub eax, edx
fld dword [esi]
fabs
add esi, 4
dec eax
faddp st(1)
jne 0x49157c
inc edx
add edi, 3
lea eax, [edx - 1]
cmp eax, 3
jl 0x491569
fcom qword [0x5045a0]
fnstsw ax
test ah, 0x44
jnp 0x4918ec
cmp ecx, 3
jge 0x4915b2
fmul qword [0x5045b8]
jmp 0x4915ba
fstp st(0)
fld qword [0x5045a0]
xor eax, eax
xor edx, edx
mov dword [esp + 0x54], eax
mov edi, 1
mov dword [esp + 0xc], edx
cmp edi, 3
mov esi, edi
jge 0x491845
lea ebx, [eax + 3]
add eax, edi
mov dword [esp + 0x2c], ebx
lea ebx, [edi + 1]
mov dword [esp + 0x10], ebx
lea ebx, [ebp + eax*4 + 0x10]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x58], ebx
fld dword [ebx]
fabs
fld qword [0x5045b0]
fmul st(1)
cmp ecx, 3
fstp qword [esp + 0x20]
jle 0x49163c
fld dword [esp + edx + 0x14]
fabs
fld qword [esp + 0x20]
fadd st(1)
fcompp
fnstsw ax
test ah, 0x44
jp 0x49163c
fld dword [esp + esi*4 + 0x14]
fabs
fld qword [esp + 0x20]
fadd st(1)
ficom word [ecx]
fnstsw ax
test ah, 0x44
jp 0x49163c
mov dword [ebx], 0
jmp 0x491816
fcomp st(1)
fnstsw ax
and eax, 0x4100
jne 0xc91818
fld dword [esp + esi*4 + 0x14]
fsub dword [esp + edx + 0x14]
fld st(0)
fabs
fld qword [esp + 0x20]
fadd st(1)
fcompp
fnstsw ax
test ah, 0x44
jp 0x49166a
fdivr dword [ebx]
jmp 0x4916a1
fmul qword [0x5045a8]
fdiv dword [ebx]
fld st(0)
fmul st(1)
fadd qword [0x504220]
fsqrt
fld st(1)
fabs
faddp st(1)
fdivr qword [0x504220]
fstp qword [esp + 0x20]
fcomp qword [0x5045a0]
fld qword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x4916a5
fchs
fst qword [esp + 0x20]
fld st(0)
fmul st(1)
lea ecx, [edi - 1]
test ecx, ecx
fadd qword [0x504220]
fsqrt
fdivr qword [0x504220]
fst qword [esp + 0x70]
fmulp st(1)
fld qword [esp + 0x70]
fadd qword [0x504220]
fdivr st(1)
fld dword [ebx]
fmul qword [esp + 0x20]
fld dword [esp + edx + 0x60]
fsub st(1)
mov dword [ebx], 0xc8000000
fstp dword [esp + edx + 0x60]
fld st(0)
fadd dword [esp + esi*4 + 0x60]
fstp dword [esp + esi*4 + 0x60]
fld dword [esp + edx + 0x14]
fsub st(1)
fstp dword [esp + edx + 0x14]
fadd dword [esp + esi*4 + 0x14]
fstp dword [esp + esi*4 + 0x14]
jle 0x49173c
lea eax, [ebp + edx + 0x10]
lea ecx, [ebp + esi*4 + 0x10]
lea edx, [edi - 1]
fld dword [eax]
fld dword [ecx]
fld st(2)
fmul st(2)
add eax, 0xc
add ecx, 0xc
dec edx
fadd st(1)
fmul st(4)
fsubr st(2)
fstp dword [eax - 0xc]
fld st(2)
fmul st(1)
fsubr st(2)
fmul st(4)
fadd st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fstp st(0)
jne 0x49170d
mov edx, dword [esp + 0xc]
cmp edi, esi
jge 0x491782
mov eax, dword [esp + 0x6c]
lea edx, [esi + edi*2]
mov ecx, edi
add ecx, edx
mov edx, esi
sub edx, edi
lea ecx, [ebp + ecx*4 + 0x10]
fld dword [eax]
fld dword [ecx]
fld st(2)
fmul st(2)
add eax, 4
add ecx, 0xc
dec edx
fadd st(1)
fmul st(4)
fsubr st(2)
fstp dword [eax - 4]
fld st(2)
fmul st(1)
fsubr st(2)
fmul st(4)
fadd st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fstp st(0)
jne 0x491753
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp eax, 3
jge 0x4917d4
mov edx, dword [esp + 0x2c]
add eax, edx
mov edx, 3
lea ecx, [ebp + eax*4 + 0x10]
lea eax, [ebx + 4]
sub edx, dword [esp + 0x10]
fld dword [eax]
fld dword [ecx]
fnstenv [ecx - 0x3f7c3528]
add al, 0x83
rol dword [edx + ecx*2], 0xd8
rcr eax, 0xcc
fsubr st(2)
fstp dword [eax - 4]
fld st(2)
fmul st(1)
fsubr st(2)
fmul st(4)
fadd st(1)
fstp dword [ecx - 4]
fstp st(0)
fstp st(0)
jne 0x4917a1
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0xc]
lea eax, [esp + edx + 0x30]
lea ecx, [esp + esi*4 + 0x30]
mov edx, 3
fld dword [eax]
fld dword [ecx]
fld st(2)
fmul st(2)
add eax, 0xc
add ecx, 0xc
dec edx
fadd st(1)
fmul st(4)
fsubr st(2)
fstp dword [eax - 0xc]
fld st(2)
fmul st(1)
fsubr st(2)
fmul st(4)
fadd st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fstp st(0)
jne 0x4917e1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xc]
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x10]
inc esi
inc eax
add ebx, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
add eax, 3
mov dword [esp + 0x58], ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
cmp eax, 4
jl 0x4915f2
mov eax, dword [esp + 0x54]
inc edi
add eax, 3
add edx, 4
mov dword [esp + 0x54], eax
lea esi, [edi - 1]
mov dword [esp + 0xc], edx
cmp esi, 3
jl 0x4915cb
xor ebx, ebx
xor eax, eax
fstp st(0)
fld dword [esp + eax + 0x60]
fadd dword [esp + eax + 0x78]
mov dword [esp + eax + 0x60], ebx
add eax, 4
cmp eax, 0xc
fst dword [esp + eax + 0x74]
fstp dword [esp + eax + 0x10]
jl 0x491866
inc ecx
cmp ecx, 0x32
mov dword [esp + 0x5c], ecx
jl 0x49155c
fld dword [esp + 0x34]
mov edx, dword [esp - 0x3d]
mov eax, dword [esp + 0x48]
fstp dword [esp + 0x3c]
fld dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
mov edi, dword [ebp + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x44]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0xc]
fstp dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov ecx, 9
lea esi, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [edx], eax
mov eax, dword [esp + 0x1c]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
fstp st(0)
fld dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov edi, dword [ebp + 8]
fstp dword [esp + 0x3c]
fld dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, 9
fstp dword [esp + 0x48]
fld dword [esp + 0x44]
lea esi, [esp + 0x30]
mov dword [esp + 0x34], eax
fstp dword [esp + 0x4c]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
pop edi
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
pop esi
pop ebx
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov esp, ebp
pop ebp
ret