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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
mov eax, dword [ebp + 8]
fldz
mov ecx, dword [ebp + 0xc]
push ebx
xor edx, edx
cmp eax, edx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov dword [esp + 0x80], edx
mov dword [esp + 0x2c], eax
je 0x100498e9
cmp ecx, edx
je 0x100498e9
cmp dword [ebp + 0x10], edx
je 0x100498e9
cmp esi, edx
jg 0x100489c2
or eax, 0xffffffff
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
fld dword [0x100b6ab8]
fcom dword [ebp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x100489d7
fstp dword [ebp + 0x18]
jmp 0x100489d9
fstp st(0)
cmp esi, edx
jle 0x10048a76
fld1
mov eax, ecx
sub eax, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x2c]
xor edi, edi
cmp edx, 4
jl 0x10048a2e
lea ecx, [edx - 4]
shr ecx, 2
add ecx, 1
lea eax, [ebx + 8]
lea edi, [ecx*4]
fld dword [eax - 8]
add eax, 0x10
sub ecx, 1
fmul st(0), st(0)
faddp st(2)
fld dword [eax - 0x14]
fmul st(0), st(0)
faddp st(2)
fld dword [eax - 0x10]
fmul st(0), st(0)
faddp st(2)
fld dword [eax - 0xc]
fmul st(0), st(0)
faddp st(2)
jne 0x10048a0a
cmp edi, edx
jge 0x10048a40
fld dword [ebx + edi*4]
add edi, 1
cmp edi, edx
fmul st(0), st(0)
faddp st(2)
jl 0x10048a32
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
lea ebx, [eax + ecx]
lea ecx, [esi*4]
xor eax, eax
shr ecx, 2
mov edi, ebx
rep stosd dword es:[edi], eax
fst dword [ebx + edx*4]
lea eax, [esi*4]
add dword [esp + 0x2c], eax
add edx, 1
cmp edx, esi
jl 0x100489ec
fstp st(0)
fadd st(0), st(0)
call sub.MSVCR80.dll__CIsqrt
fild dword [ebp + 0x14]
fst qword [esp + 0x98]
fld dword [ebp + 0x18]
fmul st(2)
fdiv st(1)
fst qword [esp + 0xa8]
fld st(2)
fxch st(3)
fcompp
fnstsw ax
test ah, 0x41
jne 0x100495bf
mov eax, dword [esp + 0x80]
mov edx, eax
add eax, 1
cmp edx, 0x64
mov dword [esp + 0x80], eax
jge 0x100495bf
fdivp st(1)
mov edx, dword [ebp + 0x14]
lea ebx, [esi - 1]
fst qword [esp + 0xa0]
mov eax, dword [ebp + 8]
xor esi, esi
cmp ebx, esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x4c], esi
jle 0x1004959f
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
lea edi, [edx*4]
lea ecx, [edi + eax]
sub ebx, eax
sub eax, dword [ebp + 8]
mov dword [esp + 0x28], esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x78]
add esi, 1
add ebx, ecx
cmp esi, edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x48], esi
jge 0x10049576
mov edx, dword [esp + 0xc]
add eax, edx
mov edx, ecx
sub edx, eax
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x28]
lea edx, [ecx + 4]
mov dword [esp + 0x7c], edx
mov edx, edi
neg edx
mov dword [esp + 0x24], edx
mov edx, eax
sub edx, ebx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0xc]
sub edx, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], edx
mov edx, eax
sub edx, ecx
sub ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov eax, ecx
add esi, 4
sub eax, ebx
mov dword [esp + 0x8c], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc]
fld dword [esi + eax]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fld st(0)
fabs
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
fcomp st(2)
fnstsw ax
test ah, 5
jnp 0x10049533
mov ecx, dword [esp + 0x28]
fstp st(1)
mov edx, dword [esp + 0xc]
fld dword [ecx + edx]
mov dword [esp + 0x70], 1
fstp dword [esp + 0x84]
fld dword [esi + ebx]
fstp dword [esp + 0x64]
fld dword [esp + 0x84]
fsub dword [esp + 0x64]
fmul qword [0x100b6168]
fst qword [esp + 0x68]
fld st(1)
fxch st(2)
fchs
fstp dword [esp + 0x50]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
call sub.MSVCR80.dll__CIsqrt
fdivr dword [esp + 0x50]
fst qword [esp + 0x50]
fldz
fcomp qword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x10048c1f
fchs
fst qword [esp + 0x50]
fmul st(0), st(0)
fld1
fsubrp st(1)
call sub.MSVCR80.dll__CIsqrt
fadd qword [0x100b12c8]
fadd st(0), st(0)
call sub.MSVCR80.dll__CIsqrt
fdivr qword [esp + 0x50]
fst qword [esp + 0x50]
fmul st(0), st(0)
fst qword [esp + 0x90]
fld1
fsubrp st(1)
call sub.MSVCR80.dll__CIsqrt
fld st(0)
mov eax, dword [ebp + 8]
fmul st(1)
fld dword [esp + 0x30]
xor ecx, ecx
cmp dword [esp + 0x28], 0x10
fadd st(0), st(0)
fmul st(2)
fld qword [esp + 0x50]
fmul st(1), st(0)
jl 0x10048e8d
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 0xc]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x8c]
add ecx, ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x88]
add ecx, 0xfffffffb
shr ecx, 2
add ecx, 1
mov dword [esp + 0x30], ecx
add ecx, ecx
add ecx, ecx
mov ebx, dword [esp + 0x28]
fld dword [ebx + eax]
mov ebx, dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [ebx - 0xc]
mov ebx, dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [edx - 4]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + eax]
mov ebx, dword [esp + 0x20]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
add eax, edi
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx - 0xc]
mov ebx, dword [esp + 0x28]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edx - 4]
fld dword [ebx + eax]
mov ebx, dword [esp + 0x34]
fstp dword [esp + 0x18]
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [ebx + edx]
mov ebx, dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [edx]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + eax]
mov ebx, dword [esp + 0x34]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + edx]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edx]
mov ebx, dword [esp + 0x28]
add eax, edi
fld dword [ebx + eax]
mov ebx, dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [ebx - 4]
mov ebx, dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [edx + 4]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + eax]
mov ebx, dword [esp + 0x20]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
add eax, edi
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx - 4]
mov ebx, dword [esp + 0x28]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edx + 4]
fld dword [ebx + eax]
mov ebx, dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [ebx]
mov ebx, dword [esp + 0x28]
fstp dword [esp + 0x10]
fld dword [edx + 8]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + eax]
mov ebx, dword [esp + 0x20]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edx + 8]
add ebx, 0x10
add eax, edi
add edx, 0x10
sub dword [esp + 0x30], 1
mov dword [esp + 0x20], ebx
jne 0x10048cb0
mov ebx, dword [esp + 0x5c]
cmp ecx, dword [esp + 0x4c]
jge 0x10048f77
mov edx, dword [esp + 0x60]
lea edx, [edx + ecx*4]
add edx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x30], edx
lea edx, [esi + eax]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
sub edx, esi
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x8c]
add edx, ebx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x4c]
sub edx, ecx
mov ebx, edi
imul ebx, edx
add ecx, edx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x20]
add eax, ebx
mov ebx, dword [esp + 0x68]
fld dword [edx + ebx]
mov ebx, dword [esp + 0x34]
fstp dword [esp + 0x18]
fld dword [edx]
mov edx, dword [esp + 0x30]
fstp dword [esp + 0x1c]
fld dword [ebx + edx]
mov ebx, dword [esp + 0x68]
fstp dword [esp + 0x10]
fld dword [edx]
mov edx, dword [esp + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx + ebx]
mov ebx, dword [esp + 0x30]
add ebx, 4
fmul st(5)
mov dword [esp + 0x30], ebx
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edx]
mov edx, dword [esp + 0x34]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx + ebx - 4]
mov edx, dword [esp + 0x20]
add edx, edi
sub dword [esp + 0x50], 1
fmul st(5)
fxch st(1)
mov dword [esp + 0x20], edx
fmul st(2)
faddp st(1)
fstp dword [ebx - 4]
jne 0x10048edd
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
sub edx, ecx
cmp edx, 4
jl 0x10049181
mov edx, dword [esp + 0x60]
lea edx, [edx + ecx*4 + 8]
add edx, ebx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x74]
lea edx, [edx + ecx*4 + 4]
mov ebx, dword [esp + 0xc]
fld dword [ebx + ecx*4]
mov ebx, dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [edx - 4]
fstp dword [esp + 0x10]
fld dword [ebx - 8]
mov ebx, dword [esp + 0xc]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + ecx*4]
mov ebx, dword [esp + 0x20]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
add eax, edi
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx - 4]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx - 8]
mov ebx, dword [esp + 0x44]
fld dword [edx + ebx]
mov ebx, dword [esp + 0x40]
fstp dword [esp + 0x18]
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [edx]
fstp dword [esp + 0x10]
fld dword [edx + ebx]
mov ebx, dword [esp + 0x44]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx + ebx]
mov ebx, dword [esp + 0x40]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edx + ebx]
mov ebx, dword [esp + 0x2c]
add eax, edi
mov edi, dword [esp + 0x20]
fld dword [edi + ebx]
fstp dword [esp + 0x18]
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [edx + 4]
fstp dword [esp + 0x10]
fld dword [edi]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edi + ebx]
mov ebx, dword [esp + 0xc]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx + 4]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edi]
mov edi, dword [ebp + 0x14]
fld dword [ebx + ecx*4 + 0xc]
mov ebx, dword [esp + 0x20]
fstp dword [esp + 0x18]
add edi, edi
add edi, edi
add eax, edi
fld dword [esi + eax]
fstp dword [esp + 0x1c]
fld dword [edx + 8]
fstp dword [esp + 0x10]
fld dword [ebx + 4]
mov ebx, dword [esp + 0xc]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + ecx*4 + 0xc]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [esi + eax]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx + 8]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
mov ebx, dword [esp + 0x20]
fstp dword [ebx + 4]
add ebx, 0x10
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x48]
add ecx, 4
add ebx, 0xfffffffd
add eax, edi
add edx, 0x10
cmp ecx, ebx
jl 0x10048f9c
mov ebx, dword [esp + 0x5c]
cmp ecx, dword [esp + 0x48]
jge 0x1004922f
mov edx, dword [esp + 0x74]
add eax, esi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
sub eax, ecx
lea edx, [edx + ecx*4]
mov dword [esp + 0x50], eax
add ecx, eax
mov eax, dword [esp + 0x44]
fld dword [eax + edx]
mov eax, dword [esp + 0x34]
fstp dword [esp + 0x18]
add edx, 4
fld dword [eax]
mov eax, dword [esp + 0x40]
fstp dword [esp + 0x1c]
fld dword [edx - 4]
fstp dword [esp + 0x10]
fld dword [eax + edx - 4]
mov eax, dword [esp + 0x44]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [eax + edx - 4]
mov eax, dword [esp + 0x34]
add dword [esp + 0x34], edi
sub dword [esp + 0x50], 1
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [eax]
mov eax, dword [esp + 0x40]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx - 4]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [eax + edx - 4]
jne 0x100491a4
mov edx, dword [ebp + 0x14]
sub edx, ecx
cmp edx, 4
jl 0x10049449
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x44]
add eax, ebx
mov dword [esp + 0x68], eax
lea edx, [eax + ecx*4 + 0xc]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], edx
lea edx, [eax + ecx*4 + 8]
lea eax, [ebx + ecx*4 + 4]
mov ebx, dword [esp + 0x3c]
add edi, ebx
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x68]
sub edi, dword [esp + 0x5c]
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0xc]
fld dword [ebx + ecx*4]
fstp dword [esp + 0x18]
fld dword [eax - 4]
fstp dword [esp + 0x1c]
fld dword [edx - 8]
fstp dword [esp + 0x10]
fld dword [edi - 0xc]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + ecx*4]
mov ebx, dword [esp + 0x50]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 4]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx - 8]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0xc]
fld dword [ebx + eax]
mov ebx, dword [esp + 0x3c]
fstp dword [esp + 0x18]
fld dword [eax]
fstp dword [esp + 0x1c]
fld dword [eax + ebx]
mov ebx, dword [esp + 0x68]
fstp dword [esp + 0x10]
fld dword [ebx + eax]
mov ebx, dword [esp + 0x50]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + eax]
mov ebx, dword [esp + 0x3c]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [eax]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [eax + ebx]
mov ebx, dword [esp + 0x68]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx + eax]
mov ebx, dword [esp + 0x44]
fld dword [ebx + edx]
fstp dword [esp + 0x18]
mov ebx, dword [esp + 0x40]
fld dword [eax + 4]
add ecx, 4
fstp dword [esp + 0x1c]
add eax, 0x10
fld dword [edx]
add edx, 0x10
fstp dword [esp + 0x10]
add edi, 0x10
fld dword [edx + ebx - 0x10]
mov ebx, dword [esp + 0x44]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ebx + edx - 0x10]
mov ebx, dword [esp + 0x40]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 0xc]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx - 0x10]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edx + ebx - 0x10]
mov ebx, dword [esp + 0x2c]
fld dword [edi + ebx - 0x10]
fstp dword [esp + 0x18]
fld dword [eax - 8]
fstp dword [esp + 0x1c]
fld dword [edx - 0xc]
fstp dword [esp + 0x10]
fld dword [edi - 0x10]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edi + ebx - 0x10]
mov ebx, dword [ebp + 0x14]
add ebx, 0xfffffffd
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 8]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edx - 0xc]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x10]
cmp ecx, ebx
jl 0x10049279
mov ebx, dword [esp + 0x5c]
cmp ecx, dword [ebp + 0x14]
jge 0x100494e1
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
add edi, edx
mov edx, dword [ebp + 0x14]
lea eax, [ebx + ecx*4]
sub edx, ecx
fld dword [edi + eax]
mov ecx, dword [esp + 0x3c]
fstp dword [esp + 0x18]
add eax, 4
sub edx, 1
fld dword [eax - 4]
fstp dword [esp + 0x1c]
fld dword [ecx + eax - 4]
mov ecx, dword [esp + 0x60]
fstp dword [esp + 0x10]
fld dword [ecx + eax - 4]
mov ecx, dword [esp + 0x3c]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
fld dword [esp + 0x1c]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [edi + eax - 4]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 4]
fld dword [esp + 0x10]
fld st(0)
fmul st(5)
fld dword [esp + 0x14]
fld st(0)
fmul st(4)
fsubp st(2)
fxch st(1)
fstp dword [ecx + eax - 4]
mov ecx, dword [esp + 0x60]
fmul st(5)
fxch st(1)
fmul st(2)
faddp st(1)
fstp dword [ecx + eax - 4]
jne 0x10049464
fstp st(3)
mov ecx, dword [esp + 0xc]
fstp st(2)
mov eax, dword [esp + 0x28]
fld dword [esp + 0x84]
mov edx, dword [ebp + 0x14]
fld st(0)
fmul st(2)
fld dword [esp + 0x64]
fld st(0)
fld qword [esp + 0x90]
fmul st(1), st(0)
fxch st(3)
faddp st(1)
fsub st(5)
fstp dword [eax + ecx]
fmulp st(3)
fmulp st(1)
faddp st(1)
faddp st(1)
fstp dword [esi + ebx]
fldz
fst dword [eax + ebx]
fstp dword [esi + ecx]
fld qword [esp + 0xa0]
mov ecx, dword [esp + 0x58]
jmp 0x10049535
fstp st(0)
mov eax, dword [esp + 0x24]
add dword [esp + 0x48], 1
add dword [esp + 0x3c], eax
add dword [esp + 0x2c], eax
lea edi, [edx*4]
mov edx, dword [ebp + 0x14]
add dword [esp + 0x7c], edi
add dword [esp + 0x40], edi
add ebx, edi
add esi, 4
cmp dword [esp + 0x48], edx
mov dword [esp + 0x5c], ebx
jl 0x10048b8d
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
add dword [esp + 0x28], 4
add dword [esp + 0xc], edi
add ecx, edi
lea ebx, [edx - 1]
cmp esi, ebx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], ecx
jl 0x10048b0f
cmp dword [esp + 0x70], 0
jne 0x10048ad1
fld qword [esp + 0x98]
mov esi, dword [ebp + 0x14]
fdiv st(1), st(0)
fld qword [esp + 0xa8]
fcomp st(2)
fnstsw ax
test ah, 5
jnp 0x10048aa6
fstp st(1)
xor ecx, ecx
xor eax, eax
fstp st(0)
cmp esi, 4
jl 0x1004961c
mov ecx, dword [ebp + 0x10]
lea edi, [esi - 4]
shr edi, 2
add ecx, 8
add edi, 1
lea ebx, [edi*4]
mov dword [esp + 0x24], ebx
mov ebx, dword [ebp + 8]
lea edx, [esi + 1]
lea esp, [esp]
fld dword [ebx + eax*4]
add eax, edx
fstp dword [ecx - 8]
add ecx, 0x10
fld dword [ebx + eax*4]
add eax, edx
fstp dword [ecx - 0x14]
fld dword [ebx + eax*4]
add eax, edx
fstp dword [ecx - 0x10]
fld dword [ebx + eax*4]
add eax, edx
sub edi, 1
fstp dword [ecx - 0xc]
jne 0x100495f0
mov ecx, dword [esp + 0x24]
cmp ecx, esi
jge 0x10049641
mov edi, dword [ebp + 8]
lea edx, [esi*4 + 4]
lea eax, [edi + eax*4]
lea ecx, [ecx]
fld dword [eax]
mov edi, dword [ebp + 0x10]
fstp dword [edi + ecx*4]
add ecx, 1
add eax, edx
cmp ecx, esi
jl 0x10049630
xor edi, edi
cmp esi, edi
jle 0x100498de
mov eax, dword [ebp + 0xc]
lea edx, [esi - 1]
add eax, 8
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x58], 4
mov ebx, dword [ebp + 0x10]
fld dword [ebx + edi*4]
lea edx, [edi + 1]
fabs
mov ecx, edi
fstp dword [esp + 0x24]
mov dword [esp + 0x70], edx
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jl 0x1004977f
lea ebx, [ebx + edi*4 + 0xc]
fld dword [ebx - 8]
fabs
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100496b0
mov ecx, edx
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100496c5
fstp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jmp 0x100496c7
fstp st(0)
fld dword [ebx - 4]
fabs
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100496e8
lea ecx, [edx + 1]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100496fd
fstp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jmp 0x100496ff
fstp st(0)
fld dword [ebx]
fabs
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1004971f
lea ecx, [edx + 2]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10049734
fstp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jmp 0x10049736
fstp st(0)
fld dword [ebx + 4]
fabs
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10049757
lea ecx, [edx + 3]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1004976c
fstp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jmp 0x1004976e
fstp st(0)
add edx, 4
lea eax, [esi - 3]
add ebx, 0x10
cmp edx, eax
jl 0x10049690
cmp edx, esi
jge 0x100497c4
mov ebx, dword [ebp + 0x10]
fld dword [ebx + edx*4]
fabs
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100497a6
mov ecx, edx
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100497bb
fstp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jmp 0x100497bd
fstp st(0)
add edx, 1
cmp edx, esi
jl 0x10049786
cmp ecx, edi
fstp st(0)
je 0x100498be
mov eax, dword [ebp + 0x10]
fld dword [eax + edi*4]
mov edx, dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [eax + ecx*4]
fstp dword [eax + edi*4]
xor edi, edi
fld dword [esp + 0xc]
fstp dword [eax + ecx*4]
imul ecx, esi
cmp esi, 4
mov ebx, ecx
mov dword [esp + 0x24], ebx
jl 0x1004988f
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x4c]
lea edx, [esi - 4]
shr edx, 2
lea ecx, [ecx + ebx*4 + 8]
mov ebx, dword [esp + 0x38]
add edx, 1
lea edi, [edx*4]
add ebx, edi
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x24]
add ebx, edi
jmp 0x10049830
fld dword [eax - 8]
add eax, 0x10
fstp dword [esp + 0xc]
add ecx, 0x10
sub edx, 1
fld dword [ecx - 0x18]
fstp dword [eax - 0x18]
fld dword [esp + 0xc]
fstp dword [ecx - 0x18]
fld dword [eax - 0x14]
fstp dword [esp + 0xc]
fld dword [ecx - 0x14]
fstp dword [eax - 0x14]
fld dword [esp + 0xc]
fstp dword [ecx - 0x14]
fld dword [eax - 0x10]
fstp dword [esp + 0xc]
fld dword [ecx - 0x10]
fstp dword [eax - 0x10]
fld dword [esp + 0xc]
fstp dword [ecx - 0x10]
fld dword [eax - 0xc]
fstp dword [esp + 0xc]
fld dword [ecx - 0xc]
fstp dword [eax - 0xc]
fld dword [esp + 0xc]
fstp dword [ecx - 0xc]
jne 0x10049830
mov edx, dword [esp + 0x78]
cmp edi, esi
jge 0x100498be
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ebx*4]
lea eax, [eax + edx*4]
mov edx, esi
sub edx, edi
fld dword [eax]
add eax, 4
fstp dword [esp + 0xc]
add ecx, 4
sub edx, 1
fld dword [ecx - 4]
fstp dword [eax - 4]
fld dword [esp + 0xc]
fstp dword [ecx - 4]
jne 0x100498a0
mov edi, dword [esp + 0x70]
sub dword [esp + 0x58], 1
add dword [esp + 0x38], esi
lea eax, [esi*4]
add dword [esp + 0x4c], eax
cmp edi, esi
jl 0x10049660
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
fstp st(0)
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret 0x14