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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0xc4
fld qword [ebp + 0x38]
mov eax, dword [ebp + 8]
test eax, eax
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x68]
je 0x66010b
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x66010b
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x6600f7
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x6600f7
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jl 0x6600f7
mov eax, dword [ebp + 0x1c]
test eax, eax
jl 0x6600f7
mov eax, dword [ebp + 0x20]
test eax, eax
jle 0x6600f7
mov eax, dword [ebp + 0x24]
test eax, eax
jle 0x6600f7
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jle 0x65f7db
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0x1c]
cmp eax, edi
jle 0x65f7db
mov eax, dword [ebp + 0x30]
test eax, eax
jle 0x6600f7
mov eax, dword [ebp + 0x34]
test eax, eax
jle 0x6600f7
fldz
fcom st(1)
fnstsw ax
sahf
jae 0x65f7c5
fld qword [ebp + 0x40]
fcomp st(1)
fnstsw ax
sahf
jp 0x65de97
jbe 0x65f7c5
cmp ebx, 1
je 0x65dec1
cmp ebx, 2
je 0x65dec1
cmp ebx, 4
je 0x65dec1
cmp ebx, 0x10
je 0x65dec1
fstp st(0)
fstp st(0)
mov eax, 0xffffffea
add esp, 0xc4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp eax, 8
jl 0x65ded1
mov eax, dword [ebp + 0x10]
cmp eax, 8
jge 0x65df0a
mov eax, dword [ebp + 0xc]
cmp ebx, 0x10
jne 0x65dede
mov ebx, 4
cmp eax, 4
jl 0x65deeb
mov eax, dword [ebp + 0x10]
cmp eax, 4
jge 0x65df0a
mov eax, dword [ebp + 0xc]
cmp ebx, 4
jne 0x65def8
mov ebx, 2
cmp eax, 2
jl 0x65df05
mov eax, dword [ebp + 0x10]
cmp eax, 2
jge 0x65df0a
mov ebx, 1
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc0], esi
mov esi, dword [ebp + 0x20]
mov dword [esp + 0xb4], ebx
lea ebx, [ecx + esi]
mov edi, eax
sub edi, ecx
cmp eax, ebx
jl 0x65df2b
mov edi, esi
mov esi, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xb8], edi
lea ebx, [ecx + esi]
mov edi, eax
sub edi, ecx
mov ecx, dword [ebp + 0x18]
cmp eax, ebx
mov eax, dword [ebp + 0x6c]
mov ebx, dword [esp + 0xb4]
jl 0x65df55
mov edi, esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xbc], edi
test eax, eax
je 0x65e0b7
fld qword [0xb49e30]
mov edi, dword [esp + 0xb8]
mov eax, dword [esp + 0xbc]
fst qword [esp + 0x68]
mov dword [esp + 0x60], edi
fild dword [esp + 0x60]
fmul st(3)
fadd st(1), st(0)
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fmul qword [ebp + 0x40]
fld st(2)
call fcn.0069e080
mov edi, dword [ebp + 0x30]
mov dword [esp + 0x90], eax
cmp edi, eax
jle 0x65dff0
test eax, eax
jg 0x66011f
fld qword [0xb49e38]
fcomp st(3)
fnstsw ax
fxch st(2)
fstp st(0)
sahf
ja 0x65dfd6
mov eax, 1
mov dword [esp + 0x90], eax
jmp 0x65dffc
fstp st(3)
fstp st(1)
fstp st(1)
fstp st(0)
mov eax, 0xffffff37
add esp, 0xc4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fstp st(2)
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x90], eax
fld qword [esp + 0x68]
fadd st(2)
fld st(0)
call fcn.0069e080
mov edi, dword [ebp + 0x34]
cmp edi, eax
mov dword [esp + 0xa4], eax
jle 0x65e03a
test eax, eax
jg 0x660126
fld qword [0xb49e38]
fcompp
fnstsw ax
sahf
ja 0x65dfd6
mov eax, 1
mov dword [esp + 0xa4], eax
jmp 0x65e046
fstp st(0)
mov eax, dword [ebp + 0x34]
mov dword [esp + 0xa4], eax
cmp ebx, 1
je 0x65f7ef
fstp st(3)
fld1
fcom st(3)
fnstsw ax
sahf
jae 0x65e076
jp 0x65e076
fsub st(3), st(0)
mov eax, dword [esp + 0xb8]
add eax, 0xffffffff
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fdivrp st(4)
fxch st(3)
jmp 0x65e07a
fstp st(3)
fld st(1)
fxch st(1)
fcom st(3)
fnstsw ax
sahf
jbe 0x65e0a7
fsubrp st(3)
mov eax, dword [esp + 0xbc]
add eax, 0xffffffff
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fdivrp st(3)
fxch st(2)
fstp qword [esp + 0x80]
jmp 0x65e181
fstp st(3)
fstp st(2)
fst qword [esp + 0x80]
jmp 0x65e181
cmp ebx, 1
je 0x6600d6
mov eax, dword [esp + 0xb8]
add eax, 0xffffffff
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fdiv st(2)
add edi, 0xffffffff
mov dword [esp + 0x60], edi
fild dword [esp + 0x60]
fdiv qword [ebp + 0x40]
fld qword [0xb49e30]
fst qword [esp + 0x68]
faddp st(2)
fxch st(1)
call fcn.0069e080
mov edi, dword [ebp + 0x30]
lea edi, [edi - 1]
mov dword [esp + 0x90], eax
cmp eax, edi
jge 0x65e125
mov edi, eax
lea eax, [edi + 1]
cmp ebx, 1
je 0x65e112
mov edi, eax
cmp edi, 1
jg 0x65e11c
mov edi, 1
mov dword [esp + 0x90], edi
jmp 0x65e12f
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x90], eax
fadd qword [esp + 0x68]
call fcn.0069e080
mov edi, dword [ebp + 0x34]
lea edi, [edi - 1]
mov dword [esp + 0xa4], eax
cmp eax, edi
jge 0x65e168
mov edi, eax
lea eax, [edi + 1]
cmp ebx, 1
je 0x65e155
mov edi, eax
cmp edi, 1
jg 0x65e15f
mov edi, 1
mov dword [esp + 0xa4], edi
jmp 0x65e172
mov eax, dword [ebp + 0x34]
mov dword [esp + 0xa4], eax
fld qword [ebp + 0x40]
fstp qword [esp + 0x80]
cmp ebx, 1
je 0x65e187
fst qword [esp + 0x78]
jmp 0x65e19e
fstp st(0)
fld st(0)
fld qword [0xb49e38]
fmul st(1), st(0)
fmul qword [esp + 0x80]
fstp qword [esp + 0x78]
mov eax, dword [ebp + 0x64]
test eax, eax
jne 0x65e1ea
mov eax, dword [ebp + 0x60]
cmp eax, 1
jne 0x65e1b4
mov edi, 2
jmp 0x65e1c6
mov eax, dword [ebp + 0x60]
cmp eax, 2
mov edi, 4
je 0x65e1c6
mov edi, 1
mov eax, dword [ebp + 0x1c]
imul eax, edx
add eax, dword [ebp + 8]
imul ecx, dword [ebp + 0x58]
imul ecx, edi
xor edi, edi
add eax, ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edi
jmp 0x65e226
mov eax, dword [ebp + 0x60]
cmp eax, 1
jne 0x65e1f9
mov eax, 2
jmp 0x65e20b
mov eax, dword [ebp + 0x60]
cmp eax, 2
mov eax, 4
je 0x65e20b
mov eax, 1
imul eax, ecx
mov edi, dword [ebp + 0x1c]
imul edi, edx
add edi, eax
mov dword [esp + 0xa0], edi
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x60]
cmp eax, 1
jne 0x65e234
sar edx, 1
sar esi, 1
jmp 0x65e242
mov eax, dword [ebp + 0x60]
cmp eax, 2
jne 0x65e242
sar edx, 2
sar esi, 2
mov eax, dword [esp + 0xa4]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xa8], eax
test eax, eax
jne 0x65e2c0
fstp st(0)
fstp st(0)
xor edi, edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
xor esi, esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov esi, 0xfffffff7
jmp 0x65f743
mov eax, dword [esp + 0x90]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x98], eax
test eax, eax
je 0x660094
cmp ebx, 1
je 0x65eb5d
cmp ebx, 2
jne 0x65e59b
mov eax, dword [ebp + 0x60]
cmp eax, 2
je 0x65f853
mov eax, dword [esp + 0xa4]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c748c
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
test eax, eax
jne 0x65e395
fstp st(0)
fstp st(0)
xor edi, edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edi
xor esi, esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov esi, 0xfffffff7
jmp 0x65f725
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax]
push ecx
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c748c
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x94], eax
test eax, eax
je 0x65f81f
fld qword [esp + 0x78]
fadd qword [ebp + 0x50]
mov eax, dword [esp + 0xa4]
fstp qword [esp + 0x78]
test eax, eax
jle 0x65e494
fld qword [esp + 0x78]
fld qword [esp + 0x68]
mov eax, dword [ebp + 0x1c]
fld qword [esp + 0x80]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xc0], esi
xor ecx, ecx
neg eax
add eax, dword [ebp + 0x10]
add eax, 0xffffffff
mov dword [esp + 0x70], eax
fld st(1)
fadd st(3)
call fcn.0069e080
mov esi, eax
mov eax, dword [esp + 0x70]
cmp esi, eax
jne 0x65e44f
add esi, 0xffffffff
mov eax, 0x4000
mov word [ebx + ecx*2], ax
jmp 0x65e46a
mov dword [esp + 0x60], esi
fild dword [esp + 0x60]
fsubr st(3)
fmul qword [0xb49e40]
fadd st(2)
call fcn.0069e080
mov word [ebx + ecx*2], ax
imul esi, edx
mov eax, dword [esp + 0xa4]
fadd st(2), st(0)
mov dword [edi + ecx*4], esi
add ecx, 1
cmp ecx, eax
jl 0x65e42e
fstp st(0)
fstp st(1)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
fstp st(0)
fadd qword [ebp + 0x48]
mov eax, dword [esp + 0x90]
test eax, eax
jle 0x65f808
fld qword [esp + 0x68]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0xb4], ebx
xor edi, edi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x94]
neg ecx
add ecx, dword [ebp + 0xc]
add ecx, 0xffffffff
fld st(0)
fadd st(2)
call fcn.0069e080
mov ebx, eax
cmp ebx, ecx
jne 0x65e4fc
add ebx, 0xffffffff
mov eax, edi
shl eax, 2
xor esi, esi
mov word [edx + eax], si
mov esi, 0x4000
mov word [edx + edi*4 + 2], si
jmp 0x65e52c
mov dword [esp + 0x60], ebx
fild dword [esp + 0x60]
fsubr st(2)
fmul qword [0xb49e40]
fadd st(1)
call fcn.0069e080
movzx esi, ax
mov eax, edi
mov word [edx + edi*4 + 2], si
shl eax, 2
neg esi
add esi, 0x4000
mov word [edx + eax], si
mov esi, dword [ebp + 0x64]
test esi, esi
jne 0x65e54b
mov esi, dword [ebp + 0x5c]
cmp esi, 1
je 0x65e54b
imul ebx, dword [ebp + 0x58]
mov esi, dword [esp + 0x98]
mov dword [eax + esi], ebx
jmp 0x65e555
mov esi, dword [esp + 0x98]
mov dword [eax + esi], ebx
fxch st(1)
fadd st(2)
mov eax, dword [esp + 0x90]
add edi, 1
cmp edi, eax
fxch st(1)
jl 0x65e4d3
fstp st(0)
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
jmp 0x65ec3f
cmp ebx, 4
jne 0x65e84a
mov eax, dword [esp + 0xa4]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
test eax, eax
jne 0x65e61b
fstp st(0)
fstp st(0)
xor edi, edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edi
xor esi, esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov esi, 0xfffffff7
jmp 0x65f725
mov eax, dword [esp + 0x90]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x94], eax
test eax, eax
je 0x65f81f
fld qword [esp + 0x78]
fadd qword [ebp + 0x50]
mov eax, dword [esp + 0xa4]
fstp qword [esp + 0x78]
test eax, eax
jle 0x65e742
fld qword [esp + 0x78]
fld qword [esp + 0x68]
mov edi, dword [ebp + 0x1c]
fld qword [esp + 0x80]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xb4], ebx
xor ecx, ecx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xb0], edx
lea eax, [eax - 1]
mov dword [esp + 0x70], eax
fld st(1)
fadd st(3)
call fcn.0069e080
mov ebx, dword [esp + 0x70]
lea edx, [edi + eax]
cmp edx, ebx
jne 0x65e6d4
mov ebx, dword [esp + 0xac]
add eax, 0xfffffffe
mov edx, ecx
shl edx, 2
mov dword [ebx + edx], 0x40000000
jmp 0x65e705
test edx, edx
jne 0x65e6dd
add eax, 1
jmp 0x65e6ec
mov ebx, dword [ebp + 0x10]
lea esi, [ebx - 2]
lea ebx, [eax - 1]
cmp edx, esi
jne 0x65e6ec
mov eax, ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fsubr st(3)
mov edx, ecx
shl edx, 2
fstp dword [ebx + edx]
imul eax, dword [esp + 0xb0]
fadd st(2), st(0)
mov ebx, dword [esp + 0xa8]
mov dword [edx + ebx], eax
add ecx, 1
mov eax, dword [esp + 0xa4]
cmp ecx, eax
jl 0x65e6a8
fstp st(0)
fstp st(1)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
fstp st(0)
fadd qword [ebp + 0x48]
mov eax, dword [esp + 0x90]
test eax, eax
jle 0x65f808
fld qword [esp + 0x68]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
xor edi, edi
lea ecx, [ecx - 1]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xb0], edx
mov edx, eax
fld st(0)
fadd st(2)
call fcn.0069e080
lea ebx, [edx + eax]
cmp ebx, ecx
jne 0x65e7a2
mov esi, dword [esp + 0x94]
add eax, 0xfffffffe
mov ebx, edi
shl ebx, 2
mov dword [esi + ebx], 0x40000000
jmp 0x65e7db
test ebx, ebx
jne 0x65e7ab
add eax, 1
jmp 0x65e7c2
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0xc]
lea esi, [ecx - 2]
lea ecx, [eax - 1]
cmp ebx, esi
jne 0x65e7be
mov eax, ecx
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fsubr st(2)
mov ebx, edi
shl ebx, 2
fstp dword [esi + ebx]
mov esi, dword [ebp + 0x64]
test esi, esi
jne 0x65e7fa
mov esi, dword [ebp + 0x5c]
cmp esi, 1
je 0x65e7fa
imul eax, dword [ebp + 0x58]
mov esi, dword [esp + 0x98]
mov dword [ebx + esi], eax
jmp 0x65e804
mov esi, dword [esp + 0x98]
mov dword [ebx + esi], eax
fxch st(1)
fadd st(2)
mov ebx, dword [esp + 0x90]
add edi, 1
cmp edi, ebx
fxch st(1)
jl 0x65e77a
fstp st(0)
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
jmp 0x65ec3f
mov eax, dword [esp + 0xa4]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
test eax, eax
jne 0x65e8c1
fstp st(0)
fstp st(0)
xor edi, edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edi
xor esi, esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov esi, 0xfffffff7
jmp 0x65f725
mov eax, dword [esp + 0x90]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x94], eax
test eax, eax
je 0x65f81f
fld qword [esp + 0x78]
fadd qword [ebp + 0x50]
mov eax, dword [esp + 0xa4]
fstp qword [esp + 0x78]
test eax, eax
jle 0x65e97f
fld qword [esp + 0x78]
fld qword [esp + 0x68]
mov edi, eax
fld qword [esp + 0x80]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0xa8]
xor ecx, ecx
fld st(1)
fadd st(3)
call fcn.0069e080
mov dword [esp + 0x60], eax
imul eax, edx
fild dword [esp + 0x60]
fsubr st(3)
fstp dword [ebx + ecx*4]
fadd st(2), st(0)
mov dword [esi + ecx*4], eax
add ecx, 1
cmp ecx, edi
jl 0x65e946
fstp st(0)
fstp st(1)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
fstp st(0)
fadd qword [ebp + 0x48]
mov eax, dword [esp + 0x90]
test eax, eax
jle 0x66012d
fld qword [esp + 0x68]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xc0], esi
mov esi, eax
mov dword [esp + 0xb0], edx
xor ecx, ecx
mov edx, dword [esp + 0x94]
fld st(0)
fadd st(2)
call fcn.0069e080
mov edi, dword [ebp + 0x64]
test edi, edi
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fsubr st(2)
fstp dword [edx + ecx*4]
jne 0x65e9ec
mov edi, dword [ebp + 0x5c]
cmp edi, 1
je 0x65e9ec
mov edi, dword [ebp + 0x58]
imul eax, edi
mov dword [ebx + ecx*4], eax
jmp 0x65e9ef
mov dword [ebx + ecx*4], eax
fxch st(1)
fadd st(2)
add ecx, 1
cmp ecx, esi
fxch st(1)
jl 0x65e9bc
fstp st(0)
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2]
add ecx, ecx
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x60], eax
test eax, eax
jne 0x65ea6b
xor edi, edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
xor esi, esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], edi
mov esi, 0xfffffff7
jmp 0x65f71a
mov eax, dword [esp + 0xa4]
lea ecx, [eax + eax*2]
add ecx, ecx
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x65eabd
xor eax, eax
mov dword [esp + 0x6c], eax
xor esi, esi
mov dword [esp + 0x74], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], esi
xor edi, edi
mov dword [esp + 0x68], edi
mov esi, 0xfffffff7
jmp 0x65f71a
push 0xb51cc0
mov eax, dword [esp + 0x64]
push eax
mov ecx, dword [esp + 0x98]
push ecx
mov edi, dword [esp + 0xa0]
push edi
mov dword [esp + 0xc0], edx
call fcn.006e0b60
mov edx, dword [esp + 0xc0]
push 0xb51cc0
mov eax, dword [esp + 0x78]
push eax
mov ecx, dword [esp + 0xbc]
push ecx
mov edi, dword [esp + 0xc8]
push edi
mov dword [esp + 0xd0], edx
call fcn.006e0b60
mov edx, dword [esp + 0xd0]
add esp, 0x20
mov eax, dword [ebp + 0x6c]
test eax, eax
je 0x65eb3f
fld1
fld qword [ebp + 0x40]
fcompp
fnstsw ax
xor ecx, ecx
sahf
mov dword [esp + 0x70], ecx
mov eax, ecx
setae al
mov dword [esp + 0x70], eax
jmp 0x65ec3f
fld1
fld qword [ebp + 0x40]
fcompp
fnstsw ax
xor ecx, ecx
sahf
mov dword [esp + 0x70], ecx
mov eax, ecx
setb al
mov dword [esp + 0x70], eax
jmp 0x65ec3f
fld qword [esp + 0x78]
fadd qword [ebp + 0x50]
mov eax, dword [esp + 0xa4]
fstp qword [esp + 0x78]
test eax, eax
jle 0x65ebad
fld qword [esp + 0x78]
fld qword [esp + 0x68]
mov edi, dword [esp + 0xa8]
fld qword [esp + 0x80]
lea ecx, [edi + eax*4]
fld st(1)
fadd st(3)
fxch st(1)
fadd st(3), st(0)
fxch st(1)
call fcn.0069e080
imul eax, edx
mov dword [edi], eax
add edi, 4
cmp edi, ecx
jb 0x65eb8c
fstp st(0)
fstp st(1)
fstp st(0)
fadd qword [ebp + 0x48]
mov eax, dword [esp + 0x90]
test eax, eax
jle 0x66006f
fld qword [esp + 0x68]
mov dword [esp + 0xc0], esi
mov esi, eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x98]
xor ecx, ecx
fld st(0)
fadd st(2)
call fcn.0069e080
mov edi, dword [ebp + 0x64]
test edi, edi
jne 0x65ebff
mov edi, dword [ebp + 0x5c]
cmp edi, 1
je 0x65ebff
mov edi, dword [ebp + 0x58]
imul eax, edi
mov dword [edx + ecx*4], eax
jmp 0x65ec02
mov dword [edx + ecx*4], eax
fxch st(1)
fadd st(2)
add ecx, 1
cmp ecx, esi
fxch st(1)
jl 0x65ebdc
fstp st(0)
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
cmp ebx, 2
jl 0x65eed6
cmp ebx, 0x10
je 0x65ec52
cmp ebx, 4
jne 0x65eca6
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65ec75
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65ecfd
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65ec59
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fa73
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65ecfd
mov eax, dword [ebp + 0x60]
cmp eax, 2
je 0x65ec52
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65ecce
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c748c
jmp 0x65ecfd
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65ecb5
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fc80
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c748c
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x6c], eax
test eax, eax
je 0x65fc5a
cmp ebx, 0x10
je 0x65ed1a
cmp ebx, 4
jne 0x65ed6e
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65ed3d
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65edc5
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65ed21
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fa90
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65edc5
mov eax, dword [ebp + 0x60]
cmp eax, 2
je 0x65ed1a
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65ed96
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c748c
jmp 0x65edc5
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65ed7d
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fc3d
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c748c
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x74], eax
test eax, eax
je 0x65fc1d
cmp ebx, 4
jl 0x65eebe
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65ee01
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65ee30
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65ede8
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fc00
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
test eax, eax
je 0x65fbe7
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65ee66
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65ee95
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65ee4d
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fbca
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xbc], eax
test eax, eax
je 0x65fbb8
cmp ebx, 0x10
je 0x65faad
xor eax, eax
mov dword [esp + 0x68], eax
xor edi, edi
jmp 0x65eef4
xor eax, eax
mov dword [esp + 0xb8], eax
xor edi, edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0x68], edi
jmp 0x65eef4
xor eax, eax
mov dword [esp + 0x6c], eax
xor edi, edi
mov dword [esp + 0x74], eax
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x64]
test eax, eax
jne 0x65f117
cmp ebx, 1
je 0x65fc9d
cmp ebx, 2
je 0x65f09d
cmp ebx, 4
jne 0x65efaa
mov ecx, dword [esp + 0x68]
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0x5c]
lea eax, [eax + 3]
cmp ecx, 1
mov ecx, dword [ebp + 0x60]
je 0x65ef35
mov eax, ecx
mov ecx, dword [ebp + 0x5c]
push ecx
mov ecx, dword [ebp + 0x58]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0xc8]
push ecx
mov ecx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xbc]
push ecx
push esi
push edx
mov edx, dword [ebp + 0x28]
push edx
mov esi, dword [esp + 0xd8]
push esi
call dword [eax*4 + 0xb9a330]
add esp, 0x40
jmp 0x65f718
cmp ebx, 0x10
jne 0x65f718
mov ecx, dword [ebp + 0x60]
mov dword [esp + 0xb4], ebx
mov ebx, dword [ebp + 0x5c]
lea eax, [ecx + 3]
mov ecx, dword [ebp + 0x60]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x90]
cmp ebx, 1
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xc], esi
mov esi, dword [ebp + 0x1c]
je 0x65efe6
mov eax, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov ecx, dword [ebp + 0x28]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0xc]
sub edx, ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edx
mov edx, dword [ebp + 0x10]
sub edx, esi
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x58]
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0x5c]
mov dword [esp + 0x58], edx
call dword [eax*4 + 0xb9a368]
jmp 0x65f718
mov ecx, dword [esp + 0x68]
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0x5c]
lea eax, [eax + 4]
cmp ecx, 1
mov ecx, dword [ebp + 0x60]
je 0x65f0b8
mov eax, ecx
mov ecx, dword [ebp + 0x5c]
push ecx
mov ecx, dword [ebp + 0x58]
push ecx
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xb4]
push ecx
push esi
push edx
mov edx, dword [ebp + 0x28]
push edx
mov esi, dword [esp + 0xd0]
push esi
call dword [eax*4 + 0xb9a310]
add esp, 0x38
jmp 0x65f718
cmp ebx, 1
je 0x65ff7c
cmp ebx, 2
je 0x65f5a0
cmp ebx, 4
jne 0x65f2dc
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 8]
add eax, dword [ecx]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0xc8]
push ecx
mov ecx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xbc]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push edx
push dword [ecx]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0xf0], edx
call dword [eax*4 + 0xb9a33c]
mov edx, dword [esp + 0xf0]
add esp, 0x40
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 4]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0xc8]
push ecx
mov ecx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xbc]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push edx
push dword [ecx + 4]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0xf0], edx
call dword [eax*4 + 0xb9a33c]
mov edx, dword [esp + 0xf0]
add esp, 0x40
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0xc8]
push ecx
mov ecx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xbc]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push edx
push dword [ecx + 8]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0xf0], edx
call dword [eax*4 + 0xb9a33c]
mov edx, dword [esp + 0xf0]
add esp, 0x40
jmp 0x65f70c
cmp ebx, 0x10
jne 0x65f70c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xb0], edx
mov dword [esp + 8], edx
add ebx, dword [eax]
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x1c]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
neg eax
neg ecx
add eax, dword [ebp + 0xc]
add ecx, dword [ebp + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x60]
call dword [eax*4 + 0xb9a374]
mov edx, dword [esp + 0xb0]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xb0], edx
mov dword [esp + 8], edx
add ebx, dword [eax + 4]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp + 0x1c]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
neg eax
neg ecx
add eax, dword [ebp + 0xc]
add ecx, dword [ebp + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x60]
call dword [eax*4 + 0xb9a374]
mov edx, dword [esp + 0xb0]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xb0], edx
mov dword [esp + 8], edx
add ebx, dword [eax + 8]
mov eax, dword [ecx + 8]
mov ecx, dword [ebp + 0x1c]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
neg eax
neg ecx
add eax, dword [ebp + 0xc]
add ecx, dword [ebp + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x60]
call dword [eax*4 + 0xb9a374]
mov edx, dword [esp + 0xb0]
jmp 0x65f70c
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 8]
add eax, dword [ecx]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xb4]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push edx
push dword [ecx]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0xe8], edx
call dword [eax*4 + 0xb9a320]
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xa0], ecx
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 4]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0xf8]
push ecx
mov ecx, dword [esp + 0xe8]
push ecx
mov ecx, dword [esp + 0xfc]
push ecx
mov ecx, dword [esp + 0xfc]
push ecx
mov ecx, dword [esp + 0xec]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push edx
push dword [ecx + 4]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x120], edx
call dword [eax*4 + 0xb9a320]
mov edx, dword [esp + 0x120]
add esp, 0x70
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xb4]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push edx
push dword [ecx + 8]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0xe8], edx
call dword [eax*4 + 0xb9a320]
mov edx, dword [esp + 0xe8]
add esp, 0x38
mov eax, dword [ebp + 0x5c]
cmp eax, 4
je 0x65fd52
xor esi, esi
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x65f732
mov eax, dword [esp + 0xa8]
push eax
call fcn.006339b8
mov eax, dword [esp + 0x98]
test eax, eax
je 0x65f743
push eax
call fcn.006339b8
cmp ebx, 2
jl 0x65f7b6
mov eax, dword [esp + 0xac]
test eax, eax
je 0x65f759
push eax
call fcn.006339b8
mov eax, dword [esp + 0x94]
test eax, eax
je 0x65f76a
push eax
call fcn.006339b8
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x65f778
push eax
call fcn.006339b8
mov eax, dword [esp + 0x74]
test eax, eax
je 0x65f786
push eax
call fcn.006339b8
cmp ebx, 4
jl 0x65f7b6
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x65f79c
push eax
call fcn.006339b8
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x65f7ad
push eax
call fcn.006339b8
cmp ebx, 0x10
je 0x65fd15
mov eax, esi
add esp, 0xc4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(0)
mov eax, 0xffffffe9
add esp, 0xc4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fstp st(0)
mov eax, 0x1d
add esp, 0xc4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(0)
fstp st(0)
fld1
fdivr st(1), st(0)
fdiv qword [ebp + 0x40]
fstp qword [esp + 0x80]
jmp 0x65e189
fstp st(0)
fstp st(0)
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
jmp 0x65ec3f
fstp st(0)
fstp st(0)
xor edi, edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
xor esi, esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov esi, 0xfffffff7
jmp 0x65f725
mov eax, dword [esp + 0xa4]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
test eax, eax
jne 0x65f8ca
fstp st(0)
fstp st(0)
xor edi, edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edi
xor esi, esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov esi, 0xfffffff7
jmp 0x65f725
mov eax, dword [esp + 0x90]
push eax
fstp qword [esp + 0x74]
fstp qword [esp + 0x8c]
mov dword [esp + 0xb4], edx
call fcn.006c7470
fld qword [esp + 0x88]
fld qword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x94], eax
test eax, eax
je 0x65f81f
fld qword [esp + 0x78]
fadd qword [ebp + 0x50]
mov eax, dword [esp + 0xa4]
fstp qword [esp + 0x78]
test eax, eax
jle 0x65f9aa
fld qword [esp + 0x78]
fld qword [esp + 0x68]
mov edi, dword [ebp + 0x1c]
fld qword [esp + 0x80]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0xa8]
xor ecx, ecx
neg edi
add edi, dword [ebp + 0x10]
add edi, 0xffffffff
fld st(1)
fadd st(3)
call fcn.0069e080
cmp eax, edi
jne 0x65f973
fld1
fstp dword [ebx + ecx*4]
add eax, 0xffffffff
jmp 0x65f980
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fsubr st(3)
fstp dword [ebx + ecx*4]
imul eax, edx
fadd st(2), st(0)
mov dword [esi + ecx*4], eax
mov eax, dword [esp + 0xa4]
add ecx, 1
cmp ecx, eax
jl 0x65f95c
fstp st(2)
fstp st(1)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
fstp st(0)
fadd qword [ebp + 0x48]
mov eax, dword [esp + 0x90]
test eax, eax
jle 0x65f808
fld qword [esp + 0x68]
mov edi, dword [ebp + 0x18]
mov dword [esp + 0xb4], ebx
mov ebx, eax
mov dword [esp + 0xc0], esi
mov dword [esp + 0xb0], edx
xor ecx, ecx
mov edx, dword [esp + 0x94]
neg edi
add edi, dword [ebp + 0xc]
add edi, 0xffffffff
fld st(0)
fadd st(2)
call fcn.0069e080
cmp eax, edi
jne 0x65fa02
fld1
fstp dword [edx + ecx*4]
add eax, 0xffffffff
jmp 0x65fa0f
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fsubr st(2)
fstp dword [edx + ecx*4]
mov esi, dword [ebp + 0x64]
test esi, esi
jne 0x65fa2e
mov esi, dword [ebp + 0x5c]
cmp esi, 1
je 0x65fa2e
imul eax, dword [ebp + 0x58]
mov esi, dword [esp + 0x98]
mov dword [esi + ecx*4], eax
jmp 0x65fa38
mov esi, dword [esp + 0x98]
mov dword [esi + ecx*4], eax
fxch st(1)
fadd st(2)
add ecx, 1
cmp ecx, ebx
fxch st(1)
jl 0x65f9eb
fstp st(0)
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
jmp 0x65ec3f
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65ecfd
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65edc5
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65facd
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65fafc
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65fab4
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fb9b
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x68], eax
test eax, eax
je 0x65fb8f
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x65fb2f
mov eax, dword [esp + 0x90]
lea ecx, [eax + 4]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65fb5a
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65fb16
mov eax, dword [ebp + 0x5c]
cmp eax, 3
je 0x65fb75
mov eax, dword [esp + 0x90]
lea ecx, [eax*4 + 0x10]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
mov edx, dword [esp + 0xb0]
mov edi, eax
test edi, edi
jne 0x65eef4
mov esi, 0xfffffff7
jmp 0x65f71a
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65fb5a
xor edi, edi
mov esi, 0xfffffff7
jmp 0x65f71a
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65fafc
xor eax, eax
mov dword [esp + 0x68], eax
xor edi, edi
mov esi, 0xfffffff7
jmp 0x65f71a
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65ee95
xor eax, eax
mov dword [esp + 0xbc], eax
xor edi, edi
mov esi, 0xfffffff7
mov dword [esp + 0x68], eax
jmp 0x65f71a
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c7470
jmp 0x65ee30
xor eax, eax
mov dword [esp + 0xb8], eax
xor edi, edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0x68], eax
mov esi, 0xfffffff7
jmp 0x65f71a
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c748c
jmp 0x65edc5
xor eax, eax
mov dword [esp + 0x74], eax
xor esi, esi
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0x68], esi
xor edi, edi
mov esi, 0xfffffff7
jmp 0x65f71a
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2 + 0xc]
push ecx
mov dword [esp + 0xb4], edx
call fcn.006c748c
jmp 0x65ecfd
mov eax, dword [ebp + 0x5c]
cmp eax, 1
je 0x65fcc1
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x60]
lea eax, [eax + 8]
cmp edx, 4
je 0x65fcb8
mov eax, ecx
mov dword [esp + 0xb0], eax
jmp 0x65fcce
mov eax, dword [ebp + 0x60]
lea edx, [eax + 4]
mov dword [esp + 0xb0], edx
mov eax, dword [ebp + 0x58]
push eax
mov edx, dword [esp + 0x9c]
push edx
mov ecx, dword [esp + 0xb0]
push ecx
mov eax, dword [esp + 0xb0]
push eax
mov eax, dword [esp + 0xa0]
push eax
push esi
mov esi, dword [ebp + 0x28]
push esi
mov eax, dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0xd0]
call dword [eax*4 + 0xb9a2e0]
add esp, 0x20
jmp 0x65f718
mov eax, dword [esp + 0x64]
test eax, eax
je 0x65fd23
push eax
call fcn.006339b8
mov eax, dword [esp + 0x60]
test eax, eax
je 0x65fd31
push eax
call fcn.006339b8
mov eax, dword [esp + 0x68]
test eax, eax
je 0x65fd3f
push eax
call fcn.006339b8
test edi, edi
je 0x65f7b6
push edi
call fcn.006339b8
jmp 0x65f7b6
cmp ebx, 1
je 0x65ff33
cmp ebx, 2
je 0x65fecd
cmp ebx, 4
jne 0x65fde5
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xa0]
add eax, dword [ecx + 0xc]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0xc8]
push ecx
mov ecx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xbc]
push ecx
push esi
mov esi, dword [ebp + 0x60]
push edx
mov edx, dword [ebp + 0x28]
push dword [edx + 0xc]
push eax
call dword [esi*4 + 0xb9a33c]
add esp, 0x40
jmp 0x65f718
cmp ebx, 0x10
jne 0x65f718
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0xa0]
add ecx, dword [eax + 0xc]
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xb4], ebx
mov ebx, dword [ebp + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
sub eax, ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x60]
call dword [eax*4 + 0xb9a374]
jmp 0x65f718
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xa0]
add eax, dword [ecx + 0xc]
xor ecx, ecx
push ecx
push ecx
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xb4]
push ecx
push esi
mov esi, dword [ebp + 0x60]
push edx
mov edx, dword [ebp + 0x28]
push dword [edx + 0xc]
push eax
call dword [esi*4 + 0xb9a320]
add esp, 0x38
jmp 0x65f718
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0xa0]
add eax, dword [edx + 0xc]
push 0
mov ecx, dword [esp + 0x9c]
push ecx
mov edx, dword [esp + 0xb0]
push edx
mov edx, dword [esp + 0xb0]
push edx
mov edx, dword [esp + 0xa0]
push edx
push esi
mov esi, dword [ebp + 0x28]
push dword [esi + 0xc]
push eax
mov eax, dword [ebp + 0x60]
call dword [eax*4 + 0xb9a2f0]
add esp, 0x20
jmp 0x65f718
mov eax, dword [esp + 0xa0]
mov ecx, dword [ebp + 8]
push 0
add eax, dword [ecx]
mov ecx, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xa0]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push dword [ecx]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0xd0], edx
call dword [eax*4 + 0xb9a2f0]
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xc0]
mov ecx, dword [ebp + 8]
push 0
add eax, dword [ecx + 4]
mov ecx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xc0]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push dword [ecx + 4]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0xf0], edx
call dword [eax*4 + 0xb9a2f0]
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xe0]
mov ecx, dword [ebp + 8]
push 0
add eax, dword [ecx + 8]
mov ecx, dword [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0xf0]
push ecx
mov ecx, dword [esp + 0xf0]
push ecx
mov ecx, dword [esp + 0xe0]
push ecx
mov ecx, dword [ebp + 0x28]
push esi
push dword [ecx + 8]
push eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x110], edx
call dword [eax*4 + 0xb9a2f0]
mov edx, dword [esp + 0x110]
add esp, 0x60
jmp 0x65f70c
fstp st(0)
fstp st(0)
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
jmp 0x65ec3f
fstp st(0)
fstp st(0)
xor edi, edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
xor esi, esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov esi, 0xfffffff7
jmp 0x65f725
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fdiv st(2)
mov dword [esp + 0x60], edi
fild dword [esp + 0x60]
fdiv qword [ebp + 0x40]
jmp 0x65e0e2
fstp st(0)
mov eax, 0xfffffffa
add esp, 0xc4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fstp st(0)
mov eax, 0xfffffff8
add esp, 0xc4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fstp st(2)
jmp 0x65dffc
fstp st(0)
jmp 0x65e046
fstp st(0)
fstp st(0)
jmp 0x65ea17