Function at 0x6dddf280
Capabilities:
Inspect section memory permissions

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 8
jmp 0x6dddf291
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6dde10e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f4
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov eax, 0
mov word [ebp - 0x2ce], ax
wait
fnstcw word [ebp - 0x2cc]
movzx eax, word [ebp - 0x2cc]
test ah, 3
jne 0x6dddf2f5
mov edx, 0x3f
and edx, eax
cmp edx, 0x3f
jne 0x6dddf2f5
test ah, 0xc
je 0x6dddf328
mov ax, word [ebp - 0x2cc]
and ax, 0xfcff
or ax, 0x3f
and ax, 0xf3ff
mov word [ebp - 0x2c8], ax
fldcw word [ebp - 0x2c8]
movzx eax, word [ebp - 0x2cc]
mov edx, 1
mov word [ebp - 0x2ce], dx
mov word [ebp - 0x2d0], ax
mov dword [ebp - 4], 0
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx + 0x130a8]
mov edi, dword [ecx + 0x12fbc]
fld dword [edx + 0x268]
fld dword [edx + 0x2a8]
fxch st(1)
fstp qword [ebp - 0xf0]
fstp qword [ebp - 0xd0]
and edi, 2
mov dword [ebp - 0x138], esi
mov esi, dword [esi + 0x201c]
mov edi, 0
fldz
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x24c], edi
fstp qword [ebp - 0xd8]
fldz
fldz
fxch st(1)
fstp qword [ebp - 0xe0]
fstp qword [ebp - 0xe8]
mov al, 0
mov byte [ebp - 0x278], al
mov eax, 0xffffffff
mov dword [ebp - 0x44], ecx
mov ecx, dword [edx + 0x274]
mov dword [ebp - 0x40], edx
mov edx, 0xfffffff0
mov dword [ebp - 0x3c], edx
mov edx, 0xffffffff
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x3c]
cmovne edx, ecx
cmp esi, 0
mov dword [ebp - 0x274], edx
cmove eax, edi
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x44]
mov esi, dword [ecx + 0x12fa4]
mov edi, dword [ecx + 0x12fcc]
mov eax, dword [ecx + 0x12fc8]
mov dword [ebp - 0x254], esi
mov esi, dword [ecx + 0x12fb8]
mov dword [ebp - 0x258], edi
mov edi, dword [ecx + 0x12fc4]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x1ac], edi
mov eax, dword [ecx + 0x12fa8]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
mov edx, dword [ebp - 0x40]
je 0x6dddf45a
fld dword [edx + 0x278]
fld dword [edx + 0x27c]
fld dword [edx + 0x280]
fxch st(2)
fstp qword [ebp - 0xe8]
fstp qword [ebp - 0xe0]
fstp qword [ebp - 0xd8]
mov cl, 1
mov byte [ebp - 0x278], cl
xor edx, edx
mov ecx, dword [ebp - 0x254]
mov dword [ebp - 0x25c], edx
test ecx, ecx
jbe 0x6dde0f7a
mov edx, edi
mov ecx, 0x500
and ecx, eax
and edx, 0x20
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x26c], edx
test al, 0x40
je 0x6dddf4e3
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebx + 8]
mov esi, dword [edx + 0x1f60]
mov edi, dword [edx + 0x1f44]
fld dword [esi]
fsub dword [edi]
fmul qword [ebp - 0xd0]
fadd dword [edi]
fstp dword [edx + 0x180]
fld dword [esi + 4]
fsub dword [edi + 4]
fmul qword [ebp - 0xd0]
fadd dword [edi + 4]
fstp dword [edx + 0x184]
fld dword [esi + 8]
fsub dword [edi + 8]
fmul qword [ebp - 0xd0]
fadd dword [edi + 8]
fstp dword [edx + 0x188]
mov eax, dword [ecx + 0x12fa8]
test eax, 0x80
je 0x6dddf538
mov eax, dword [ebp - 0x138]
mov edx, dword [eax + 0x1f64]
mov ecx, dword [eax + 0x1f48]
fld dword [edx]
fsub dword [ecx]
fmul qword [ebp - 0xd0]
fadd dword [ecx]
fstp dword [eax + 0x190]
fld dword [edx + 4]
fsub dword [ecx + 4]
fmul qword [ebp - 0xd0]
fadd dword [ecx + 4]
fstp dword [eax + 0x194]
fld dword [edx + 8]
fsub dword [ecx + 8]
fmul qword [ebp - 0xd0]
fadd dword [ecx + 8]
fstp dword [eax + 0x198]
mov eax, dword [ebp - 0x138]
mov edx, dword [ebx + 8]
mov eax, dword [eax + 0x1e0]
mov edx, dword [edx + 0x13258]
mov eax, dword [eax]
test edx, edx
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
shufps xmm0, xmm0, 0
shufps xmm1, xmm1, 0
movaps xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0x190], eax
movaps xmmword [ebp - 0x120], xmm1
movss xmm0, dword [eax + 8]
shufps xmm0, xmm0, 0
movaps xmmword [ebp - 0x130], xmm0
jne 0x6dde0d5f
mov eax, dword [ebx + 8]
movaps xmm0, xmmword [ebp - 0x110]
mulps xmm0, xmmword [eax + 0x4280]
mulps xmm1, xmmword [eax + 0x4290]
movaps xmm2, xmmword [ebp - 0x130]
addps xmm0, xmm1
mulps xmm2, xmmword [eax + 0x42a0]
addps xmm0, xmm2
addps xmm0, xmmword [eax + 0x42b0]
movaps xmmword [ebp - 0x2e0], xmm0
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x190]
mov ecx, dword [eax + 0x1f88]
mov eax, dword [eax + 0x201c]
prefetchnta byte [edx + ecx]
movaps xmm1, xmm0
shufps xmm1, xmm1, 0xff
test eax, eax
je 0x6dddf7c9
movmskps eax, xmm0
mov edx, 2
and edx, eax
mov ecx, 1
and ecx, eax
add edx, edx
and eax, 4
add edx, edx
add eax, eax
or ecx, edx
add eax, eax
movaps xmm2, xmm1
subps xmm2, xmm0
or ecx, eax
mov eax, dword [ebx + 8]
movmskps edx, xmm2
mov eax, dword [eax + 0x13260]
mov esi, 1
and esi, edx
mov dword [ebp - 0x188], eax
add esi, esi
mov edi, 2
and edi, edx
or ecx, esi
add edi, edi
and edx, 4
or ecx, edi
add edx, edx
add edx, edx
add edx, edx
or ecx, edx
mov dword [ebp - 0x24c], ecx
test eax, eax
je 0x6dddf71d
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x18c], edx
test ecx, ecx
mov al, 6
jbe 0x6dddf71d
movss xmm2, dword [ebp - 0x2e0]
movss xmm3, dword [ebp - 0x2dc]
movss xmm5, dword [ebp - 0x2d8]
movss xmm7, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x18c]
mov esi, dword [ebx + 8]
mov edi, edx
shl edi, 4
mov cl, al
inc edx
movss xmm4, dword [edi + esi + 0x131f0]
mov dword [ebp - 0x18c], edx
inc al
movaps xmm6, xmm2
mulss xmm6, xmm4
movss xmm4, dword [edi + esi + 0x131f4]
movaps xmmword [ebp - 0x30], xmm2
movaps xmm2, xmm3
mulss xmm2, xmm4
addss xmm6, xmm2
movss xmm2, dword [edi + esi + 0x131f8]
movaps xmm4, xmm5
mulss xmm4, xmm2
addss xmm6, xmm4
movss xmm2, dword [edi + esi + 0x131fc]
mov esi, dword [ebp - 0x24c]
movaps xmm4, xmm7
mulss xmm4, xmm2
addss xmm6, xmm4
movmskps edi, xmm6
and edi, 1
shl edi, cl
or esi, edi
mov edi, dword [ebp - 0x188]
mov dword [ebp - 0x24c], esi
cmp edx, edi
movaps xmm2, xmmword [ebp - 0x30]
jb 0x6dddf68c
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x6dddf78e
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x12fbc]
test al, 2
je 0x6dddf78e
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x24c]
movaps xmm2, xmmword [eax + 0x110]
mulps xmm0, xmmword [eax + 0x100]
mulps xmm2, xmm1
addps xmm0, xmm2
movmskps eax, xmm0
mov ecx, 1
and ecx, eax
and eax, 2
shl ecx, 0xc
shl eax, 0xe
or edx, ecx
movaps xmm2, xmm1
subps xmm2, xmm0
or edx, eax
movmskps eax, xmm2
mov ecx, 1
and ecx, eax
and eax, 2
shl ecx, 0xd
shl eax, 0xd
or edx, ecx
or edx, eax
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x258]
mov edx, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x264]
mov word [eax], dx
movaps xmm0, xmmword [ebp - 0x2e0]
or ecx, edx
mov esi, dword [ebp - 0x260]
mov dword [ebp - 0x264], ecx
and edx, esi
add eax, 2
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x274]
test edx, eax
jne 0x6dddf816
rcpps xmm2, xmm1
mov eax, dword [ebp - 0x138]
mulps xmm1, xmm2
mulps xmm0, xmmword [eax + 0xa40]
mulps xmm1, xmm2
addps xmm2, xmm2
movaps xmm3, xmmword [0x6de41f80]
subps xmm2, xmm1
mulps xmm0, xmm2
addps xmm0, xmmword [eax + 0xa50]
andps xmm0, xmm3
andnps xmm3, xmm2
orps xmm0, xmm3
movaps xmmword [ebp - 0x2e0], xmm0
mov edx, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x138]
and edx, 0xffffffff
xor esi, esi
movups xmmword [edx], xmm0
mov dword [ecx + 0x1d4], esi
mov dword [ecx + 0x1d0], esi
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x12fbc]
test eax, 0x20000000
je 0x6dddf8fc
mov eax, ecx
mov edx, dword [ebx + 8]
mov dword [eax + 0x1d0], 1
mov edx, dword [edx + 0x1325c]
mov eax, dword [eax + 0x1e0]
test edx, edx
mov edi, dword [eax]
mov dword [ebp - 0x144], edx
jne 0x6dde0b45
fld dword [edi]
mov edx, dword [ebx + 8]
fmul dword [edx + 0x8280]
fld dword [edi + 4]
fmul dword [edx + 0x8290]
faddp st(1)
fld dword [edi + 8]
fmul dword [edx + 0x82a0]
faddp st(1)
fadd dword [edx + 0x82b0]
fstp dword [ecx + 0x120]
fld dword [edi]
fmul dword [edx + 0x8284]
fld dword [edi + 4]
fmul dword [edx + 0x8294]
faddp st(1)
fld dword [edi + 8]
fmul dword [edx + 0x82a4]
faddp st(1)
fadd dword [edx + 0x82b4]
fstp dword [ecx + 0x124]
fld dword [edi]
fmul dword [edx + 0x8288]
fld dword [edi + 4]
fmul dword [edx + 0x8298]
faddp st(1)
fld dword [edi + 8]
fmul dword [edx + 0x82a8]
faddp st(1)
fadd dword [edx + 0x82b8]
fstp dword [ecx + 0x128]
mov eax, dword [edx + 0x12fbc]
test eax, 0x40000000
je 0x6dddfca0
mov eax, dword [ebp - 0x138]
mov edx, dword [ebx + 8]
mov eax, dword [eax + 0x1e4]
mov edx, dword [edx + 0x12fb8]
mov eax, dword [eax]
test dl, 0x10
mov dword [ebp - 0x168], eax
je 0x6dddfca0
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebx + 8]
mov dword [edx + 0x1d4], 1
mov eax, dword [ecx + 0x1325c]
test eax, eax
jne 0x6dddfa47
mov eax, dword [ebp - 0x168]
mov edx, dword [ebx + 8]
fld dword [eax]
fmul dword [edx + 0xc280]
fld dword [eax + 4]
fmul dword [edx + 0xc284]
faddp st(1)
fld dword [eax + 8]
fmul dword [edx + 0xc288]
faddp st(1)
fld dword [eax]
fmul dword [edx + 0xc290]
fld dword [eax + 4]
fmul dword [edx + 0xc294]
faddp st(1)
fxch st(1)
fstp qword [ebp - 0x60]
fld dword [eax + 8]
fmul dword [edx + 0xc298]
faddp st(1)
fld dword [eax]
fmul dword [edx + 0xc2a0]
fld dword [eax + 4]
fmul dword [edx + 0xc2a4]
faddp st(1)
fxch st(1)
fstp qword [ebp - 0x58]
fld dword [eax + 8]
fmul dword [edx + 0xc2a8]
faddp st(1)
fstp qword [ebp - 0x50]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x12fbc]
test eax, 0x2000000
je 0x6dddfa1f
fld qword [ebp - 0x60]
fld qword [ebp - 0x58]
fxch st(1)
fmul st(0)
fld qword [ebp - 0x50]
fxch st(2)
fmul st(0)
faddp st(1)
fxch st(1)
fmul st(0)
faddp st(1)
fsqrt
fld qword [ebp - 0x60]
fld qword [ebp - 0x58]
mov eax, dword [ebp - 0x138]
fld qword [ebp - 0x50]
fxch st(3)
fdivr dword [0x6de4d29c]
fmul st(2), st(0)
fmul st(1), st(0)
fxch st(2)
fstp dword [eax + 0x130]
fstp dword [eax + 0x134]
fmulp st(1)
fstp dword [eax + 0x138]
jmp 0x6dddfca0
mov eax, dword [ebp - 0x138]
fld qword [ebp - 0x60]
fld qword [ebp - 0x58]
fld qword [ebp - 0x50]
fxch st(1)
fstp dword [eax + 0x134]
fstp dword [eax + 0x138]
fstp dword [eax + 0x130]
jmp 0x6dddfca0
fld dword [0x6de4d28c]
fld dword [0x6de4d290]
fld dword [0x6de4d294]
fxch st(2)
fstp qword [ebp - 0x80]
fstp qword [ebp - 0x60]
fstp qword [ebp - 0x58]
fld dword [0x6de4d298]
mov ecx, 0
fstp qword [ebp - 0x50]
mov dword [ebp - 0x14c], ecx
mov ecx, dword [edx + 0x1f54]
mov edx, dword [edx + 0x1f5c]
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x244], edx
jb 0x6dddf9be
fld dword [0x6de4d2a0]
fsub qword [ebp - 0x80]
mov edx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x14c]
fld qword [ebp - 0x80]
fadd dword [edx + ecx*4]
fld dword [edx + ecx*4]
cmp ecx, eax
fcmove st(0), st(2)
fstp st(2)
fld qword [ebp - 0x80]
fcmovne st(0), st(1)
fstp st(1)
mov edx, dword [ebp - 0x244]
mov esi, dword [ebx + 8]
fstp qword [ebp - 0x80]
fstp qword [ebp - 0xc8]
mov edi, dword [esi + 0x11a84]
mov dword [ebp - 0x1dc], edi
mov dword [ebp - 0x44], esi
movzx esi, byte [ecx + edx]
mov edx, edi
mov edi, esi
shl edi, 6
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
lea eax, [ecx + edi + 0xc280]
mov dword [ebp - 0x240], eax
mov eax, dword [ecx + esi*8 + 0x11284]
mov dword [ebp - 0x3c], edi
mov edi, dword [ecx + esi*8 + 0x11280]
mov ecx, dword [ecx + 0x11a80]
mov dword [ebp - 0x1d8], ecx
sub edi, ecx
sbb eax, edx
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
jae 0x6dddfbf2
mov eax, dword [ebx + 8]
mov ecx, esi
shl ecx, 6
mov dword [ebp - 0x1d0], ecx
lea ecx, [eax + ecx + 0x8280]
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [eax + esi*8 + 0x10a84]
mov eax, dword [eax + esi*8 + 0x10a80]
mov dword [ebp - 0x44], edi
mov edi, dword [ebp - 0x1d8]
sub eax, edi
sbb ecx, edx
mov edi, dword [ebp - 0x44]
jae 0x6dddfbb1
add esp, 0xfffffff0
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x1d0]
mov dword [esp + 8], eax
lea eax, [eax + edx + 0x280]
mov edx, dword [ebp - 0x1ec]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.6de199f0
mov eax, dword [ebx + 8]
add esp, 0x10
mov edx, dword [eax + 0x11a80]
mov ecx, dword [eax + 0x11a84]
mov dword [eax + esi*8 + 0x10a80], edx
mov dword [eax + esi*8 + 0x10a84], ecx
add esp, 0xfffffff8
mov eax, dword [ebp - 0x240]
mov edx, dword [ebp - 0x1ec]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.6de19420
mov edx, dword [ebx + 8]
add esp, 8
mov ecx, dword [edx + 0x11a84]
mov eax, dword [edx + 0x11a80]
mov dword [edx + esi*8 + 0x11284], ecx
mov dword [edx + esi*8 + 0x11280], eax
mov eax, dword [edx + 0x1325c]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebx + 8]
fld dword [edx]
fmul dword [edi + ecx + 0xc280]
fld dword [edx + 4]
fmul dword [edi + ecx + 0xc284]
faddp st(1)
fld dword [edx + 8]
fmul dword [edi + ecx + 0xc288]
faddp st(1)
fmul qword [ebp - 0xc8]
fadd qword [ebp - 0x60]
fld dword [edx]
fmul dword [edi + ecx + 0xc290]
fxch st(1)
fstp qword [ebp - 0x60]
fld dword [edx + 4]
fmul dword [edi + ecx + 0xc294]
faddp st(1)
fld dword [edx + 8]
fmul dword [edi + ecx + 0xc298]
faddp st(1)
fmul qword [ebp - 0xc8]
fadd qword [ebp - 0x58]
fld dword [edx]
fmul dword [edi + ecx + 0xc2a0]
fxch st(1)
fstp qword [ebp - 0x58]
fld dword [edx + 4]
fmul dword [edi + ecx + 0xc2a4]
faddp st(1)
fld dword [edx + 8]
fmul dword [edi + ecx + 0xc2a8]
faddp st(1)
fmul qword [ebp - 0xc8]
fadd qword [ebp - 0x50]
mov edx, dword [ebp - 0x14c]
fstp qword [ebp - 0x50]
inc edx
mov dword [ebp - 0x14c], edx
cmp edx, eax
jbe 0x6dddfa96
jmp 0x6dddf9be
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x6dde004e
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x12fb8]
test al, 0x20
je 0x6dddfcce
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 0x1f58]
fld dword [eax]
fstp qword [ebp - 0x68]
jmp 0x6dddfcd7
fld qword [ebp - 0xf0]
fstp qword [ebp - 0x68]
mov al, byte [ebp - 0x278]
test al, al
je 0x6dde0039
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 0x1d0]
test eax, eax
jne 0x6dddfda9
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebx + 8]
mov dword [edx + 0x1d0], 1
mov eax, dword [ecx + 0x1325c]
mov edx, dword [edx + 0x1e0]
test eax, eax
mov edi, dword [edx]
jne 0x6dddfe30
fld dword [edi]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x138]
fmul dword [eax + 0x8280]
fld dword [edi + 4]
fmul dword [eax + 0x8290]
faddp st(1)
fld dword [edi + 8]
fmul dword [eax + 0x82a0]
faddp st(1)
fadd dword [eax + 0x82b0]
fstp dword [edx + 0x120]
fld dword [edi]
fmul dword [eax + 0x8284]
fld dword [edi + 4]
fmul dword [eax + 0x8294]
faddp st(1)
fld dword [edi + 8]
fmul dword [eax + 0x82a4]
faddp st(1)
fadd dword [eax + 0x82b4]
fstp dword [edx + 0x124]
fld dword [edi]
fmul dword [eax + 0x8288]
fld dword [edi + 4]
fmul dword [eax + 0x8298]
faddp st(1)
fld dword [edi + 8]
fmul dword [eax + 0x82a8]
faddp st(1)
fadd dword [eax + 0x82b8]
fstp dword [edx + 0x128]
mov eax, dword [ebp - 0x138]
fld qword [ebp - 0xe0]
fld dword [eax + 0x120]
fld dword [eax + 0x124]
fxch st(1)
fmul st(0)
fld dword [eax + 0x128]
fxch st(2)
fmul st(0)
faddp st(1)
fxch st(1)
fmul st(0)
faddp st(1)
fsqrt
fld qword [ebp - 0xd8]
fld dword [0x6de4d2a4]
fxch st(2)
fmul st(3), st(0)
fxch st(3)
fadd qword [ebp - 0xe8]
fxch st(3)
fmul st(1), st(0)
fmulp st(1)
faddp st(2)
fcompi st(1)
jb 0x6dddfe10
fstp st(0)
mov eax, dword [ebx + 8]
fld dword [eax + 0x13820]
fstp qword [ebp - 0x68]
jmp 0x6dde0039
fdivr qword [0x6de4d2b8]
mov eax, dword [ebx + 8]
fld qword [ebp - 0x68]
fxch st(1)
fsqrt
fmul dword [eax + 0x11bf8]
fmulp st(1)
fstp qword [ebp - 0x68]
jmp 0x6dde0039
fld dword [0x6de4d2a8]
fld dword [0x6de4d2ac]
fld dword [0x6de4d2b0]
fxch st(2)
fstp qword [ebp - 0x70]
fstp qword [ebp - 0x98]
fstp qword [ebp - 0x90]
fld dword [0x6de4d2b4]
mov ecx, dword [ebp - 0x138]
mov edx, 0
fstp qword [ebp - 0x88]
mov esi, dword [ecx + 0x1f54]
mov dword [ebp - 0x204], esi
mov ecx, dword [ecx + 0x1f5c]
mov dword [ebp - 0x238], ecx
jb 0x6dde0f2c
fld dword [0x6de4d2c0]
fsub qword [ebp - 0x70]
mov ecx, dword [ebp - 0x204]
fld qword [ebp - 0x70]
fadd dword [ecx + edx*4]
fld dword [ecx + edx*4]
cmp edx, eax
fcmove st(0), st(2)
fstp st(2)
fld qword [ebp - 0x70]
fcmovne st(0), st(1)
fstp st(1)
mov ecx, dword [ebp - 0x238]
fstp qword [ebp - 0x70]
fstp qword [ebp - 0xb8]
movzx esi, byte [edx + ecx]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x44], edi
mov edi, esi
shl esi, 6
mov dword [ebp - 0x40], edx
lea edx, [ecx + esi + 0x8280]
mov dword [ebp - 0x210], edx
mov edx, dword [ecx + edi*8 + 0x10a84]
mov edi, dword [ecx + edi*8 + 0x10a80]
mov dword [ebp - 0x3c], esi
mov esi, dword [ecx + 0x11a84]
mov ecx, dword [ecx + 0x11a80]
sub edi, ecx
sbb edx, esi
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
jae 0x6dddff68
mov eax, dword [ebx + 8]
add esp, 0xfffffff0
mov dword [ebp - 0x48], edx
lea ecx, [eax + esi + 0x280]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x210]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.6de199f0
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x174]
add esp, 0x10
mov eax, dword [edx + 0x11a84]
mov dword [ebp - 0x44], edi
mov edi, dword [edx + 0x11a80]
mov dword [edx + ecx*8 + 0x10a84], eax
mov dword [edx + ecx*8 + 0x10a80], edi
mov eax, dword [edx + 0x1325c]
mov edx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x44]
fld dword [edi]
fld dword [edi + 4]
fld dword [edi + 8]
fld qword [ebp - 0x98]
fld dword [edi]
fld dword [edi + 4]
fld dword [edi + 8]
inc edx
mov ecx, dword [ebx + 8]
fmul dword [esi + ecx + 0x82a4]
fld qword [ebp - 0x90]
fxch st(7)
fmul dword [esi + ecx + 0x8280]
fxch st(6)
fmul dword [esi + ecx + 0x8290]
faddp st(6)
fxch st(4)
fmul dword [esi + ecx + 0x82a0]
faddp st(5)
fmul dword [esi + ecx + 0x8294]
fxch st(4)
fadd dword [esi + ecx + 0x82b0]
fmul qword [ebp - 0xb8]
faddp st(2)
fmul dword [esi + ecx + 0x8284]
faddp st(3)
fstp qword [ebp - 0x98]
fld dword [edi]
fmul dword [esi + ecx + 0x8288]
fxch st(1)
faddp st(2)
fld dword [edi + 4]
fmul dword [esi + ecx + 0x8298]
faddp st(1)
fxch st(1)
fadd dword [esi + ecx + 0x82b4]
fmul qword [ebp - 0xb8]
faddp st(2)
fld dword [edi + 8]
fmul dword [esi + ecx + 0x82a8]
faddp st(1)
fadd dword [esi + ecx + 0x82b8]
fmul qword [ebp - 0xb8]
fadd qword [ebp - 0x88]
fxch st(1)
fstp qword [ebp - 0x90]
fstp qword [ebp - 0x88]
cmp edx, eax
jbe 0x6dddfe88
jmp 0x6dde0f2c
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x250]
mov eax, dword [eax + 0x13284]
fld qword [ebp - 0x68]
fstp dword [edx + eax]
mov eax, dword [ebp - 0x270]
test eax, eax
jne 0x6dde011e
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x12fa8]
test eax, 0x80000000
jne 0x6dde00ba
mov eax, dword [ebp - 0x250]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x268]
add eax, dword [edx + 0x1327c]
test cl, 0x40
mov dword [ebp - 0x1b0], eax
je 0x6dde00a9
mov edx, dword [ebp - 0x138]
mov ecx, eax
mov edx, dword [edx + 0x1f4c]
mov esi, dword [ebx + 8]
mov edx, dword [edx]
mov dword [ecx], edx
mov eax, dword [esi + 0x12fa8]
jmp 0x6dde00ba
mov edx, eax
mov ecx, dword [ebx + 8]
mov dword [edx], 0xffffffff
mov eax, dword [ecx + 0x12fa8]
test eax, 0x100000
jne 0x6dde01a0
mov eax, dword [ebp - 0x250]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x268]
add eax, dword [edx + 0x13280]
test ecx, 0x80
mov dword [ebp - 0x1b4], eax
je 0x6dde0108
mov edx, dword [ebp - 0x138]
mov ecx, eax
mov edx, dword [edx + 0x1f50]
mov esi, dword [ebx + 8]
mov edx, dword [edx]
mov dword [ecx], edx
mov eax, dword [esi + 0x12fa8]
jmp 0x6dde01a0
mov edx, eax
mov ecx, dword [ebx + 8]
mov dword [edx], 0
mov eax, dword [ecx + 0x12fa8]
jmp 0x6dde01a0
add esp, 0xfffffff0
lea eax, [ebp - 0x2c0]
lea edx, [ebp - 0x2c4]
mov ecx, dword [ebp - 0x138]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.6dddd330
mov edx, dword [ebx + 8]
add esp, 0x10
mov eax, dword [edx + 0x12fa8]
test eax, 0x80000000
jne 0x6dde017b
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x250]
mov esi, dword [edx + 0x1327c]
mov edi, dword [ebp - 0x2c4]
mov dword [ecx + esi], edi
mov eax, dword [edx + 0x12fa8]
test eax, 0x100000
jne 0x6dde01a0
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x250]
mov esi, dword [edx + 0x13280]
mov edi, dword [ebp - 0x2c0]
mov dword [ecx + esi], edi
mov eax, dword [edx + 0x12fa8]
test eax, 0x10000000
jne 0x6dde0603
mov edx, dword [ebp - 0x250]
mov ecx, dword [ebx + 8]
mov esi, 1
add edx, dword [ecx + 0x13278]
mov eax, dword [ecx + 0x12fbc]
mov dword [ebp - 0x13c], edx
mov edx, 0x10000
and edx, eax
mov ecx, 0
cmove ecx, esi
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [edx + 0x200c]
test edx, edx
jne 0x6dde06ff
test eax, 0x4010000
je 0x6dde05dc
mov eax, ecx
test eax, eax
je 0x6dde02f5
mov eax, dword [ebp - 0x138]
mov edx, dword [ebx + 8]
mov eax, dword [eax + 0x1f68]
mov edx, dword [edx + 0x12fd4]
mov dword [ebp - 0x194], eax
test edx, edx
mov eax, 0
mov dword [ebp - 0x154], eax
jbe 0x6dde0603
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x154]
mov ecx, dword [eax + edx*4 + 0x13068]
mov eax, dword [eax + edx*4 + 0x131d0]
mov esi, 0xfffffffc
and esi, ecx
add edx, edx
test eax, eax
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 0x1b8], eax
je 0x6dde0f5d
mov eax, dword [ebx + 8]
mov esi, edx
mov edi, dword [ebp - 0x1fc]
mov eax, dword [eax + esi*2 + 0x13088]
shr eax, 2
mov esi, dword [ebp - 0x1b8]
lea eax, [eax + edi - 4]
mov ecx, dword [ebp - 0x194]
mov eax, dword [eax*4 + 0x6de41ebc]
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x214], eax
push esi
call eax
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x13c]
add eax, edx
add ecx, edx
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x13c], ecx
inc eax
mov edx, dword [ebx + 8]
mov dword [ebp - 0x154], eax
cmp eax, dword [edx + 0x12fd4]
jb 0x6dde0237
jmp 0x6dde0603
mov eax, dword [ebx + 8]
xor edx, edx
mov eax, dword [eax + 0x131cc]
mov dword [ebp - 0x180], edx
test eax, eax
jbe 0x6dde0603
mov eax, dword [ebp - 0x180]
mov edx, dword [ebx + 8]
mov ecx, dword [edx + eax*4 + 0x13068]
mov dword [ebp - 0x1e0], ecx
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + eax*4]
mov eax, dword [ecx + edx + 0x130c4]
mov edx, dword [ecx + edx + 0x130c8]
mov dword [ebp - 0x140], ecx
test edx, edx
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x198], edx
jne 0x6dde036d
mov eax, dword [ebp - 0x138]
mov edx, ecx
mov ecx, dword [eax + 0x1f68]
mov eax, dword [ebx + 8]
add ecx, dword [edx + eax + 0x130b0]
jmp 0x6dde04e9
mov eax, edx
cmp eax, 0x20000
jne 0x6dde0387
mov ecx, dword [ebp - 0x138]
add ecx, 0x120
jmp 0x6dde04e9
cmp eax, 0x10000
jne 0x6dde039f
mov ecx, dword [ebp - 0x138]
add ecx, 0x130
jmp 0x6dde04e9
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x12fbc]
test eax, 0x1000000
je 0x6dde049b
mov eax, dword [ebp - 0x138]
mov edx, dword [eax + 0x120]
mov dword [ebp - 0x2bc], edx
mov edx, dword [eax + 0x124]
fld dword [ebp - 0x2bc]
mov dword [ebp - 0x2b8], edx
mov edx, dword [eax + 0x128]
fld dword [ebp - 0x2b8]
mov dword [ebp - 0x2b4], edx
mov edx, dword [eax + 0x12c]
fld dword [ebp - 0x2b4]
fxch st(1)
fmul st(0)
fxch st(1)
mov dword [ebp - 0x2b0], edx
fmul st(0)
fld dword [ebp - 0x2bc]
fmul dword [eax + 0x130]
fld dword [ebp - 0x2b8]
fmul dword [eax + 0x134]
faddp st(1)
fxch st(3)
fmul st(0)
faddp st(2)
faddp st(1)
fsqrt
fld dword [ebp - 0x2b4]
fmul dword [eax + 0x138]
faddp st(2)
fld dword [eax + 0x130]
fchs
fxch st(2)
fadd st(0)
fld dword [ebp - 0x2bc]
fxch st(1)
fmul st(3), st(0)
fld dword [ebp - 0x2b8]
fxch st(4)
faddp st(2)
fld dword [ebp - 0x2b4]
fxch st(3)
fdivr dword [0x6de4d2c4]
fmul st(2), st(0)
fxch st(2)
fstp dword [ebp - 0x2bc]
fld dword [eax + 0x134]
fchs
fmul st(1)
faddp st(4)
fxch st(1)
fmul st(3), st(0)
fxch st(3)
fstp dword [ebp - 0x2b8]
fld dword [eax + 0x138]
fchs
fmulp st(1)
faddp st(1)
fmulp st(1)
fstp dword [ebp - 0x2b4]
jmp 0x6dde04e3
mov eax, dword [ebp - 0x138]
fld dword [eax + 0x138]
fld dword [eax + 0x130]
fxch st(1)
fadd st(0)
fld st(0)
fchs
fmul st(2), st(0)
fxch st(2)
fstp dword [ebp - 0x2bc]
fxch st(1)
fmul dword [eax + 0x134]
fstp dword [ebp - 0x2b8]
fld dword [eax + 0x138]
fchs
fmulp st(1)
fadd dword [0x6de4d2c8]
fstp dword [ebp - 0x2b4]
lea ecx, [ebp - 0x2bc]
mov eax, dword [ebp - 0x140]
mov edx, dword [ebx + 8]
mov eax, dword [eax + edx + 0x130cc]
test eax, eax
je 0x6dde056a
mov eax, dword [ebp - 0x140]
mov edx, dword [ebx + 8]
mov eax, dword [eax + edx + 0x130c0]
mov dword [ebp - 0x1bc], eax
test eax, eax
je 0x6dde0fd6
mov eax, dword [ebp - 0x1f0]
push edi
mov eax, dword [eax*4 + 0x6de41ec0]
mov esi, dword [ebp - 0x1bc]
mov dword [ebp - 0x218], eax
lea edx, [ebp - 0x2ac]
mov dword [esp], esi
call eax
add esp, 0xfffffff0
mov eax, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x13c]
lea ecx, [ebp - 0x2ac]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.6dddc710
add esp, 0x10
jmp 0x6dde05aa
mov eax, dword [ebp - 0x140]
mov edx, dword [ebx + 8]
mov eax, dword [eax + edx + 0x130c0]
mov dword [ebp - 0x1c0], eax
test eax, eax
je 0x6dde106d
mov eax, dword [ebp - 0x1f0]
mov eax, dword [eax*4 + 0x6de41ec0]
mov esi, dword [ebp - 0x1c0]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x13c]
push esi
call eax
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x180]
add eax, edx
inc ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x180], ecx
cmp ecx, dword [eax + 0x131cc]
jb 0x6dde030e
jmp 0x6dde0603
mov eax, dword [ebp - 0x138]
mov edx, dword [ebx + 8]
mov esi, dword [eax + 0x1f68]
mov ecx, dword [edx + 0x12fd8]
mov edi, dword [ebp - 0x13c]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x138]
mov edx, dword [eax + 0x1f88]
mov ecx, dword [eax + 0x1f8c]
add dword [eax + 0x1f44], edx
add dword [eax + 0x1f48], ecx
mov edx, dword [eax + 0x1f90]
mov ecx, dword [eax + 0x1f94]
add dword [eax + 0x1f4c], edx
add dword [eax + 0x1f50], ecx
mov edx, dword [eax + 0x1f98]
mov ecx, dword [eax + 0x1f9c]
add dword [eax + 0x1f54], edx
add dword [eax + 0x1f58], ecx
mov edx, dword [eax + 0x1fa0]
mov ecx, dword [eax + 0x1fa4]
add dword [eax + 0x1f5c], edx
add dword [eax + 0x1f60], ecx
mov edx, dword [eax + 0x1fa8]
mov ecx, dword [eax + 0x200c]
add dword [eax + 0x1f64], edx
test ecx, ecx
jne 0x6dde06c9
mov edx, dword [eax + 0x1fac]
add dword [eax + 0x1f68], edx
mov eax, dword [ebp - 0x250]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x25c]
add eax, dword [edx + 0x12fc0]
inc ecx
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x250], eax
cmp ecx, edx
mov dword [ebp - 0x25c], ecx
jae 0x6dde0f7a
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x12fa8]
jmp 0x6dddf488
xor eax, eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x16c]
mov ecx, dword [eax + edx*4 + 0x1fac]
mov esi, 1
add esi, edx
add dword [eax + edx*4 + 0x1f68], ecx
mov dword [ebp - 0x16c], esi
cmp esi, 8
jb 0x6dde06d1
jmp 0x6dde068b
test eax, 0x4010000
jne 0x6dde078b
mov eax, dword [ebx + 8]
xor edx, edx
mov eax, dword [eax + 0x12fd4]
mov dword [ebp - 0x170], edx
test eax, eax
jbe 0x6dde0603
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax + edx*4 + 0x13068]
mov esi, dword [ecx + edx*4 + 0x1f68]
mov dword [ebp - 0x1e8], eax
mov ecx, eax
mov edi, dword [ebp - 0x13c]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x170]
add eax, edx
inc ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x170], ecx
cmp ecx, dword [eax + 0x12fd4]
jb 0x6dde0723
jmp 0x6dde0603
mov eax, ecx
test eax, eax
je 0x6dde085b
mov eax, dword [ebx + 8]
xor edx, edx
mov eax, dword [eax + 0x12fd4]
mov dword [ebp - 0x158], edx
test eax, eax
jbe 0x6dde0603
mov eax, dword [ebp - 0x158]
mov edx, dword [ebx + 8]
mov ecx, dword [edx + eax*4 + 0x13068]
mov edx, dword [edx + eax*4 + 0x131d0]
add eax, eax
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x1a4], eax
test edx, edx
mov dword [ebp - 0x1d4], ecx
je 0x6dde0ffd
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x1a4]
mov edi, ecx
mov eax, dword [eax + esi*2 + 0x13088]
and edi, 0xfffffffc
shr eax, 2
mov edx, dword [ebp - 0x138]
lea eax, [eax + edi - 4]
mov ecx, dword [edx + esi*2 + 0x1f68]
mov eax, dword [eax*4 + 0x6de41ebc]
mov esi, dword [ebp - 0x1c4]
mov dword [ebp - 0x220], eax
push esi
mov edx, dword [ebp - 0x13c]
call eax
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x158]
add eax, edx
inc ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x158], ecx
cmp ecx, dword [eax + 0x12fd4]
jb 0x6dde07ae
jmp 0x6dde0603
mov eax, dword [ebx + 8]
xor edx, edx
mov eax, dword [eax + 0x131cc]
mov dword [ebp - 0x184], edx
test eax, eax
jbe 0x6dde0603
mov eax, dword [ebp - 0x184]
mov edx, dword [ebx + 8]
mov ecx, eax
shl ecx, 5
mov esi, dword [edx + eax*4 + 0x13068]
mov dword [ebp - 0x1e4], esi
lea ecx, [ecx + eax*4]
mov eax, dword [ecx + edx + 0x130ac]
mov esi, dword [ecx + edx + 0x130c4]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x200], eax
mov ecx, dword [ecx + edx + 0x130c8]
mov dword [ebp - 0x1f4], esi
test ecx, ecx
mov dword [ebp - 0x19c], ecx
jne 0x6dde08db
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x200]
mov ecx, dword [eax + edx*4 + 0x1f68]
jmp 0x6dde0a57
mov eax, ecx
cmp eax, 0x20000
jne 0x6dde08f5
mov ecx, dword [ebp - 0x138]
add ecx, 0x120
jmp 0x6dde0a57
cmp eax, 0x10000
jne 0x6dde090d
mov ecx, dword [ebp - 0x138]
add ecx, 0x130
jmp 0x6dde0a57
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x12fbc]
test eax, 0x1000000
je 0x6dde0a09
mov eax, dword [ebp - 0x138]
mov edx, dword [eax + 0x120]
mov dword [ebp - 0x29c], edx
mov edx, dword [eax + 0x124]
fld dword [ebp - 0x29c]
mov dword [ebp - 0x298], edx
mov edx, dword [eax + 0x128]
fld dword [ebp - 0x298]
mov dword [ebp - 0x294], edx
mov edx, dword [eax + 0x12c]
fld dword [ebp - 0x294]
fxch st(1)
fmul st(0)
fxch st(1)
mov dword [ebp - 0x290], edx
fmul st(0)
fld dword [ebp - 0x29c]
fmul dword [eax + 0x130]
fld dword [ebp - 0x298]
fmul dword [eax + 0x134]
faddp st(1)
fxch st(3)
fmul st(0)
faddp st(2)
faddp st(1)
fsqrt
fld dword [ebp - 0x294]
fmul dword [eax + 0x138]
faddp st(2)
fld dword [eax + 0x130]
fchs
fxch st(2)
fadd st(0)
fld dword [ebp - 0x29c]
fxch st(1)
fmul st(3), st(0)
fld dword [ebp - 0x298]
fxch st(4)
faddp st(2)
fld dword [ebp - 0x294]
fxch st(3)
fdivr dword [0x6de4d2cc]
fmul st(2), st(0)
fxch st(2)
fstp dword [ebp - 0x29c]
fld dword [eax + 0x134]
fchs
fmul st(1)
faddp st(4)
fxch st(1)
fmul st(3), st(0)
fxch st(3)
fstp dword [ebp - 0x298]
fld dword [eax + 0x138]
fchs
fmulp st(1)
faddp st(1)
fmulp st(1)
fstp dword [ebp - 0x294]
jmp 0x6dde0a51
mov eax, dword [ebp - 0x138]
fld dword [eax + 0x138]
fld dword [eax + 0x130]
fxch st(1)
fadd st(0)
fld st(0)
fchs
fmul st(2), st(0)
fxch st(2)
fstp dword [ebp - 0x29c]
fxch st(1)
fmul dword [eax + 0x134]
fstp dword [ebp - 0x298]
fld dword [eax + 0x138]
fchs
fmulp st(1)
fadd dword [0x6de4d2d0]
fstp dword [ebp - 0x294]
lea ecx, [ebp - 0x29c]
mov eax, dword [ebp - 0x150]
mov edx, dword [ebx + 8]
mov eax, dword [eax + edx + 0x130cc]
test eax, eax
je 0x6dde0ad4
mov eax, dword [ebp - 0x150]
mov edx, dword [ebx + 8]
mov eax, dword [eax + edx + 0x130c0]
mov dword [ebp - 0x1c8], eax
test eax, eax
je 0x6dde1027
mov eax, esi
push edi
mov eax, dword [eax*4 + 0x6de41ec0]
mov esi, dword [ebp - 0x1c8]
mov dword [ebp - 0x224], eax
lea edx, [ebp - 0x28c]
mov dword [esp], esi
call eax
add esp, 0xfffffff0
mov eax, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x13c]
lea ecx, [ebp - 0x28c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.6dddc710
add esp, 0x10
jmp 0x6dde0b10
mov eax, dword [ebp - 0x150]
mov edx, dword [ebx + 8]
mov eax, dword [eax + edx + 0x130c0]
mov dword [ebp - 0x1cc], eax
test eax, eax
je 0x6dde104e
mov eax, esi
mov eax, dword [eax*4 + 0x6de41ec0]
mov esi, dword [ebp - 0x1cc]
mov dword [ebp - 0x228], eax
mov edx, dword [ebp - 0x13c]
push esi
call eax
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x184]
add eax, edx
inc ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x184], ecx
cmp ecx, dword [eax + 0x131cc]
jb 0x6dde0874
jmp 0x6dde0603
fld dword [0x6de4d278]
fld dword [0x6de4d27c]
fld dword [0x6de4d280]
fxch st(2)
fstp qword [ebp - 0x78]
fstp qword [ebp - 0xb0]
fstp qword [ebp - 0xa8]
fld dword [0x6de4d284]
mov eax, ecx
xor edx, edx
fstp qword [ebp - 0xa0]
mov ecx, dword [eax + 0x1f54]
mov dword [ebp - 0x148], edx
mov eax, dword [eax + 0x1f5c]
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x23c], eax
test edx, edx
jb 0x6dde108c
fld dword [0x6de4d288]
fsub qword [ebp - 0x78]
mov eax, dword [ebp - 0x208]
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
fld dword [eax + edx*4]
fadd qword [ebp - 0x78]
fld dword [eax + edx*4]
cmp edx, ecx
fcmove st(0), st(2)
fstp st(2)
fld qword [ebp - 0x78]
fcmovne st(0), st(1)
fstp st(1)
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebx + 8]
fstp qword [ebp - 0x78]
fstp qword [ebp - 0xc0]
movzx esi, byte [edx + eax]
mov eax, dword [ecx + 0x11a84]
mov edx, dword [ecx + 0x11a80]
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x44], edi
mov edi, esi
shl esi, 6
mov dword [ebp - 0x40], eax
lea eax, [ecx + esi + 0x8280]
mov dword [ebp - 0x22c], eax
mov eax, dword [ecx + edi*8 + 0x10a84]
mov ecx, dword [ecx + edi*8 + 0x10a80]
sub ecx, edx
mov edx, dword [ebp - 0x40]
sbb eax, edx
mov edi, dword [ebp - 0x44]
jae 0x6dde0c8a
add esp, 0xfffffff0
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x22c]
mov dword [esp + 8], eax
lea eax, [eax + esi + 0x280]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.6de199f0
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x178]
add esp, 0x10
mov ecx, dword [eax + 0x11a84]
mov dword [ebp - 0x44], edi
mov edi, dword [eax + 0x11a80]
mov dword [eax + edx*8 + 0x10a84], ecx
mov dword [eax + edx*8 + 0x10a80], edi
mov eax, dword [eax + 0x1325c]
mov dword [ebp - 0x144], eax
mov edi, dword [ebp - 0x44]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x148]
fld dword [esi + eax + 0x8280]
fmul dword [edi]
fld dword [esi + eax + 0x8290]
fmul dword [edi + 4]
faddp st(1)
fld dword [esi + eax + 0x82a0]
fmul dword [edi + 8]
faddp st(1)
fadd dword [esi + eax + 0x82b0]
fmul qword [ebp - 0xc0]
fadd qword [ebp - 0xb0]
fld dword [edi]
fmul dword [esi + eax + 0x8284]
fxch st(1)
fstp qword [ebp - 0xb0]
fld dword [edi + 4]
fmul dword [esi + eax + 0x8294]
faddp st(1)
fld dword [edi + 8]
fmul dword [esi + eax + 0x82a4]
faddp st(1)
fadd dword [esi + eax + 0x82b4]
fmul qword [ebp - 0xc0]
fadd qword [ebp - 0xa8]
fld dword [edi]
fmul dword [esi + eax + 0x8288]
fxch st(1)
fstp qword [ebp - 0xa8]
fld dword [edi + 4]
fmul dword [esi + eax + 0x8298]
faddp st(1)
fld dword [edi + 8]
fmul dword [esi + eax + 0x82a8]
faddp st(1)
fadd dword [esi + eax + 0x82b8]
fmul qword [ebp - 0xc0]
fadd qword [ebp - 0xa0]
inc edx
mov eax, dword [ebp - 0x144]
fstp qword [ebp - 0xa0]
mov dword [ebp - 0x148], edx
cmp edx, eax
jbe 0x6dde0ba4
jmp 0x6dde108c
mov eax, dword [ebp - 0x138]
mov edx, dword [ebx + 8]
xorps xmm0, xmm0
mov ecx, dword [eax + 0x1f54]
mov eax, dword [eax + 0x1f5c]
movaps xmm1, xmm0
movaps xmmword [ebp - 0x2e0], xmm0
movaps xmmword [ebp - 0x100], xmm1
mov edx, dword [edx + 0x1325c]
mov dword [ebp - 0x230], ecx
test edx, edx
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x15c], edx
mov eax, 0
mov dword [ebp - 0x160], eax
jb 0x6dddf5c6
mov eax, dword [ebp - 0x160]
mov edx, dword [ebp - 0x248]
mov ecx, dword [ebx + 8]
movzx eax, byte [eax + edx]
mov edx, dword [ecx + 0x11a84]
mov dword [ebp - 0x17c], eax
mov esi, dword [ecx + eax*8 + 0x10284]
mov edi, eax
shl edi, 6
mov dword [ebp - 0x164], edi
lea edi, [ecx + edi + 0x4280]
mov dword [ebp - 0x234], edi
mov eax, dword [ecx + eax*8 + 0x10280]
mov ecx, dword [ecx + 0x11a80]
sub eax, ecx
sbb esi, edx
jae 0x6dde0e69
mov eax, dword [ebx + 8]
add esp, 0xfffffff0
mov edx, 0x40
add edx, eax
mov ecx, dword [ebp - 0x164]
mov dword [esp + 8], edx
lea eax, [eax + ecx + 0x280]
mov edx, edi
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.6de199f0
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x17c]
mov ecx, dword [eax + 0x11a84]
mov esi, dword [eax + 0x11a80]
mov dword [eax + edx*8 + 0x10284], ecx
mov dword [eax + edx*8 + 0x10280], esi
movaps xmm0, xmmword [ebp - 0x2e0]
mov eax, dword [eax + 0x1325c]
add esp, 0x10
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x160]
mov edx, dword [ebp - 0x15c]
cmp eax, edx
jne 0x6dde0e89
movaps xmm1, xmmword [0x6de47a70]
subps xmm1, xmmword [ebp - 0x100]
jmp 0x6dde0eb5
mov eax, dword [ebp - 0x230]
mov edx, dword [ebp - 0x160]
movaps xmm1, xmmword [ebp - 0x100]
movss xmm2, dword [eax + edx*4]
movaps xmm3, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm1, 0
addps xmm3, xmm1
movaps xmmword [ebp - 0x100], xmm3
mov eax, dword [ebp - 0x164]
mov edx, dword [ebx + 8]
movaps xmm2, xmmword [ebp - 0x110]
movaps xmm3, xmmword [ebp - 0x120]
mulps xmm2, xmmword [eax + edx + 0x4280]
mulps xmm3, xmmword [eax + edx + 0x4290]
movaps xmm4, xmmword [ebp - 0x130]
addps xmm2, xmm3
mulps xmm4, xmmword [eax + edx + 0x42a0]
mov ecx, dword [ebp - 0x160]
addps xmm2, xmm4
inc ecx
addps xmm2, xmmword [eax + edx + 0x42b0]
mov dword [ebp - 0x160], ecx
mulps xmm2, xmm1
addps xmm0, xmm2
movaps xmmword [ebp - 0x2e0], xmm0
mov edx, dword [edx + 0x1325c]
mov dword [ebp - 0x15c], edx
cmp ecx, edx
jbe 0x6dde0db3
jmp 0x6dddf5c6
mov eax, dword [ebp - 0x138]
fld qword [ebp - 0x98]
fld qword [ebp - 0x90]
fld qword [ebp - 0x88]
fxch st(1)
fstp dword [eax + 0x124]
fstp dword [eax + 0x128]
fstp dword [eax + 0x120]
jmp 0x6dddfda9
mov edi, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x194]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x6dde02b2
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x264]
mov dword [eax + 0x11c1c], edx
mov dword [eax + 0x11c18], ecx
mov dword [ebp - 4], 0xffffffff
movzx eax, word [ebp - 0x2d0]
movzx edx, word [ebp - 0x2ce]
mov word [ebp - 0x27c], ax
test edx, edx
je 0x6dde0fbd
fnclex
fldcw word [ebp - 0x27c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
add esp, 0xfffffff0
mov eax, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x13c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.6dddc710
add esp, 0x10
jmp 0x6dde05aa
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x13c]
mov esi, dword [eax + edx*2 + 0x1f68]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x6dde0826
add esp, 0xfffffff0
mov eax, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x13c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.6dddc710
add esp, 0x10
jmp 0x6dde0b10
mov edi, dword [ebp - 0x13c]
mov esi, ecx
mov ecx, dword [ebp - 0x1e4]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x6dde0b10
mov edi, dword [ebp - 0x13c]
mov esi, ecx
mov ecx, dword [ebp - 0x1e0]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x6dde05aa
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebx + 8]
fld qword [ebp - 0xa0]
fld qword [ebp - 0xa8]
fld qword [ebp - 0xb0]
fxch st(2)
fstp dword [edx + 0x128]
fstp dword [edx + 0x124]
fstp dword [edx + 0x120]
mov eax, dword [ecx + 0x12fbc]
jmp 0x6dddf8fc