Function at 0x10065ff0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax*4 + 0x102d7d5c]
call dword [section..00cfg]
pop ebp
jmp ecx
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0xe948
call fcn.101308a0
mov ebx, dword [ebp + 0x10]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0xe940], eax
mov esi, 0xff
mov dword [esp + 4], esi
lea eax, [esp + 0x298]
mov dword [esp], eax
mov dword [esp + 8], 0xe6a8
call fcn.10132b90
mov dword [esp + 4], esi
lea eax, [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 8], 0x1e4
call fcn.10132b90
movss xmm0, dword [0x102d7c14]
xorps xmm1, xmm1
xor edi, edi
xorps xmm4, xmm4
xorps xmm5, xmm5
xor eax, eax
movss xmm2, dword [ebx + eax*4 + 0x35c0]
ucomiss xmm1, xmm2
je 0x10062ba0
movaps xmm3, xmm2
andps xmm3, xmmword [0x102d7c20]
maxss xmm5, xmm3
minss xmm3, xmm0
mulss xmm2, xmm2
addss xmm4, xmm2
inc edi
movaps xmm0, xmm3
inc eax
cmp eax, 0x400
jne 0x10062b74
test edi, edi
je 0x10062cb8
movss dword [esp + 0x50], xmm4
movss dword [esp], xmm0
movss dword [esp + 0x30], xmm5
call fcn.1014573b
fstp dword [esp + 0xa4]
movss xmm0, dword [esp + 0xa4]
mulss xmm0, dword [0x102c44f4]
addss xmm0, dword [0x102d7c30]
addss xmm0, dword [0x102d7c34]
addss xmm0, dword [0x102d7c38]
cvttss2si eax, xmm0
mov ebx, eax
sar ebx, 0x1f
mov esi, 0x100
cmp eax, esi
not ebx
cmovb ebx, eax
mov eax, 0xff
and ebx, eax
mov eax, 0xfe
cmp ebx, eax
cmovge ebx, eax
movss xmm0, dword [esp + 0x30]
movss dword [esp], xmm0
call fcn.1014573b
mov ecx, ebx
fstp dword [esp + 0xa0]
movss xmm0, dword [esp + 0xa0]
mulss xmm0, dword [0x102c44f4]
addss xmm0, dword [0x102d7c3c]
addss xmm0, dword [0x102d7c34]
addss xmm0, dword [0x102d7c38]
cvttss2si eax, xmm0
mov ebx, eax
sar ebx, 0x1f
cmp eax, esi
not ebx
cmovb ebx, eax
mov eax, 0xff
and ebx, eax
xor esi, esi
inc esi
test ebx, ebx
cmove ebx, esi
mov eax, ebx
sub eax, ecx
cmp eax, 0x3d
jl 0x10062d1a
mov dword [esp + 0x48], ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
movss xmm1, dword [esp + 0x50]
divss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x10062d24
sqrtsd xmm0, xmm0
jmp 0x10062d3e
lea eax, [ebx + 0x1eb0]
mov dword [esp], eax
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
call fcn.10132b90
movaps xmm0, xmmword [0x102d7c50]
movaps xmmword [ebx + 0x20b0], xmm0
movaps xmmword [ebx + 0x20c0], xmm0
movaps xmmword [ebx + 0x20d0], xmm0
movaps xmmword [ebx + 0x20e0], xmm0
movaps xmmword [ebx + 0x20f0], xmm0
movaps xmmword [ebx + 0x2100], xmm0
movaps xmmword [ebx + 0x2110], xmm0
movaps xmmword [ebx + 0x2120], xmm0
jmp 0x100634e1
lea eax, [ecx + 1]
cmp ebx, ecx
cmovne eax, ebx
jmp 0x10062da0
movsd qword [esp], xmm0
call fcn.101460b0
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa8]
cvtsd2ss xmm0, xmm0
movss dword [esp], xmm0
call fcn.1014573b
fstp dword [esp + 0x9c]
movss xmm0, dword [esp + 0x9c]
mulss xmm0, dword [0x102c44f4]
addss xmm0, dword [0x102d7c40]
addss xmm0, dword [0x102d7c34]
addss xmm0, dword [0x102d7c38]
cvttss2si eax, xmm0
mov ecx, eax
sar ecx, 0x1f
cmp eax, 0x100
not ecx
cmovb ecx, eax
movzx edx, cl
lea eax, [edx - 0x1e]
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jle 0x10062da6
lea eax, [ecx + 0x3c]
mov dword [esp + 0x3c], eax
jmp 0x10062dba
add edx, 0x1e
lea ecx, [ebx - 0x3c]
cmp ebx, edx
cmovb eax, ecx
cmovb edx, ebx
mov dword [esp + 0x3c], edx
mov ecx, eax
mov ebx, dword [ebp + 0x10]
xor eax, eax
mov dword [esp + eax*8 + 0x298], 0
mov dword [esp + eax*8 + 0x29c], 0xffffffff
inc eax
cmp eax, 0x3d
jne 0x10062dbf
mov dword [esp + 0x48], ecx
lea eax, [esp + 0x484]
xor ecx, ecx
mov dword [eax + ecx*8 - 4], 0x7f800000
mov dword [eax + ecx*8], 0xfffffffe
inc ecx
cmp ecx, 0x3d
jne 0x10062de8
inc esi
add eax, 0x1e8
cmp esi, 0x79
jne 0x10062de6
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x8a7c4]
lea esi, [ebx + 0x35c0]
lea edi, [eax + 0x97c0]
call dword [section..00cfg]
mov dword [esp + 4], esi
mov dword [esp + 0x74], edi
mov dword [esp], edi
mov dword [esp + 8], 0x400
call ecx
mov eax, dword [ebx + 0x5c]
xor edx, edx
inc edx
test eax, eax
mov dword [esp + 0x40], eax
jle 0x100633d2
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebx + 0x58]
xor edx, edx
inc edx
movss xmm4, dword [0x10299218]
xorps xmm5, xmm5
xor eax, eax
mov esi, dword [ebp + 0xc]
movaps xmm3, xmmword [0x102d7c20]
test ecx, ecx
mov edi, eax
mov dword [esp + 0x38], eax
jle 0x100633b1
mov ecx, eax
shl ecx, 7
mov dword [esp + 0x58], ecx
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x78], ecx
shl eax, 8
or eax, 8
mov dword [esp + 0x64], eax
imul ecx, edx, 0x1e8
lea eax, [esp + 0xb0]
add ecx, eax
mov dword [esp + 0x5c], ecx
xor edi, edi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], edi
lea ecx, [edi + eax]
mov dword [esp + 0x4c], edx
mov eax, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + edx*4 + 0xb4], ecx
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax + 0x14], 0
je 0x1006311a
mov eax, dword [esp + 0x58]
lea eax, [ebx + eax*4]
add eax, 0x35c0
xorps xmm6, xmm6
mov dword [esp + 0x30], 0
mov dword [esp + 0x84], eax
movss xmm0, dword [0x102992e8]
xor ecx, ecx
mov edx, dword [esp + 0x38]
mov ebx, esi
mov esi, dword [esi + 0x95f0]
mov edi, esi
shl edi, 0xb
lea edi, [edi + esi*4]
add edi, dword [ebx + 0x95bc]
lea esi, [ecx + edx]
shl esi, 4
add esi, dword [esp + 0x44]
mov ebx, esi
shl ebx, 4
movss xmm1, dword [ebx + edi + 8]
ucomiss xmm1, dword [ebx + edi + 4]
jae 0x10062f87
ucomiss xmm1, xmm5
jne 0x10062f42
jnp 0x10062f87
mov ebx, dword [ebp + 0x10]
mov byte [ebx + esi + 0x20b0], 0
mov edx, dword [ebx + 0x54]
mov esi, dword [esp + 0x44]
movzx edx, byte [edx + esi]
test edx, edx
je 0x10062f7e
xor esi, esi
movss xmm1, dword [eax + esi*4]
ucomiss xmm5, xmm1
andps xmm1, xmm3
je 0x10062f75
movaps xmm2, xmm1
minss xmm2, xmm0
movaps xmm0, xmm2
maxss xmm6, xmm1
inc esi
cmp edx, esi
jne 0x10062f5e
xor edx, edx
inc edx
mov dword [esp + 0x30], edx
jmp 0x10062f92
mov ebx, dword [ebp + 0x10]
mov byte [ebx + esi + 0x20b0], 1
inc ecx
mov edx, dword [esp + 0x38]
movzx esi, byte [ebx + edx + 0x14]
add eax, 0x200
cmp ecx, esi
mov esi, dword [ebp + 0xc]
jb 0x10062f09
cmp dword [esp + 0x30], 0
sete al
je 0x1006311a
mov byte [esp + 0x37], al
movss dword [esp], xmm0
movss dword [esp + 0x30], xmm6
call fcn.1014573b
fstp dword [esp + 0x98]
movss xmm0, dword [esp + 0x98]
movss xmm1, dword [0x102c44f4]
mulss xmm0, xmm1
addss xmm0, dword [0x102d7c30]
movss xmm1, dword [0x102d7c34]
addss xmm0, xmm1
movss xmm1, dword [0x102d7c38]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov esi, eax
sar esi, 0x1f
mov ecx, 0x100
cmp eax, ecx
not esi
cmovb esi, eax
mov edi, 0xff
and esi, edi
movss xmm0, dword [esp + 0x30]
movss dword [esp], xmm0
call fcn.1014573b
fstp dword [esp + 0x94]
movss xmm0, dword [esp + 0x94]
mulss xmm0, dword [0x102c44f4]
addss xmm0, dword [0x102d7c3c]
addss xmm0, dword [0x102d7c34]
addss xmm0, dword [0x102d7c38]
cvttss2si ecx, xmm0
mov eax, ecx
sar eax, 0x1f
mov edx, 0x100
cmp ecx, edx
not eax
cmovb eax, ecx
and eax, edi
mov ecx, dword [esp + 0x48]
sub esi, ecx
cmp esi, 0x3c
mov edx, 0x3c
cmovge esi, edx
test esi, esi
mov edx, 0
cmovle esi, edx
sub eax, ecx
cmp eax, 0x3d
mov ecx, 0x3d
cmovge eax, ecx
test eax, eax
cmovle eax, edx
lea ecx, [esi + 1]
cmp esi, eax
cmovne ecx, eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x38]
movzx eax, byte [ebx + eax + 0x14]
test eax, eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x80], ecx
je 0x10063151
mov esi, ecx
mov ecx, dword [ebx + 0x54]
mov edx, dword [esp + 0x44]
movzx ecx, byte [ecx + edx]
xorps xmm6, xmm6
xor edx, edx
movaps xmm3, xmmword [0x102d7c20]
movss xmm4, dword [0x10299218]
xorps xmm5, xmm5
test cl, cl
je 0x1006310d
xor edi, edi
maxss xmm6, dword [esi + edi*4]
inc edi
cmp ecx, edi
jne 0x10063103
inc edx
add esi, 0x200
cmp edx, eax
jne 0x100630fd
jmp 0x10063166
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x10063146
xor eax, eax
mov edx, dword [esp + 0x5c]
movss xmm0, dword [edx + eax*8]
addss xmm0, xmm4
movss dword [edx + eax*8 + 0x1e8], xmm0
mov dword [edx + eax*8 + 0x1ec], eax
inc eax
cmp ecx, eax
jne 0x10063128
mov edx, dword [esp + 0x4c]
mov cl, 1
jmp 0x10063378
xorps xmm6, xmm6
movaps xmm3, xmmword [0x102d7c20]
movss xmm4, dword [0x10299218]
xorps xmm5, xmm5
mov esi, dword [esp + 0x54]
cmp esi, dword [esp + 0x68]
jae 0x1006336d
lea ecx, [esi + 0x102e7d84]
mov dword [esp + 0x70], ecx
movss dword [esp + 0x7c], xmm6
mov ecx, 0x130
mov edx, dword [esp + 0x6c]
sub ecx, dword [ebx + edx*4 + 0x1eb0]
movss xmm0, dword [ecx*4 + 0x103f5bd8]
mulss xmm0, xmm6
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
mov edi, 0xb
cmp ecx, 0xd
ja 0x100631be
movzx edi, byte [ecx + 0x102d7ea4]
test al, al
mov dword [esp + 0x54], esi
je 0x100632fa
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], 0
add eax, esi
mov dword [esp + 0x40], eax
mov eax, dword [edi*4 + 0x102d7d5c]
mov dword [esp + 0x8c], eax
xorps xmm7, xmm7
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x84]
movss dword [esp + 0x50], xmm7
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x95f0]
mov ecx, eax
shl ecx, 0xb
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x95bc]
movss xmm4, dword [ebp + 0x14]
divss xmm4, dword [ebx + eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x54]
mov ecx, dword [esp + 0x44]
movzx eax, byte [eax + ecx]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x8c]
call dword [section..00cfg]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], eax
xor edx, edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], edx
movss dword [esp + 0x20], xmm4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x24], 0x7f800000
call ecx
movss xmm7, dword [esp + 0x50]
fstp dword [esp + 0x90]
addss xmm7, dword [esp + 0x90]
mov ecx, dword [esp + 0x30]
inc ecx
mov eax, dword [esp + 0x38]
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx + eax + 0x14]
mov edx, 0x200
add edi, edx
add esi, edx
add ebx, 0x100
mov dword [esp + 0x30], ecx
cmp ecx, eax
jb 0x10063206
mov ebx, dword [ebp + 0x10]
movaps xmm3, xmmword [0x102d7c20]
mov ecx, dword [esp + 0x3c]
movss xmm4, dword [0x10299218]
xorps xmm5, xmm5
movss xmm6, dword [esp + 0x7c]
jmp 0x10063303
xorps xmm7, xmm7
xor eax, eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x1006335a
imul ecx, dword [esp + 0x4c], 0x1e8
add ecx, esp
add ecx, 0x298
mov edx, dword [esp + 0x54]
lea ecx, [ecx + edx*8]
movss xmm0, dword [ecx]
xor edx, edx
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x5c]
movss xmm2, dword [edi + edx*8]
movzx edi, byte [esi]
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
addss xmm2, xmm7
addss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x10063352
movss dword [ecx], xmm1
mov dword [ecx + 4], edx
movaps xmm0, xmm1
inc edx
dec esi
cmp dword [esp + 0x3c], edx
jne 0x10063328
mov esi, dword [esp + 0x54]
inc esi
inc dword [esp + 0x70]
cmp esi, dword [esp + 0x68]
jne 0x10063184
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 0x4c]
mov cl, byte [esp + 0x37]
mov eax, dword [esp + 0x6c]
mov byte [ebx + eax + 0x20b0], cl
mov eax, dword [ebx + 0x54]
mov edi, dword [esp + 0x44]
movzx eax, byte [eax + edi]
add dword [esp + 0x58], eax
mov ecx, dword [ebx + 0x58]
inc edx
inc edi
add dword [esp + 0x64], 0x10
add dword [esp + 0x5c], 0x1e8
cmp edi, ecx
jl 0x10062eb2
mov edi, dword [ebx + 0x5c]
jmp 0x100633b5
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
movzx eax, byte [ebx + eax + 0x14]
add dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x40], edi
cmp eax, edi
jl 0x10062e73
imul eax, edx, 0x1e8
dec edx
mov esi, edx
lea ecx, [esp + 0x298]
lea edx, [eax + ecx]
add edx, 0xfffffe20
movss xmm0, dword [edx - 8]
xor ecx, ecx
xor edi, edi
inc edi
movss xmm1, dword [edx + edi*8 - 8]
ucomiss xmm0, xmm1
cmova ecx, edi
minss xmm1, xmm0
inc edi
movaps xmm0, xmm1
cmp edi, 0x3d
jne 0x100633f5
test esi, esi
je 0x10063450
lea edx, [esp + 0x298]
add eax, edx
add eax, 0xfffffe1c
mov edx, dword [esp + 0x48]
add edx, ecx
mov edi, dword [esp + esi*4 + 0xb4]
mov dword [ebx + edi*4 + 0x1eb0], edx
mov ecx, dword [eax + ecx*8]
test ecx, ecx
mov edx, 0
cmovle ecx, edx
add eax, 0xfffffe18
dec esi
jne 0x10063420
mov eax, dword [ebx + 0x5c]
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
jle 0x100634e1
mov ecx, dword [ebx + 0x58]
lea eax, [ebx + 0x1ef0]
mov dword [esp + 0x38], eax
xor esi, esi
mov dword [esp + 0x44], ecx
test ecx, ecx
jle 0x100634cf
mov eax, esi
shl eax, 4
mov dword [esp + 0x60], eax
mov bl, byte [ebx + esi + 0x14]
mov edx, esi
shl edx, 6
add edx, dword [esp + 0x38]
xor edi, edi
cmp bl, 2
jb 0x100634c5
mov eax, dword [esp + 0x60]
mov dword [esp + 0x50], edi
add edi, eax
mov dword [esp + 0x30], edx
xor ecx, ecx
inc ecx
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + edi*4 + 0x1eb0]
mov dword [edx], ebx
inc ecx
movzx ebx, byte [eax + esi + 0x14]
add edx, 0x40
cmp ecx, ebx
jb 0x100634a3
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x50]
inc edi
add edx, 4
cmp edi, ecx
jne 0x1006348a
jmp 0x100634d3
mov bl, byte [ebx + esi + 0x14]
movzx eax, bl
add esi, eax
cmp esi, dword [esp + 0x40]
mov ebx, dword [ebp + 0x10]
jl 0x1006346e
mov ecx, dword [esp + 0xe940]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x5894
call fcn.101308a0
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov esi, 0xff
lea eax, [ebp - 0x5470]
push 0x5460
push esi
push eax
call fcn.10132b90
add esp, 0xc
movzx eax, byte [ebx]
mov dword [ebp - 0x5868], eax
mov ecx, dword [ebx + 0x5c]
xor eax, eax
mov dword [ebp - 0x5880], ecx
cmp ecx, 1
sete al
lea ecx, [eax + eax]
add ecx, 3
xor eax, eax
dec eax
mov dword [ebp - 0x5838], ecx
shl eax, cl
mov dword [ebp - 0x583c], eax
mov edi, 0x1e0
lea eax, [ebp - 0x5650]
push edi
push esi
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [ebp - 0x5830]
push edi
push esi
mov esi, dword [ebp + 8]
push eax
call fcn.10132b90
add esp, 0xc
mov ecx, dword [esi + 0x8a7c4]
add ebx, 0x35c0
add esi, 0x97c0
call dword [section..00cfg]
push 0x400
mov dword [ebp - 0x588c], ebx
push ebx
mov dword [ebp - 0x5888], esi
push esi
call ecx
add esp, 0xc
mov eax, 8
xor ecx, ecx
mov dword [ebp + eax - 0x5474], ecx
mov dword [ebp + eax - 0x5478], 0xffffffff
mov dword [ebp + eax - 0x5470], ecx
add eax, 0xc
cmp eax, 0xbc
jne 0x100635c9
cmp dword [ebp - 0x5868], 0
mov eax, dword [ebp - 0x5838]
mov ebx, dword [ebp - 0x583c]
je 0x10063db5
not ebx
mov dword [ebp - 0x583c], ebx
mov ecx, dword [ebp + 0x10]
mov edx, ecx
shl edx, 7
mov dword [ebp - 0x586c], edx
mov edx, ecx
shl edx, 4
mov dword [ebp - 0x5864], edx
cvtsi2ss xmm0, eax
movss dword [ebp - 0x5878], xmm0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
shl ecx, 5
mov dword [ebp - 0x5884], ecx
movss xmm0, dword [0x102d7c60]
movss dword [ebp - 0x5874], xmm0
mov dword [ebp - 0x5870], 0
xor edx, edx
mov ecx, dword [ebp - 0x5864]
add ecx, edx
mov edi, dword [ebp + 0xc]
cmp byte [edi + ecx + 0x20b0], 0
mov ebx, edx
je 0x100636b4
lea ecx, [ebx + 1]
mov dword [ebp - 0x5840], ecx
imul ecx, ebx, 0xb4
lea edx, [ebp - 0x53b4]
add ecx, edx
xor edx, edx
mov dword [ecx - 8], edx
movss xmm0, dword [ecx - 0xb8]
movss dword [ecx - 4], xmm0
mov esi, dword [ecx - 0xb4]
inc esi
mov dword [ecx], esi
inc edx
add ecx, 0xc
cmp edx, 0xf
jne 0x1006368d
jmp 0x100639da
movzx edx, byte [eax + ebx]
lea eax, [ebx + 1]
mov dword [ebp - 0x5840], eax
mov eax, dword [ebp - 0x588c]
mov dword [ebp - 0x585c], ecx
mov ecx, dword [ebp - 0x586c]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x5898], eax
mov eax, dword [ebp - 0x5888]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x5894], eax
mov ecx, dword [ebp - 0x585c]
mov eax, dword [ebp - 0x5884]
lea eax, [eax + ebx*2]
mov dword [ebp - 0x5890], eax
movss xmm0, dword [0x102d7c60]
mov dword [ebp - 0x584c], 0
xor edi, edi
mov dword [ebp - 0x587c], ebx
mov dword [ebp - 0x5860], edx
mov dword [ebp - 0x5834], edi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 0x16f0]
cmp edi, 0xc
jb 0x1006374c
mov ecx, dword [ebp - 0x5834]
movzx ecx, byte [ecx + 0x102d7eb2]
cmp eax, ecx
mov edi, dword [ebp - 0x5834]
jl 0x10063778
movzx ecx, byte [eax + 0x102d7ec1]
cmp dword [ebp - 0x5834], ecx
mov edi, dword [ebp - 0x5834]
jae 0x100637bf
mov ecx, dword [ebp - 0x5834]
movzx ecx, byte [ecx + 0x102d7eb2]
cmp eax, ecx
mov edi, dword [ebp - 0x5834]
jle 0x100637bf
lea eax, [edi*4]
lea eax, [eax + eax*2]
imul ecx, dword [ebp - 0x5840], 0xb4
add ecx, ebp
add ecx, 0xffffab90
mov dword [ecx + eax], 0xffffffff
mov dword [ecx + eax + 4], 0x7f800000
imul edx, ebx, 0xb4
add edx, ebp
add edx, 0xffffab90
mov edx, dword [edx + eax + 8]
inc edx
mov dword [ecx + eax + 8], edx
jmp 0x100639b0
mov eax, dword [ebp + 0x14]
test eax, eax
movss dword [ebp - 0x589c], xmm0
jle 0x100638d2
movzx ecx, byte [edi + 0x102d7eb2]
mov dword [ebp - 0x5854], ecx
mov ecx, dword [ecx*4 + 0x102d7d5c]
mov dword [ebp - 0x5850], ecx
xorps xmm2, xmm2
mov ebx, dword [ebp - 0x5890]
mov edi, dword [ebp - 0x5894]
mov esi, dword [ebp - 0x5898]
mov dword [ebp - 0x5848], eax
movss dword [ebp - 0x5858], xmm2
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x95f0]
mov ecx, eax
shl ecx, 0xb
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x95bc]
movss xmm4, dword [ebp + 0x18]
divss xmm4, dword [eax + ebx*8 + 8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ebx*2 + 0x1eb0]
mov dword [ebp - 0x5844], eax
mov ecx, dword [ebp - 0x5850]
call dword [section..00cfg]
sub esp, 0x30
mov eax, dword [ebp - 0x5844]
mov dword [esp + 0x18], eax
xor edx, edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], edx
movss dword [esp + 0x20], xmm4
mov eax, dword [ebp - 0x5854]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x5860]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 0x24], 0x7f800000
call ecx
mov eax, dword [ebp - 0x5848]
movss xmm2, dword [ebp - 0x5858]
add esp, 0x30
fstp dword [ebp - 0x58a0]
addss xmm2, dword [ebp - 0x58a0]
mov ecx, 0x200
add esi, ecx
add edi, ecx
add ebx, 0x20
dec eax
jne 0x10063801
jmp 0x100638d5
xorps xmm2, xmm2
mov eax, dword [ebp - 0x5834]
lea eax, [eax*4]
lea eax, [eax + eax*2]
imul ecx, dword [ebp - 0x587c], 0xb4
add ecx, ebp
add ecx, 0xffffab90
movss xmm0, dword [ebp - 0x5874]
addss xmm0, xmm2
addss xmm2, dword [ecx + eax + 4]
addss xmm0, dword [ebp - 0x5878]
addss xmm0, dword [0x102c44f4]
xor edx, edx
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x5c], 8
sete dl
mov edx, dword [edx*4 + 0x102d7ed4]
mov esi, dword [ecx + eax + 8]
mov bl, byte [edx + esi]
lea ecx, [esi + 1]
movss xmm1, dword [0x102d7c64]
cmp bl, byte [edx + esi + 1]
je 0x1006394c
movss xmm1, dword [ebp - 0x5878]
addss xmm2, xmm1
imul edx, dword [ebp - 0x5840], 0xb4
ucomiss xmm2, xmm0
mov edi, dword [ebp - 0x5834]
mov esi, edi
cmova esi, dword [ebp - 0x5870]
lea edx, [ebp + edx - 0x5470]
mov dword [edx + eax], esi
minss xmm0, xmm2
mov esi, 1
cmova ecx, esi
movss dword [edx + eax + 4], xmm0
mov dword [edx + eax + 8], ecx
movss xmm1, dword [ebp - 0x589c]
ucomiss xmm1, xmm0
minss xmm0, xmm1
mov eax, dword [ebp - 0x584c]
cmova eax, edi
mov dword [ebp - 0x584c], eax
mov ebx, dword [ebp - 0x587c]
mov ecx, dword [ebp - 0x585c]
inc edi
cmp edi, 0xf
jne 0x10063720
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
mov ecx, dword [ebp - 0x584c]
mov dword [ebp - 0x5870], ecx
movss dword [ebp - 0x5874], xmm0
movzx ecx, byte [eax + ebx]
add dword [ebp - 0x586c], ecx
mov ecx, dword [ebp - 0x5840]
mov edx, ecx
mov ebx, dword [ebp - 0x5868]
cmp ecx, ebx
jne 0x1006365d
test bl, bl
je 0x10063db5
imul eax, ebx, 0xb4
add eax, ebp
add eax, 0xffffab90
movss xmm0, dword [eax + 4]
xor ecx, ecx
ucomiss xmm0, dword [eax + 0x10]
seta cl
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x1c]
mov edx, 2
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x28]
mov ecx, 3
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x34]
mov edx, 4
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x40]
mov ecx, 5
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x4c]
mov edx, 6
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x58]
mov ecx, 7
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x64]
mov edx, 8
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x70]
mov ecx, 9
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x7c]
mov edx, 0xa
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x88]
mov ecx, 0xb
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x94]
mov edx, 0xc
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0xa0]
mov ecx, 0xd
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0xac]
mov eax, 0xe
cmovbe eax, ecx
xor esi, esi
lea edx, [ebp - 0x5470]
lea ecx, [eax*4]
lea ecx, [ecx + ecx*2]
mov dword [ebp + esi*4 - 0x5830], eax
imul eax, ebx, 0xb4
add eax, ebp
add eax, 0xffffab90
mov eax, dword [eax + ecx + 8]
mov dword [ebp + esi*4 - 0x5650], eax
sub ebx, eax
imul eax, ebx, 0xb4
add eax, edx
mov eax, dword [eax + ecx + 0xb4]
inc esi
test ebx, ebx
jg 0x10063b42
xor eax, eax
cmp dword [ebp - 0x5880], 1
setne al
mov ecx, dword [ebp - 0x5864]
mov edx, dword [ebp + 0xc]
lea ecx, [edx + ecx + 0x20b0]
mov dword [ebp - 0x5860], ecx
lea eax, [eax + eax + 0x1b]
mov dword [ebp - 0x5858], eax
mov ecx, edx
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x24]
mov eax, dword [ebp + 0x10]
shl eax, 6
add eax, ecx
add eax, 0x16f0
mov dword [ebp - 0x5840], eax
mov edx, dword [edx + 0x28]
mov dword [ebp - 0x5848], 0
lea eax, [esi - 1]
mov ecx, dword [ebp + esi*4 - 0x5834]
movzx ebx, byte [ecx + 0x102d7eb2]
cmp edx, 5
mov dword [ebp - 0x5854], esi
mov dword [ebp - 0x5844], eax
jl 0x10063c0b
shl edi, 4
or edi, ebx
mov dword [ebp - 0x5850], 0xfffffffc
mov esi, dword [ebp + 8]
jmp 0x10063c6f
mov dword [ebp - 0x5834], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x584c], eax
sub ecx, eax
cmp ecx, 4
jb 0x10063c54
mov ecx, edx
shl edi, cl
mov cl, 4
sub cl, dl
mov dword [ebp - 0x5850], 0x1c
mov esi, dword [ebp + 8]
mov eax, ebx
shr eax, cl
or eax, edi
bswap eax
mov ecx, dword [ebp - 0x584c]
mov dword [ecx], eax
add dword [esi + 0x30], 4
mov edi, ebx
jmp 0x10063c63
mov edi, ebx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x5850], 0x1c
mov eax, dword [ebp - 0x5844]
mov ecx, dword [ebp - 0x5834]
add edx, dword [ebp - 0x5850]
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edx
mov edi, dword [ebp + eax*4 - 0x5650]
xor eax, eax
test ecx, ecx
mov ecx, dword [ebp - 0x5860]
mov edx, dword [ebp - 0x5848]
lea ecx, [ecx + edx]
sete al
push edi
push eax
push ecx
call fcn.10132b90
add esp, 0xc
test edi, edi
jle 0x10063cca
mov eax, dword [ebp - 0x5840]
mov edx, dword [ebp - 0x5848]
lea eax, [eax + edx*4]
add edx, edi
xor ecx, ecx
mov dword [eax + ecx*4], ebx
inc ecx
cmp edi, ecx
jne 0x10063cba
mov ecx, dword [ebp - 0x5838]
jmp 0x10063cd6
mov ecx, dword [ebp - 0x5838]
mov edx, dword [ebp - 0x5848]
mov dword [ebp - 0x5848], edx
mov eax, dword [esi + 0x24]
mov ebx, dword [esi + 0x28]
cmp edi, dword [ebp - 0x583c]
jl 0x10063d54
mov edx, ebx
sub edx, ecx
jle 0x10063d08
mov ecx, dword [ebp - 0x5838]
shl eax, cl
mov ecx, dword [ebp - 0x5838]
mov ebx, dword [ebp - 0x583c]
or eax, ebx
jmp 0x10063d4c
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
sub ecx, edx
cmp ecx, 4
jb 0x10063d36
mov ecx, ebx
shl eax, cl
mov ecx, dword [ebp - 0x5838]
sub ecx, ebx
mov esi, dword [ebp - 0x583c]
shr esi, cl
or esi, eax
bswap esi
mov dword [edx], esi
mov esi, dword [ebp + 8]
add dword [esi + 0x30], 4
add ebx, dword [ebp - 0x5858]
mov edx, ebx
mov ebx, dword [ebp - 0x583c]
mov eax, ebx
mov ecx, dword [ebp - 0x5838]
sub edi, ebx
cmp edi, ebx
mov ebx, edx
jge 0x10063cea
mov edx, ebx
sub edx, ecx
jle 0x10063d66
mov ecx, dword [ebp - 0x5838]
shl eax, cl
or edi, eax
jmp 0x10063d98
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
sub ecx, edx
cmp ecx, 4
jb 0x10063d90
mov ecx, ebx
shl eax, cl
mov ecx, dword [ebp - 0x5838]
sub ecx, ebx
mov esi, edi
shr esi, cl
or esi, eax
bswap esi
mov dword [edx], esi
mov esi, dword [ebp + 8]
add dword [esi + 0x30], 4
add ebx, dword [ebp - 0x5858]
mov edx, ebx
mov eax, dword [ebp - 0x5854]
mov ecx, dword [ebp - 0x5844]
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edx
cmp eax, 1
mov esi, ecx
jg 0x10063bd5
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10130483
add esp, 0x5894
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
movups xmm4, xmmword [ebp + 8]
mov edi, dword [ebp + 0x1c]
movss xmm5, dword [ebp + 0x24]
xor ebx, ebx
cmp dword [ebp + 0x28], ebx
mov eax, 0x102d7d5c
mov ecx, 0x102d7f2c
cmove ecx, eax
mov esi, dword [ebp + 0x20]
mov ecx, dword [ecx + esi*4]
call dword [section..00cfg]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
movss dword [esp + 0x20], xmm5
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edi
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
movups xmmword [esp], xmm4
mov dword [esp + 0x24], 0x7f800000
call ecx
fstp st(0)
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + 0x5c]
test esi, esi
jle 0x1006404f
mov eax, dword [edx + 0x58]
lea ecx, [edx + 0x23b0]
mov dword [ebp - 0x1c], ecx
lea ecx, [edx + 0x20b0]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], 0xffffff01
mov dword [ebp - 0x10], 0
xor ebx, ebx
test eax, eax
jle 0x10063f8d
mov esi, ebx
shl esi, 4
mov dword [ebp - 0x14], ebx
shl ebx, 6
add ebx, dword [ebp - 0x1c]
add esi, dword [ebp - 0x20]
xor edi, edi
cmp byte [esi + edi], 0
jne 0x10063f7b
mov eax, dword [ebx + edi*4 - 0xcc0]
lea ecx, [eax - 0xe]
cmp ecx, 2
jae 0x10063f05
movss xmm0, dword [ebx + edi*4 - 0x200]
movss dword [esp], xmm0
call fcn.1014573b
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
addss xmm0, xmm0
movss dword [esp], xmm0
call fcn.1015beed
mov edx, dword [ebp + 0xc]
fstp dword [ebp - 0x2c]
cvttss2si eax, dword [ebp - 0x2c]
cmp eax, 0x64
mov ecx, 0x64
cmovge eax, ecx
cmp eax, 0xffffff66
mov ecx, 0xffffff65
cmovl eax, ecx
mov dword [ebx + edi*4 - 0x500], eax
jmp 0x10063f78
cmp eax, 0xd
jne 0x10063f7b
movss xmm0, dword [ebx + edi*4]
movss dword [esp], xmm0
call fcn.1014573b
fstp dword [ebp - 0x38]
movss xmm0, dword [ebp - 0x38]
addss xmm0, xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.1015b560
fstp dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x102d7c68]
cvttss2si eax, xmm0
mov ecx, 0x9b
cmp eax, ecx
jl 0x10063f55
mov eax, 0x9b
cmp eax, 0xffffff9d
mov edx, dword [ebp + 0xc]
jge 0x10063f62
mov eax, 0xffffff9c
mov dword [ebx + edi*4 - 0x500], eax
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xffffff01
cmove ecx, eax
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x10]
inc edi
mov eax, dword [edx + 0x58]
cmp edi, eax
jl 0x10063e97
mov esi, dword [edx + 0x5c]
mov ebx, dword [ebp - 0x14]
movzx ecx, byte [edx + ebx + 0x14]
add ebx, ecx
cmp ebx, esi
jl 0x10063e7c
cmp dword [ebp - 0x10], 0
je 0x1006404f
test esi, esi
jle 0x1006404f
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x10], eax
lea ecx, [edx + 0x1eb0]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], 0
xor edi, edi
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], edi
jle 0x1006403c
mov ebx, edi
shl ebx, 4
shl edi, 6
add edi, dword [ebp - 0x24]
add ebx, dword [ebp - 0x20]
xor eax, eax
cmp byte [ebx + eax], 0
jne 0x10064036
mov edx, dword [edi + eax*4 - 0x7c0]
lea ecx, [edx - 0xe]
cmp ecx, 2
jae 0x10064012
mov esi, dword [ebp - 0x14]
lea ecx, [esi + 0x3c]
add esi, 0xffffffc4
mov edx, dword [edi + eax*4]
cmp edx, ecx
cmovl ecx, edx
cmp edx, esi
cmovge esi, ecx
mov dword [ebp - 0x14], esi
jmp 0x10064030
cmp edx, 0xd
jne 0x10064033
mov esi, dword [ebp - 0x18]
lea ecx, [esi + 0x3c]
add esi, 0xffffffc4
mov edx, dword [edi + eax*4]
cmp edx, ecx
cmovl ecx, edx
cmp edx, esi
cmovge esi, ecx
mov dword [ebp - 0x18], esi
mov dword [edi + eax*4], esi
mov edx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 0x10], eax
jne 0x10063fe2
mov edi, dword [ebp - 0x1c]
movzx eax, byte [edx + edi + 0x14]
add edi, eax
cmp edi, dword [ebp - 0x28]
jl 0x10063fc9
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0x158], eax
mov ecx, dword [ecx + 0x5c]
mov dword [esp + 0xc], ecx
mov eax, 0x400
xor edx, edx
idiv ecx
mov edx, eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
movss xmm6, dword [edi + 0x95f8]
mov esi, dword [ebx + 0x130]
cvtsi2ss xmm2, esi
movss xmm1, dword [0x10299208]
movss xmm3, dword [0x102d7c6c]
movaps xmm0, xmm6
divss xmm0, xmm3
maxss xmm1, xmm0
movss dword [esp + 0x18], xmm1
movss xmm7, dword [0x102d7c7c]
test byte [ebx + 0x3c], 2
divss xmm7, xmm6
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
movss dword [esp + 0x54], xmm6
mov dword [esp + 8], esi
jne 0x100641ab
mov ebx, edx
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x314]
mov esi, edx
sar esi, 0x1f
push esi
push edx
push ecx
push eax
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x20], xmm7
call fcn.1014f930
movss xmm6, dword [esp + 0x54]
movss xmm7, dword [esp + 0x10]
movss xmm3, dword [0x102d7c6c]
movss xmm2, dword [esp + 0x1c]
movd xmm0, edx
mov edx, ebx
mov ebx, dword [ebp + 0xc]
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0xb8], xmm1
fild qword [esp + 0xb8]
fstp dword [esp + 0x8c]
movss xmm1, dword [esp + 0x8c]
jmp 0x10064220
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0xc8], xmm0
fild qword [esp + 0xc8]
fstp qword [esp + 0xc0]
movsd xmm0, qword [esp + 0xc0]
mulsd xmm0, qword [0x102d7c88]
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
divsd xmm0, xmm1
mulsd xmm0, qword [0x10299160]
movaps xmm1, xmm6
divss xmm1, dword [0x102d7c90]
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm0
cvttpd2dq xmm0, xmm1
cvtdq2ps xmm1, xmm0
mulss xmm1, dword [0x102d7c94]
mulss xmm1, xmm2
mulss xmm1, dword [0x102d7c98]
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
mulss xmm2, dword [0x10299208]
divss xmm3, xmm6
movss xmm4, dword [esp + 0x18]
mulss xmm4, dword [0x102d7c74]
maxss xmm7, dword [0x102d7c80]
movss xmm5, dword [0x102c44f4]
divss xmm6, dword [0x102d7c34]
mov ecx, dword [ebx + 0x148]
test ecx, ecx
mov ebx, dword [ebp + 0x10]
jg 0x1006433f
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x102d7c9c]
cvttss2si ecx, xmm1
test ecx, ecx
je 0x10064329
mov dword [esp + 0x10], edx
mov edx, 0x66666667
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
lea eax, [ecx + ecx*4]
lea edi, [eax + eax*2]
lea esi, [eax + eax*2]
add esi, 0x1f
test edi, edi
cmovns esi, edi
sar esi, 5
add esi, 0xffffea84
cmp edx, esi
cmovg esi, edx
lea edi, [ecx + 3]
lea eax, [ecx + 0xf]
test ecx, ecx
cmovns edi, ecx
cmovns eax, ecx
sar edi, 2
mov ecx, 0xbb8
add edi, ecx
cmp esi, edi
cmovl edi, esi
sar eax, 4
add eax, 0x2ee0
cmp edi, eax
cmovl eax, edi
mov edx, 0x55f0
cmp eax, edx
mov edi, 0x55f0
cmovl edi, eax
mov ecx, dword [esp + 8]
mov esi, ecx
shr esi, 0x1f
add esi, ecx
sar esi, 1
cmp edi, esi
mov edi, dword [ebp + 8]
cmovle esi, edx
mov ecx, eax
cmovg ecx, esi
cmp eax, 0x55f1
cmovge ecx, esi
cmp ecx, 0xbb9
mov eax, 0xbb8
cmovl ecx, eax
mov edx, dword [esp + 0x10]
jmp 0x1006433f
mov ecx, dword [esp + 8]
mov eax, ecx
shr eax, 1
cmp ecx, 0x1770
mov ecx, 0xbb8
cmovge ecx, eax
lea esi, [edi + 0x97c0]
lea eax, [edi + 0x99c0]
mov dword [esp + 0x74], eax
lea eax, [edi + 0x9dc0]
mov dword [esp + 0x60], eax
mulss xmm3, dword [0x102d7c70]
movss dword [esp + 0x68], xmm3
minss xmm4, dword [0x102d7c78]
movss dword [esp + 0x18], xmm4
divss xmm2, xmm0
movss dword [esp + 0x1c], xmm2
minss xmm5, xmm7
movss dword [esp + 0x64], xmm5
minss xmm6, dword [0x102d7c84]
movss dword [esp + 0x58], xmm6
imul edx, ecx
add edx, edx
mov edi, edx
lea eax, [ebx + 0x18f0]
lea ecx, [ebx + 0x16f0]
push 0x200
mov dword [esp + 0x18], ecx
push ecx
push eax
call fcn.10132610
add esp, 0xc
xor eax, eax
mov byte [esp + eax + 0xd0], al
inc eax
cmp eax, 0x80
jne 0x100643bf
mov eax, edi
cdq
idiv dword [esp + 8]
mov dword [esp + 0x70], eax
cmp dword [esp + 0xc], 0
movss xmm3, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x18]
jle 0x10064ce3
mov dword [esp + 0x50], esi
mov edi, dword [ebx + 0x58]
lea eax, [ebx + 0x20b0]
mov dword [esp + 0x34], eax
xor esi, esi
xor eax, eax
test edi, edi
mov dword [esp + 0x10], esi
jle 0x1006444c
mov edx, esi
shl edx, 4
add edx, dword [esp + 0x34]
mov ecx, esi
and ecx, 0xf
shl ecx, 4
mov dword [esp + 8], ecx
shl esi, 6
add esi, dword [esp + 0x14]
xor ebx, ebx
cmp byte [edx + ebx], 0
jne 0x10064447
cmp dword [esi + ebx*4], 0xb
jg 0x10064447
movzx ecx, al
mov eax, dword [esp + 8]
add eax, ebx
mov byte [esp + ecx + 0xd0], al
inc ebx
cmp edi, ebx
jne 0x1006442b
mov ebx, dword [ebp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, eax
movzx eax, byte [ebx + esi + 0x14]
add esi, eax
mov eax, ecx
mov ecx, dword [esp + 0xc]
cmp esi, ecx
jl 0x10064405
mov edx, eax
movzx eax, dl
mov byte [esp + eax + 0xd0], dl
test ecx, ecx
mov edi, dword [ebp + 8]
jle 0x10064ce3
mov eax, dword [ebx + 0x58]
mov dword [esp + 0x3c], 0xfffffc18
xor ecx, ecx
dec ecx
mov dword [esp + 0x24], ecx
xor edx, edx
test eax, eax
jle 0x10064ccc
mov eax, edx
shl eax, 4
mov dword [esp + 0x40], eax
mov ecx, edx
shl ecx, 8
add ecx, 0x10c
xor esi, esi
mov dword [esp + 0x2c], edx
mov eax, dword [ebx + 0x50]
movzx eax, word [eax + esi*2]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm3
movaps xmm4, xmm0
mulss xmm4, dword [0x102d7ca0]
movss xmm2, dword [0x102d7ca4]
divss xmm4, xmm2
maxss xmm4, dword [0x10299218]
movss dword [esp + 0x10], xmm4
ucomiss xmm2, xmm0
ja 0x10064573
cmp dword [esp + 0x70], eax
jle 0x10064573
movzx eax, byte [ebx + edx + 0x14]
test eax, eax
mov dword [esp + 0xc], esi
je 0x1006458c
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x95bc]
mov edx, dword [edi + 0x95f0]
mov edi, edx
shl edi, 0xb
lea edx, [edi + edx*4]
lea edi, [ecx + edx]
mov ebx, dword [esp + 0x40]
add esi, ebx
mov ebx, esi
shl ebx, 4
movss xmm7, dword [ebx + edi + 4]
movss xmm6, dword [ebx + edi + 0xc]
movss xmm3, dword [ebx + edi + 8]
movaps xmm4, xmm7
xorps xmm2, xmm2
addss xmm4, xmm2
minss xmm6, dword [0x102c44f8]
addss xmm3, xmm2
movss dword [esp + 8], xmm3
cmp al, 1
jne 0x100645b9
movss dword [esp + 0x14], xmm7
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
jmp 0x1006460e
mov eax, dword [esp + 0x40]
add eax, esi
cmp byte [ebx + eax + 0x20b0], 0
jne 0x100647cf
jmp 0x100647c4
mov eax, dword [esp + 0x40]
add esi, eax
xorps xmm4, xmm4
xorps xmm2, xmm2
movss dword [esp + 8], xmm2
movss xmm6, dword [0x102c44f8]
movss xmm2, dword [0x102d7ca8]
movss dword [esp + 0x14], xmm2
xorps xmm7, xmm7
jmp 0x1006461c
dec eax
add edx, dword [esp + 0x28]
add ecx, edx
movaps xmm5, xmm7
movss xmm3, dword [esp + 8]
movaps xmm1, xmm6
movss xmm2, dword [ecx - 8]
movss xmm6, dword [ecx]
minss xmm6, xmm1
addss xmm4, xmm2
addss xmm3, dword [ecx - 4]
maxss xmm7, xmm2
minss xmm2, xmm5
movaps xmm5, xmm2
add ecx, 0x100
dec eax
jne 0x100645c9
movss dword [esp + 0x14], xmm5
movss dword [esp + 8], xmm3
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
movss xmm1, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
movss xmm3, dword [esp + 0x1c]
movss xmm2, dword [0x102d7cac]
divss xmm2, xmm0
maxss xmm2, dword [0x10299208]
movss dword [esp + 0x34], xmm2
cmp byte [ebx + esi + 0x20b0], 0
mov dword [esp + 0x20], esi
movss xmm2, dword [esp + 8]
je 0x1006466f
movss xmm0, dword [0x10299218]
divss xmm0, dword [esp + 0x10]
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x10298578]
jb 0x100646d3
sqrtsd xmm0, xmm0
jmp 0x10064735
cmp dword [esp + 0x24], 0
js 0x10064786
mov eax, dword [esp + 0x20]
movzx eax, byte [esp + eax + 0xd0]
mov eax, dword [ebx + eax*4 + 0x1eb0]
mov esi, ecx
mov ecx, dword [esp + 0x24]
add ecx, 0xffffffc4
cmp eax, ecx
mov ecx, esi
jl 0x10064786
mov ecx, dword [esp + 0x24]
add ecx, 0x3c
cmp eax, ecx
mov ecx, esi
jg 0x10064786
mov esi, dword [esp + 0x20]
cmp dword [ebx + esi*4 + 0x18f0], 0
je 0x1006464a
ucomiss xmm1, xmm6
movss xmm0, dword [esp + 0x58]
jbe 0x10064758
jmp 0x10064786
sub esp, 8
movsd qword [esp], xmm0
mov esi, ecx
movss dword [esp + 0x40], xmm4
movss dword [esp + 0x54], xmm6
movss dword [esp + 0x50], xmm7
call fcn.101460b0
movss xmm2, dword [esp + 0x10]
movss xmm7, dword [esp + 0x50]
movss xmm6, dword [esp + 0x54]
movss xmm4, dword [esp + 0x40]
mov ecx, esi
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
movss xmm1, dword [esp + 0x20]
movss xmm3, dword [esp + 0x24]
add esp, 8
fstp qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xb0]
cvtsd2ss xmm0, xmm0
mulss xmm0, xmm2
ucomiss xmm0, xmm4
mov al, byte [ebx + esi + 0x20b0]
ja 0x100647a6
ucomiss xmm1, xmm6
movss xmm0, dword [esp + 0x58]
ja 0x100647a6
test al, al
jne 0x1006479b
mov eax, dword [esp + 0x20]
cmp dword [ebx + eax*4 + 0x18f0], 0
je 0x10064799
mulss xmm2, dword [esp + 0x68]
movss xmm5, dword [esp + 0x10]
mulss xmm5, xmm2
ucomiss xmm4, xmm5
ja 0x10064786
mulss xmm7, xmm0
ucomiss xmm7, dword [esp + 0x14]
jbe 0x100647e3
mov eax, dword [esp + 0x20]
movss dword [ebx + eax*4 + 0x23b0], xmm4
mov esi, dword [esp + 0xc]
jmp 0x100647c4
xor eax, eax
mulss xmm7, xmm0
ucomiss xmm7, dword [esp + 0x14]
jbe 0x100647e3
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
movss dword [ebx + eax*4 + 0x23b0], xmm4
mov esi, edx
cmp byte [esp + 8], 0
mov esi, dword [esp + 0xc]
jne 0x100647cf
mov eax, dword [ebx + eax*4 + 0x1eb0]
mov dword [esp + 0x24], eax
inc esi
mov eax, dword [ebx + 0x58]
add ecx, 0x10
cmp esi, eax
jl 0x100644b3
jmp 0x10064cc7
mov dword [esp + 0x28], ecx
mulss xmm6, xmm6
minss xmm6, dword [0x10299218]
mulss xmm4, xmm6
sub esp, 4
movss dword [esp + 0x3c], xmm4
movss dword [esp], xmm4
call fcn.1014573b
add esp, 4
fstp dword [esp + 0x88]
movss xmm0, dword [esp + 0x88]
addss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
call fcn.1015beed
add esp, 4
fstp dword [esp + 0x84]
cvttss2si ecx, dword [esp + 0x84]
mov eax, 0x9b
cmp ecx, eax
cmovge ecx, eax
cmp ecx, 0xffffff9d
mov eax, 0xffffff9c
cmovl ecx, eax
movss xmm0, dword [ecx*4 + 0x103f5848]
movaps xmmword [esp + 0x90], xmm0
cmp dword [esp + 0x3c], 0xfffffc18
je 0x100648b5
mov eax, ecx
sub eax, dword [esp + 0x3c]
add eax, 0xffffffc3
cmp eax, 0xffffff86
ja 0x100648b5
mov eax, dword [esp + 0x20]
cmp byte [ebx + eax + 0x20b0], 0
jne 0x10064898
mov eax, dword [ebx + eax*4 + 0x1eb0]
mov dword [esp + 0x24], eax
movss xmm3, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
jmp 0x100647cf
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x2c]
cmp byte [ebx + edx + 0x14], 0
je 0x10064c02
movss xmm0, dword [0x102d7cb0]
minss xmm0, dword [esp + 0x34]
mulss xmm0, dword [esp + 0x64]
movss dword [esp + 0x78], xmm0
movaps xmm0, xmmword [esp + 0x90]
xorps xmm0, xmmword [0x102a8d80]
movaps xmmword [esp + 0x90], xmm0
xor ecx, ecx
xorps xmm0, xmm0
movss dword [esp + 0x14], xmm0
xorps xmm5, xmm5
xorps xmm4, xmm4
mov esi, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
add edx, ecx
mov eax, edx
shl eax, 7
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x50]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 0x95f0]
mov ecx, eax
shl ecx, 0xb
lea ecx, [ecx + eax*4]
shl edx, 4
add edx, esi
mov dword [esp + 0x44], edx
shl edx, 4
mov dword [esp + 0x30], edx
add ecx, dword [edi + 0x95bc]
mov eax, dword [ebx + 0x54]
xor edx, edx
cmp byte [eax + esi], 0
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x4c], xmm5
je 0x100649a9
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [edi + 0x95f4]
imul ebx, ebx, 0x19660d
add ebx, 0x3c6ef35f
mov dword [edi + 0x95f4], ebx
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
movss dword [edi + edx*4 + 0x97c0], xmm0
inc edx
mov eax, dword [ecx + 0x54]
movzx eax, byte [eax + esi]
cmp edx, eax
jb 0x1006496f
mov edx, eax
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
jmp 0x100649ad
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x5c]
add eax, ebx
mov dword [esp + 8], eax
add ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
movzx ebx, dl
mov eax, dword [edi + 0xb8]
mov ecx, dword [eax + 0x24]
call dword [section..00cfg]
push ebx
push esi
push esi
call ecx
add esp, 0xc
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa8]
ucomisd xmm0, qword [0x10298578]
jb 0x100649fd
sqrtsd xmm0, xmm0
jmp 0x10064a1d
sub esp, 8
movsd qword [esp], xmm0
call fcn.101460b0
add esp, 8
fstp qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa0]
mov edx, dword [ebp + 0x10]
cvtsd2ss xmm0, xmm0
movaps xmm4, xmmword [esp + 0x90]
divss xmm4, xmm0
mov eax, dword [edi + 0xb8]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 0x54]
mov ebx, dword [esp + 0xc]
movzx eax, byte [eax + ebx]
mov dword [esp + 0x30], eax
call dword [section..00cfg]
sub esp, 0x10
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
movss dword [esp + 8], xmm4
mov dword [esp + 4], esi
mov dword [esp], esi
call ecx
add esp, 0x10
mov eax, dword [edi + 0xb8]
mov ecx, dword [eax + 0x24]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x54]
movzx eax, byte [eax + ebx]
mov dword [esp + 0x30], eax
call dword [section..00cfg]
push dword [esp + 0x30]
push esi
push esi
call ecx
add esp, 0xc
fstp dword [esp + 0x80]
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [esp + 0x80]
movss dword [esp + 0x14], xmm0
mov ecx, dword [edi + 0x8a7c4]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x54]
movzx edi, byte [eax + ebx]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 8]
lea esi, [eax + edx*4]
add esi, 0x35c0
mov dword [esp + 8], esi
call dword [section..00cfg]
push edi
push esi
push dword [esp + 0x68]
call ecx
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8a7c4]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x54]
movzx edi, byte [eax + ebx]
call dword [section..00cfg]
push edi
push dword [esp + 0x54]
mov edi, ebx
push dword [esp + 0x7c]
call ecx
add esp, 0xc
movss xmm4, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
divss xmm4, dword [esi + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x44]
mov ebx, dword [eax + ecx*4 + 0x18f0]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + ecx*4 + 0x1eb0]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x54]
movzx edi, byte [eax + edi]
mov ecx, dword [ebx*4 + 0x102d7d5c]
call dword [section..00cfg]
sub esp, 0x30
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
movss dword [esp + 0x20], xmm4
mov edx, dword [esp + 0x90]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 0x24], 0x7f800000
call ecx
add esp, 0x30
fstp dword [esp + 0x7c]
movss xmm4, dword [esp + 0x34]
addss xmm4, dword [esp + 0x7c]
movss xmm0, dword [esi + 4]
movss xmm1, dword [esi + 0xc]
mulss xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, dword [esp + 0x54]
mulss xmm0, dword [esp + 0x78]
divss xmm0, dword [esi + 8]
mov esi, dword [esp + 0xc]
movss xmm5, dword [esp + 0x4c]
addss xmm5, xmm0
mov ecx, dword [esp + 0x48]
inc ecx
mov edx, dword [esp + 0x2c]
movzx eax, byte [ebx + edx + 0x14]
cmp ecx, eax
movss xmm2, dword [esp + 0x38]
jb 0x1006490e
jmp 0x10064c1b
xorps xmm4, xmm4
xorps xmm5, xmm5
xorps xmm0, xmm0
movss dword [esp + 0x14], xmm0
mov esi, dword [esp + 0xc]
movss xmm2, dword [esp + 0x38]
test esi, esi
movss xmm3, dword [esp + 0x1c]
je 0x10064c3b
mov eax, dword [esp + 0x20]
cmp dword [ebx + eax*4 + 0x16ec], 0xd
movss xmm0, dword [0x102d7cb4]
je 0x10064c43
movss xmm0, dword [0x102d7cb8]
movaps xmm1, xmm2
divss xmm1, dword [esp + 0x14]
mulss xmm2, xmm1
mov eax, dword [esp + 0x20]
movss dword [ebx + eax*4 + 0x23b0], xmm2
cmp byte [ebx + eax + 0x20b0], 0
mov ecx, dword [esp + 0x28]
je 0x10064c91
mov dword [ebx + eax*4 + 0x16f0], 0xd
mov byte [ebx + eax + 0x20b0], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
movss xmm1, dword [esp + 0x18]
jmp 0x100647cf
cmp dword [ebx + eax*4 + 0x18f0], 0
je 0x10064c6b
ucomiss xmm1, dword [0x102d7cbc]
jbe 0x10064cba
movss xmm2, dword [0x102d7cc0]
ucomiss xmm2, xmm1
jbe 0x10064cba
addss xmm5, xmm0
ucomiss xmm4, xmm5
ja 0x10064c6b
mov eax, dword [ebx + eax*4 + 0x1eb0]
mov dword [esp + 0x24], eax
jmp 0x10064c86
mov esi, dword [ebx + 0x5c]
jmp 0x10064cd0
mov esi, dword [esp + 0xc]
movzx ecx, byte [ebx + edx + 0x14]
add edx, ecx
mov dword [esp + 0xc], esi
cmp edx, esi
jl 0x10064491
mov ecx, dword [esp + 0x158]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x58
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [eax + 0x5c]
mov eax, 0x400
xor edx, edx
idiv ebx
mov esi, eax
mov edx, dword [edi + 0x130]
cvtsi2ss xmm2, edx
test byte [edi + 0x3c], 2
mov eax, dword [ebp + 8]
movss xmm3, dword [eax + 0x95f8]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
movss dword [esp + 4], xmm2
movss dword [esp + 0xc], xmm3
mov dword [esp], edx
jne 0x10064d91
mov edx, dword [edi + 0x314]
mov edi, esi
mov esi, ebx
mov ebx, edx
sar ebx, 0x1f
push ebx
mov ebx, esi
mov esi, edi
mov edi, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.1014f930
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x38], xmm1
fild qword [esp + 0x38]
fstp dword [esp + 0x2c]
movss xmm0, dword [esp + 0x2c]
jmp 0x10064dfa
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0x48], xmm0
fild qword [esp + 0x48]
fstp qword [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
mulsd xmm0, qword [0x102d7c88]
xorps xmm1, xmm1
cvtsi2sd xmm1, edx
divsd xmm0, xmm1
mulsd xmm0, qword [0x10299160]
movaps xmm1, xmm3
divss xmm1, dword [0x102d7c90]
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm0
cvttpd2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102d7c94]
mulss xmm0, xmm2
mulss xmm0, dword [0x102d7c98]
mov eax, dword [edi + 0x148]
test eax, eax
mov edi, dword [ebp + 0x10]
jg 0x10064ede
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102d7c9c]
cvttss2si ecx, xmm0
test ecx, ecx
je 0x10064eca
mov edx, 0x66666667
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
lea eax, [ecx + ecx*4]
lea edi, [eax + eax*2]
lea eax, [eax + eax*2]
add eax, 0x1f
test edi, edi
cmovns eax, edi
sar eax, 5
add eax, 0xffffea84
cmp edx, eax
cmovg eax, edx
lea edi, [ecx + 3]
lea edx, [ecx + 0xf]
test ecx, ecx
cmovns edi, ecx
cmovns edx, ecx
sar edi, 2
mov ecx, 0xbb8
add edi, ecx
cmp eax, edi
cmovl edi, eax
sar edx, 4
add edx, 0x2ee0
cmp edi, edx
cmovl edx, edi
mov eax, 0x55f0
cmp edx, eax
mov ecx, ebx
mov ebx, 0x55f0
cmovl ebx, edx
mov eax, dword [esp]
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
cmp ebx, edi
mov ebx, ecx
mov eax, 0x55f0
cmovle edi, eax
mov eax, edx
cmovg eax, edi
cmp edx, 0x55f1
cmovge eax, edi
mov edi, dword [ebp + 0x10]
cmp eax, 0xbb9
mov ecx, 0xbb8
cmovl eax, ecx
jmp 0x10064ede
mov eax, dword [esp]
mov ecx, eax
shr ecx, 1
cmp eax, 0x1770
mov eax, 0xbb8
cmovge eax, ecx
imul eax, esi
add eax, eax
cdq
idiv dword [esp]
mov dword [esp + 0x28], eax
lea eax, [edi + 0x18f0]
lea ecx, [edi + 0x16f0]
push 0x200
push ecx
push eax
call fcn.10132610
add esp, 0xc
test ebx, ebx
movss xmm1, dword [esp + 4]
movss xmm4, dword [esp + 0xc]
jle 0x100651eb
movss xmm2, dword [0x10299208]
movaps xmm0, xmm4
divss xmm0, dword [0x102d7c6c]
movaps xmm3, xmm1
mulss xmm3, xmm2
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
maxss xmm2, xmm0
divss xmm3, xmm1
movaps xmm0, xmm3
mulss xmm2, dword [0x102d7c74]
divss xmm4, dword [0x102d7c34]
minss xmm2, dword [0x102d7c78]
movss dword [esp + 0x1c], xmm2
minss xmm4, dword [0x102d7c84]
mov eax, dword [edi + 0x58]
mov dword [esp + 0x10], 0
movss dword [esp + 4], xmm0
movss dword [esp + 0xc], xmm4
test eax, eax
jle 0x100651d4
mov esi, dword [esp + 0x10]
mov eax, esi
shl eax, 4
mov dword [esp + 0x18], eax
shl esi, 8
add esi, 0x10c
xor ebx, ebx
movaps xmm2, xmm0
mov eax, dword [edi + 0x50]
movzx eax, word [eax + ebx*2]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm2
movss xmm1, dword [0x102d7ca4]
ucomiss xmm1, xmm0
mulss xmm0, dword [0x102d7ca0]
divss xmm0, xmm1
maxss xmm0, dword [0x10299218]
ja 0x10065072
cmp dword [esp + 0x28], eax
jle 0x10065072
mov eax, dword [esp + 0x10]
movzx eax, byte [edi + eax + 0x14]
test eax, eax
je 0x1006507d
movaps xmm7, xmm4
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x95bc]
mov edx, dword [edx + 0x95f0]
mov edi, edx
shl edi, 0xb
lea edx, [edi + edx*4]
mov dword [esp + 0x14], edx
lea edi, [ecx + edx]
mov edx, dword [esp + 0x18]
add edx, ebx
mov dword [esp + 8], edx
shl edx, 4
movss xmm3, dword [edx + edi + 4]
movss xmm4, dword [edx + edi + 0xc]
movss xmm1, dword [edx + edi + 8]
movaps xmm5, xmm3
xorps xmm6, xmm6
addss xmm5, xmm6
minss xmm4, dword [0x102c44f8]
movss dword [esp], xmm4
addss xmm1, xmm6
cmp al, 1
jne 0x100650a3
movaps xmm6, xmm3
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 8]
movss xmm2, dword [esp + 4]
movaps xmm4, xmm7
movaps xmm7, xmm1
jmp 0x10065102
mov eax, dword [esp + 0x18]
add eax, ebx
jmp 0x100651b7
mov eax, dword [esp + 0x18]
add eax, ebx
xorps xmm7, xmm7
movss xmm1, dword [0x102c44f8]
movss dword [esp], xmm1
movss xmm6, dword [0x102d7ca8]
xorps xmm5, xmm5
xorps xmm3, xmm3
jmp 0x10065102
dec eax
mov edx, dword [esp + 0x14]
add edx, esi
add ecx, edx
movaps xmm6, xmm3
movaps xmm2, xmm3
movss xmm3, dword [esp]
movaps xmm7, xmm1
movaps xmm1, xmm3
movaps xmm4, xmm6
movss xmm6, dword [ecx - 8]
movss xmm3, dword [ecx]
minss xmm3, xmm1
addss xmm5, xmm6
addss xmm7, dword [ecx - 4]
maxss xmm2, xmm6
minss xmm6, xmm4
add ecx, 0x100
dec eax
jne 0x100650ba
movss dword [esp], xmm3
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 8]
movaps xmm3, xmm2
movss xmm4, dword [esp + 0xc]
movss xmm2, dword [esp + 4]
movss dword [esp + 8], xmm5
movss dword [edi + eax*4 + 0x23b0], xmm5
movss xmm1, dword [0x102d7c94]
divss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
ucomisd xmm0, qword [0x10298578]
jb 0x10065134
sqrtsd xmm0, xmm0
jmp 0x10065185
sub esp, 8
movsd qword [esp], xmm0
mov edi, eax
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0x2c], xmm7
movss dword [esp + 0x28], xmm6
call fcn.101460b0
movss xmm6, dword [esp + 0x28]
movss xmm7, dword [esp + 0x2c]
movss xmm3, dword [esp + 0x1c]
mov eax, edi
mov edi, dword [ebp + 0x10]
movss xmm4, dword [esp + 0x14]
movss xmm2, dword [esp + 0xc]
add esp, 8
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
movss xmm1, dword [esp + 8]
cvtsd2ss xmm0, xmm0
mulss xmm7, xmm0
ucomiss xmm7, xmm1
ja 0x100651b7
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, dword [esp]
ja 0x100651b7
mulss xmm3, xmm4
ucomiss xmm3, xmm6
ja 0x100651b7
mov byte [edi + eax + 0x2130], 1
jmp 0x100651bf
mov byte [edi + eax + 0x2130], 0
inc ebx
mov eax, dword [edi + 0x58]
add esi, 0x10
cmp ebx, eax
jl 0x10064fa6
movaps xmm0, xmm2
mov ebx, dword [edi + 0x5c]
mov edx, dword [esp + 0x10]
movzx ecx, byte [edi + edx + 0x14]
add edx, ecx
mov dword [esp + 0x10], edx
cmp edx, ebx
jl 0x10064f83
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1e0
mov ecx, dword [ebp + 0xc]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0x1d8], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
cmp dword [ecx + 4], 0
je 0x10065fd8
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x97c0]
mov dword [esp + 0x4c], ecx
lea edi, [eax + 0x99c0]
lea ecx, [eax + 0x9bc0]
mov dword [esp + 0x7c], ecx
movss xmm0, dword [eax + 0x95f8]
movss dword [esp + 0x50], xmm0
divss xmm0, dword [0x102d7c90]
minss xmm0, dword [0x10299218]
movss dword [esp + 0x9c], xmm0
lea ecx, [eax + 0x9dc0]
mov dword [esp + 0x78], ecx
lea ecx, [eax + 0x9fc0]
mov dword [esp + 0x48], ecx
lea ecx, [eax + 0xa1c0]
xor eax, eax
mov byte [esp + eax + 0x150], al
inc eax
cmp eax, 0x80
jne 0x1006531e
mov dword [esp + 0x38], ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x17c]
mov dword [esp + 8], eax
test eax, eax
mov dword [esp + 0x28], edi
jle 0x100653cc
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x178]
lea ecx, [eax + 0x1810]
mov dword [esp + 0x1c], ecx
add eax, 0x21d0
mov dword [esp + 0xc], eax
xor ecx, ecx
xor ebx, ebx
test edx, edx
mov dword [esp], ecx
jle 0x100653b4
mov esi, ecx
shl esi, 4
add esi, dword [esp + 0xc]
mov eax, ecx
and eax, 0xf
shl eax, 4
mov dword [esp + 4], eax
mov edi, ecx
shl edi, 6
add edi, dword [esp + 0x1c]
xor ecx, ecx
cmp byte [esi + ecx], 0
jne 0x100653af
cmp dword [edi + ecx*4], 0xb
jg 0x100653af
movzx ebx, bl
mov eax, dword [esp + 4]
add eax, ecx
mov byte [esp + ebx + 0x150], al
mov ebx, eax
inc ecx
cmp edx, ecx
jne 0x10065391
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp]
movzx eax, byte [eax + ecx + 0x134]
add ecx, eax
cmp ecx, dword [esp + 8]
jl 0x1006536a
jmp 0x100653ce
xor ebx, ebx
movzx eax, bl
mov byte [esp + eax + 0x150], bl
xor eax, eax
mov byte [esp + eax + 0xd0], al
inc eax
cmp eax, 0x80
jne 0x100653da
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x1235c]
xor ecx, ecx
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x10065478
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x12358]
lea edx, [eax + 0x139f0]
mov dword [esp + 0xc], edx
add eax, 0x143b0
mov dword [esp + 0x44], eax
xor edx, edx
test esi, esi
mov dword [esp], ecx
jle 0x10065460
mov edi, ecx
shl edi, 4
add edi, dword [esp + 0x44]
mov eax, ecx
and eax, 0xf
shl eax, 4
mov dword [esp + 4], eax
shl ecx, 6
add ecx, dword [esp + 0xc]
xor eax, eax
cmp byte [edi + eax], 0
jne 0x1006545b
cmp dword [ecx + eax*4], 0xb
jg 0x1006545b
movzx ebx, dl
mov edx, dword [esp + 4]
add edx, eax
mov byte [esp + ebx + 0xd0], dl
inc eax
cmp esi, eax
jne 0x1006543f
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp]
movzx eax, byte [eax + ecx + 0x12314]
add ecx, eax
cmp ecx, dword [esp + 0x1c]
jl 0x1006541a
jmp 0x1006547a
xor edx, edx
movzx eax, dl
mov byte [esp + eax + 0xd0], dl
mov edx, dword [esp + 8]
test edx, edx
jle 0x10065fd8
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x141b0]
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0x1fd0]
mov dword [esp + 0x58], eax
lea eax, [ecx + 0x36e0]
mov dword [esp + 0x80], eax
lea eax, [ecx + 0x158c0]
mov dword [esp + 0x54], eax
mov ecx, dword [ecx + 0x178]
movss xmm2, dword [0x10299208]
xor esi, esi
test ecx, ecx
jle 0x10065fc3
mov eax, esi
shl eax, 4
mov dword [esp + 0x90], eax
mov eax, esi
shl eax, 9
add eax, dword [esp + 0x54]
mov dword [esp + 0x60], eax
xor edx, edx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x10], esi
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
mulss xmm0, dword [0x102d7cc4]
divss xmm0, xmm1
movaps xmm1, xmm0
mulss xmm1, xmm0
mulss xmm1, xmm0
mulss xmm1, dword [0x102d7cc8]
divss xmm1, dword [0x102d7ccc]
addss xmm1, dword [0x102d7cd0]
divss xmm1, dword [0x102d7cd4]
movss dword [esp + 0xa8], xmm1
mov eax, dword [esp + 0x90]
lea ebx, [edx + eax]
mov eax, dword [ebp + 0xc]
mov al, byte [eax + ebx + 0x8d]
test al, al
jne 0x1006556b
mov ecx, dword [ebp + 0xc]
mov byte [ecx + ebx + 0xd], 0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + ebx + 0x21d0], 0
jne 0x10065732
mov dword [esp], edx
mov ecx, dword [ebp + 0xc]
or al, byte [ecx + ebx + 0x143b0]
je 0x100655a8
mov eax, dword [ebp + 0xc]
cmp byte [eax + ebx + 0x21d0], 0
je 0x10065710
mov edx, dword [esp]
mov esi, dword [esp + 0x10]
jmp 0x10065732
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x10]
cmp byte [eax + edi + 0x134], 0
mov dword [esp + 0x18], ebx
je 0x1006578c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x174]
mov ecx, dword [esp]
mov al, byte [eax + ecx]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x2c]
lea esi, [ecx + edx*4]
xor edx, edx
xorps xmm3, xmm3
xorps xmm4, xmm4
xor ecx, ecx
test al, al
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x30], xmm4
mov dword [esp + 4], edx
je 0x10065639
mov edx, dword [esp]
mov edi, dword [esp + 0x28]
movss xmm0, dword [esi + ecx*4 - 0x121e0]
addss xmm0, dword [esi + ecx*4]
mulss xmm0, xmm2
movss dword [edi + ecx*4 - 0x200], xmm0
subss xmm0, dword [esi + ecx*4]
movss dword [edi + ecx*4], xmm0
inc ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x174]
movzx eax, byte [eax + edx]
cmp ecx, eax
jb 0x10065600
mov ecx, eax
mov eax, dword [ebp + 8]
movzx edi, cl
mov ecx, dword [eax + 0x8a7c4]
mov ebx, eax
call dword [section..00cfg]
push edi
push dword [esp + 0x50]
push dword [esp + 0x50]
call ecx
add esp, 0xc
mov ecx, dword [ebx + 0x8a7c4]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x174]
mov edi, dword [esp]
movzx eax, byte [eax + edi]
mov dword [esp + 8], eax
call dword [section..00cfg]
push dword [esp + 8]
push dword [esp + 0x2c]
push dword [esp + 0x40]
call ecx
add esp, 0xc
mov eax, dword [ebx + 0x174]
movzx eax, byte [eax + edi]
test eax, eax
je 0x100656d1
xor ecx, ecx
mov edx, dword [esp + 0x38]
movss xmm2, dword [0x10299208]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
movss xmm3, dword [esp + 0x34]
movss xmm4, dword [esp + 0x30]
maxss xmm4, dword [edx + ecx*4 - 0x200]
maxss xmm3, dword [edx + ecx*4]
inc ecx
cmp eax, ecx
jne 0x100656bc
jmp 0x100656ed
movss xmm2, dword [0x10299208]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
movss xmm3, dword [esp + 0x34]
movss xmm4, dword [esp + 0x30]
mov edx, dword [esp + 4]
inc edx
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx + edi + 0x134]
add esi, 0x200
cmp edx, ecx
jb 0x100655e3
jmp 0x10065792
mov eax, dword [ebp + 0xc]
cmp dword [eax + ebx*4 + 0x1810], 0xb
mov edx, dword [esp]
mov esi, dword [esp + 0x10]
jg 0x10065732
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ebx*4 + 0x1fd0]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax + ebx + 0x143b0], 0
jne 0x10065767
mov eax, dword [ebp + 0xc]
cmp byte [eax + ebx + 0x8d], 0
jne 0x10065767
mov eax, dword [ebp + 0xc]
cmp dword [eax + ebx*4 + 0x139f0], 0xb
jg 0x10065767
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ebx*4 + 0x141b0]
mov dword [esp + 0x5c], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x174]
mov ecx, dword [ecx + 0x178]
movzx eax, byte [eax + edx]
add dword [esp + 0x2c], eax
inc edx
cmp edx, ecx
jl 0x100654fd
jmp 0x10065fba
xorps xmm4, xmm4
xorps xmm3, xmm3
mov eax, dword [esp + 0x58]
lea ecx, [eax - 0x3c]
mov dword [esp + 0x94], ecx
add eax, 0x3c
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x5c]
lea ecx, [eax - 0x3c]
mov dword [esp + 0x88], ecx
lea eax, [eax + 0x3c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + ecx*4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x54]
lea eax, [eax + ecx*4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x60]
lea eax, [eax + ecx*4]
mov dword [esp + 0x98], eax
xor edx, edx
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x30], xmm4
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*4 + 0x1fd0]
mov ecx, dword [esp + 0x18]
mov ebx, dword [edi + ecx*4 + 0x141b0]
cmp eax, ebx
cmovl ebx, eax
mov ecx, 0xdb
cmp ebx, ecx
mov esi, 0xdb
cmovl esi, ebx
test esi, esi
mov eax, 0
cmovle esi, eax
mov dword [esp + 0x3c], edx
lea eax, [edx + edx*2]
sub ebx, eax
cmp ebx, ecx
cmovge ebx, ecx
test ebx, ebx
mov eax, 0
cmovle ebx, eax
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
cmp dword [edi + ebx*4 + 0x1810], 0xd
je 0x1006586f
mov eax, dword [ebp + 0xc]
cmp dword [eax + ebx*4 + 0x139f0], 0xd
jne 0x10065ec8
mov eax, 0x130
sub eax, esi
movss xmm0, dword [eax*4 + 0x103f5bd8]
mulss xmm0, xmm4
movss xmm1, dword [0x102d7c44]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov ecx, 0xb
mov ebx, 0xb
cmp eax, 0xd
ja 0x100658a9
movzx ebx, byte [eax + 0x102d7ea4]
mov eax, 0x130
sub eax, dword [esp + 0x14]
movss xmm0, dword [eax*4 + 0x103f5bd8]
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, 0xd
mov edx, dword [ebp + 8]
mov edi, dword [esp + 0x10]
ja 0x100658da
movzx ecx, byte [eax + 0x102d7ea4]
cmp ebx, 2
mov eax, 1
cmovl ebx, eax
mov dword [esp + 0x68], ebx
cmp ecx, 2
cmovl ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [ebp + 0xc]
cmp byte [eax + edi + 0x134], 0
je 0x10065e9e
mov dword [esp + 0x64], esi
xorps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 0x74], 0
mov esi, dword [esp + 0x98]
mov dword [esp + 0x70], 0
xorps xmm0, xmm0
movss dword [esp + 4], xmm0
xor eax, eax
mov ebx, eax
mov eax, dword [edx + 0x95f0]
mov ecx, eax
shl ecx, 0xb
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x95bc]
mov dword [esp + 0x44], ebx
lea edx, [ebx + edi]
mov ecx, edx
shl ecx, 4
mov ebx, dword [esp]
add ecx, ebx
shl ecx, 4
lea edi, [eax + ecx]
mov dword [esp + 0x24], edi
add eax, ecx
add eax, 0x804
movss xmm0, dword [eax + 8]
mov dword [esp + 0x40], eax
minss xmm0, dword [eax - 0x7fc]
xor eax, eax
dec eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x174]
shl edx, 7
xor eax, eax
cmp byte [ecx + ebx], 0
mov ecx, dword [esp + 0x2c]
mov edi, edx
lea ecx, [edx + ecx]
movss dword [esp + 0x1c], xmm0
mov dword [esp + 0xc], ecx
je 0x100659ff
mov edx, dword [esp + 0x28]
movss xmm0, dword [esi + eax*4 - 0x121e0]
addss xmm0, dword [esi + eax*4]
mulss xmm0, xmm2
movss dword [edx + eax*4 - 0x200], xmm0
subss xmm0, dword [esi + eax*4]
movss dword [edx + eax*4], xmm0
inc eax
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x174]
movzx ecx, byte [ecx + ebx]
cmp eax, ecx
jb 0x100659c6
mov eax, ecx
mov edx, dword [ebp + 8]
movzx eax, al
mov dword [esp + 0x20], eax
mov ecx, dword [edx + 0x8a7c4]
mov eax, dword [esp + 0xa4]
mov ebx, edi
lea edi, [eax + edi*4]
call dword [section..00cfg]
push dword [esp + 0x20]
push edi
push dword [esp + 0x84]
call ecx
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8a7c4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x174]
mov edi, dword [esp]
movzx eax, byte [eax + edi]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
lea ebx, [eax + ebx*4]
call dword [section..00cfg]
push dword [esp + 0x20]
push ebx
push dword [esp + 0x80]
call ecx
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8a7c4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x174]
movzx ebx, byte [eax + edi]
call dword [section..00cfg]
push ebx
push dword [esp + 0x50]
push dword [esp + 0x50]
call ecx
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8a7c4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x174]
movzx ebx, byte [eax + edi]
call dword [section..00cfg]
push ebx
push dword [esp + 0x2c]
push dword [esp + 0x40]
call ecx
add esp, 0xc
mov eax, dword [esp + 0x24]
movss xmm0, dword [eax + 8]
movss xmm1, dword [0x102d7cd8]
addss xmm0, xmm1
movss xmm4, dword [esp + 0x50]
divss xmm4, xmm0
mov edi, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + edi*4 + 0x1810]
mov eax, dword [ecx + edi*4 + 0x1fd0]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x174]
mov edx, dword [esp]
movzx eax, byte [eax + edx]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc]
lea eax, [ecx + eax*4]
add eax, 0x36e0
mov dword [esp + 0x24], eax
mov ecx, dword [ebx*4 + 0x102d7d5c]
call dword [section..00cfg]
sub esp, 0x30
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
xor edx, edx
mov dword [esp + 0x2c], edx
lea eax, [esp + 0xfc]
mov dword [esp + 0x28], eax
mov eax, 0x7f800000
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm4
mov eax, dword [esp + 0xac]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call ecx
add esp, 0x30
fstp dword [esp + 0xbc]
movss xmm0, dword [esp + 4]
addss xmm0, dword [esp + 0xbc]
movss dword [esp + 4], xmm0
mov eax, dword [esp + 0x40]
movss xmm0, dword [eax + 8]
addss xmm0, dword [0x102d7cd8]
movss xmm4, dword [esp + 0x50]
divss xmm4, xmm0
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + edi*4 + 0x139f0]
mov eax, dword [ecx + edi*4 + 0x141b0]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x12354]
mov edi, dword [esp]
movzx eax, byte [eax + edi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
lea eax, [ecx + eax*4]
add eax, 0x158c0
mov dword [esp + 0xc], eax
mov ecx, dword [ebx*4 + 0x102d7d5c]
call dword [section..00cfg]
sub esp, 0x30
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
xor edx, edx
mov dword [esp + 0x2c], edx
lea eax, [esp + 0xf8]
mov dword [esp + 0x28], eax
mov eax, 0x7f800000
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm4
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call ecx
add esp, 0x30
fstp dword [esp + 0xb8]
movss xmm0, dword [esp + 4]
addss xmm0, dword [esp + 0xb8]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x102d7cd8]
movss xmm4, dword [esp + 0x50]
divss xmm4, xmm0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x174]
movzx ebx, byte [eax + edi]
mov edi, dword [esp + 0x68]
mov ecx, dword [edi*4 + 0x102d7d5c]
call dword [section..00cfg]
sub esp, 0x30
mov dword [esp + 0x14], ebx
xor edx, edx
mov dword [esp + 0x2c], edx
lea eax, [esp + 0xf4]
mov dword [esp + 0x28], eax
mov eax, 0x7f800000
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm4
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call ecx
add esp, 0x30
fstp dword [esp + 0xb4]
movss xmm0, dword [esp + 8]
addss xmm0, dword [esp + 0xb4]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, dword [esp + 0xa8]
addss xmm0, dword [0x102d7cd8]
movss xmm4, dword [esp + 0x9c]
divss xmm4, xmm0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x12354]
mov ecx, dword [esp]
movzx ebx, byte [eax + ecx]
mov edi, dword [esp + 0x6c]
mov ecx, dword [edi*4 + 0x102d7d5c]
call dword [section..00cfg]
sub esp, 0x30
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x28], eax
mov eax, 0x7f800000
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm4
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call ecx
mov edx, dword [ebp + 8]
add esp, 0x30
fstp dword [esp + 0xb0]
movss xmm2, dword [esp + 8]
addss xmm2, dword [esp + 0xb0]
mov eax, dword [esp + 0xc8]
add eax, dword [esp + 0xcc]
add dword [esp + 0x70], eax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0xc0]
add eax, dword [esp + 0xc4]
add dword [esp + 0x74], eax
movss xmm1, dword [esp + 4]
subss xmm1, xmm0
movss dword [esp + 4], xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movaps xmm1, xmm2
subss xmm1, xmm0
movss dword [esp + 8], xmm1
mov eax, dword [esp + 0x44]
inc eax
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0xc]
movzx edi, byte [edi + ecx + 0x134]
add esi, 0x200
cmp eax, edi
mov edi, ecx
movss xmm2, dword [0x10299208]
movss xmm3, dword [esp + 0x34]
movss xmm4, dword [esp + 0x30]
jb 0x10065933
movss xmm0, dword [esp + 4]
ucomiss xmm0, dword [esp + 8]
setae al
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
cmp edx, esi
setl cl
and cl, al
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x18]
mov byte [eax + ebx + 0xd], cl
cmp cl, 1
mov eax, dword [esp + 0x3c]
jne 0x10065eb2
jmp 0x10065f55
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x18]
mov byte [eax + ebx + 0xd], 0
xor edx, edx
xor esi, esi
mov eax, dword [esp + 0x3c]
cmp edx, esi
jg 0x1006558b
cmp eax, 3
jb 0x10065f4d
jmp 0x1006558b
cmp dword [esp + 0x94], esi
jg 0x10065f40
cmp dword [esp + 0x8c], esi
jl 0x10065f40
movzx eax, byte [esp + ebx + 0x150]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4 + 0x1fd0]
lea ecx, [esi - 0x3c]
cmp eax, ecx
jl 0x10065f40
lea ecx, [esi + 0x3c]
cmp eax, ecx
jg 0x10065f40
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x88], eax
jg 0x10065f40
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x84], eax
jl 0x10065f40
movzx eax, byte [esp + ebx + 0xd0]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4 + 0x141b0]
mov ecx, dword [esp + 0x14]
add ecx, 0xffffffc4
cmp eax, ecx
jl 0x10065f40
mov ecx, dword [esp + 0x14]
add ecx, 0x3c
cmp eax, ecx
jle 0x1006586f
mov eax, dword [esp + 0x3c]
cmp eax, 2
ja 0x1006558b
inc eax
mov edx, eax
jmp 0x10065801
mov eax, dword [ebp + 0xc]
cmp dword [eax + ebx*4 + 0x1810], 0xd
mov eax, dword [eax + ebx*4 + 0x139f0]
jne 0x10065f74
cmp eax, 0xd
je 0x1006558b
jmp 0x10065f79
cmp eax, 0xd
jne 0x10065f86
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0xd], 0
jmp 0x1006558b
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x64]
mov dword [eax + ebx*4 + 0x1fd0], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + ebx*4 + 0x141b0], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + ebx*4 + 0x1810], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + ebx*4 + 0x139f0], ecx
jmp 0x1006558b
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x17c]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + esi + 0x134]
add esi, eax
cmp esi, edx
jl 0x100654ce
mov ecx, dword [esp + 0x1d8]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1500
call fcn.101308a0
mov ecx, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0x14f8], eax
fild qword [ecx + 0x28]
fstp qword [esp + 0x1e8]
movsd xmm2, qword [esp + 0x1e8]
mulsd xmm2, qword [0x102d7c88]
cvtsi2sd xmm0, dword [ecx + 0x130]
movss xmm1, dword [ebp + 0x14]
divsd xmm2, xmm0
test byte [ecx + 0x3c], 2
jne 0x10066053
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ecx + 0x314]
jmp 0x1006605b
movss xmm0, dword [0x102c44f8]
cvtss2sd xmm0, xmm0
divsd xmm2, xmm0
movsd qword [esp + 0x40], xmm2
movaps xmm0, xmm1
divss xmm0, dword [0x102d7c90]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x70], xmm0
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x14e0], xmm0
movdqa xmmword [esp + 0x14d0], xmm0
movdqa xmmword [esp + 0x14c0], xmm0
movdqa xmmword [esp + 0x14b0], xmm0
movdqa xmmword [esp + 0x14a0], xmm0
movdqa xmmword [esp + 0x1490], xmm0
movdqa xmmword [esp + 0x1480], xmm0
movdqa xmmword [esp + 0x1470], xmm0
movdqa xmmword [esp + 0x1460], xmm0
movdqa xmmword [esp + 0x1450], xmm0
movdqa xmmword [esp + 0x1440], xmm0
movdqa xmmword [esp + 0x1430], xmm0
movdqa xmmword [esp + 0x1420], xmm0
movdqa xmmword [esp + 0x1410], xmm0
movdqa xmmword [esp + 0x1400], xmm0
movdqa xmmword [esp + 0x13f0], xmm0
mov esi, 0x200
mov edi, 0xff
lea eax, [esp + 0x11f0]
push esi
push edi
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0xff0]
push esi
push edi
push eax
call fcn.10132b90
add esp, 0xc
xor ebx, ebx
lea eax, [esp + 0xdf0]
push esi
push ebx
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0xbf0]
push esi
push ebx
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0x9f0]
push esi
push edi
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0x7f0]
push esi
push edi
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0x5f0]
push esi
push edi
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0x3f0]
push esi
push edi
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0x1f0]
push esi
push edi
push eax
call fcn.10132b90
movss xmm3, dword [ebp + 0x14]
add esp, 0xc
movss xmm4, dword [0x102d7cdc]
movss xmm1, dword [0x102d7c90]
divss xmm1, xmm3
pxor xmm0, xmm0
ucomiss xmm0, xmm1
movaps xmm0, xmm1
jae 0x1006949e
divss xmm4, xmm3
movsd xmm1, qword [esp + 0x40]
mulsd xmm1, qword [esp + 0x70]
mov esi, dword [ebp + 0xc]
ucomiss xmm3, dword [0x102d7c90]
jbe 0x10066272
cvtss2sd xmm0, xmm0
sub esp, 0x10
movsd qword [esp], xmm0
mov dword [esp + 0xc], 0x3fd00000
mov dword [esp + 8], 0
movsd qword [esp + 0x50], xmm1
movss dword [esp + 0x80], xmm4
call fcn.10145870
movss xmm4, dword [esp + 0x80]
movsd xmm1, qword [esp + 0x50]
movss xmm3, dword [ebp + 0x14]
add esp, 0x10
fstp dword [esp + 0x19c]
movss xmm0, dword [esp + 0x19c]
maxss xmm0, dword [0x102d7ce0]
movss xmm2, dword [0x10299218]
minss xmm2, xmm0
jmp 0x1006627a
movss xmm2, dword [0x10299218]
maxss xmm4, dword [0x102d7ce0]
cvttsd2si edi, xmm1
mov eax, dword [esi + 0x95e0]
mov dword [esp + 0xb4], edi
test eax, eax
mov edx, dword [ebp + 8]
js 0x100662c8
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [edx + 0x34]
test eax, eax
mov ecx, pe_nt_image_headers32
cmovne ecx, eax
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
divss xmm3, xmm1
mulss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [esp + 0xb4], eax
movss xmm0, dword [0x102d7ce4]
minss xmm0, xmm4
test byte [edx + 0x3c], 2
jne 0x10066313
mov eax, dword [esp + 0xb4]
lea ecx, [eax + 7]
test eax, eax
cmovns ecx, eax
sar ecx, 3
mov esi, eax
sub esi, ecx
add ecx, eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x11c], 0x1e
xorpd xmm1, xmm1
movss dword [esp + 0x8c], xmm1
jmp 0x1006636b
cmp dword [esi + 0x1c], 0
mov eax, dword [esp + 0xb4]
je 0x1006632c
cmp dword [esi + 0x9608], 1
sete cl
shl eax, cl
lea esi, [eax + 0xf]
test eax, eax
mov dword [esp + 0xb4], eax
cmovns esi, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x5c]
dec eax
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movss dword [esp + 0x8c], xmm1
sar esi, 4
mov dword [esp + 0x11c], 0x3c
mov dword [esp + 0xc4], 0x16a8
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
movss dword [esp + 0xa8], xmm2
jb 0x1006638a
xorps xmm2, xmm2
sqrtsd xmm2, xmm0
jmp 0x100663aa
sub esp, 8
movsd qword [esp], xmm0
call fcn.101460b0
add esp, 8
fstp qword [esp + 0x1e0]
movsd xmm2, qword [esp + 0x1e0]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x5c]
mov eax, 0x400
xor edx, edx
mov dword [esp + 0x100], ecx
idiv ecx
mov ebx, eax
mov edx, dword [ebp + 8]
test byte [edx + 0x3c], 2
jne 0x1006641d
mov eax, dword [edx + 0x314]
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
push dword [edx + 0x2c]
push dword [edx + 0x28]
movsd qword [esp + 0x50], xmm2
call fcn.1014f930
movsd xmm2, qword [esp + 0x40]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x1d8], xmm1
fild qword [esp + 0x1d8]
fstp dword [esp + 0x198]
movss xmm0, dword [esp + 0x198]
jmp 0x10066443
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
mulss xmm1, dword [0x102d7c94]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [edx + 0x130]
mulss xmm0, xmm1
mulss xmm0, dword [0x102d7c98]
movss xmm7, dword [esp + 0xa8]
cvttss2si ecx, xmm0
mov eax, dword [ebp + 0xc]
cmp dword [eax + 8], 0
jne 0x10066462
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x20], 0
je 0x10066475
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0x102d7c9c]
cvttss2si ecx, xmm0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x148]
test eax, eax
jg 0x10066568
test ecx, ecx
je 0x10066535
mov edx, 0x66666667
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
lea eax, [ecx + ecx*4]
lea edi, [eax + eax*2]
lea eax, [eax + eax*2]
add eax, 0x1f
test edi, edi
cmovns eax, edi
sar eax, 5
add eax, 0xffffea84
cmp edx, eax
cmovg eax, edx
lea edi, [ecx + 3]
lea edx, [ecx + 0xf]
test ecx, ecx
cmovns edi, ecx
cmovns edx, ecx
sar edi, 2
mov ecx, 0xbb8
add edi, ecx
cmp eax, edi
cmovl edi, eax
sar edx, 4
add edx, 0x2ee0
cmp edi, edx
cmovl edx, edi
mov eax, 0x55f0
cmp edx, eax
mov ecx, ebx
mov ebx, 0x55f0
cmovl ebx, edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x130]
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
cmp ebx, edi
mov ebx, ecx
mov eax, 0x55f0
cmovle edi, eax
mov eax, edx
cmovg eax, edi
cmp edx, 0x55f1
cmovge eax, edi
cmp eax, 0xbb9
mov ecx, 0xbb8
cmovl eax, ecx
jmp 0x1006654f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x130]
mov ecx, eax
shr ecx, 1
cmp eax, 0x1770
mov eax, 0xbb8
cmovge eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x95c8], eax
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x5c]
mov dword [esp + 0x100], ecx
mov edx, dword [ebp + 8]
imul eax, ebx
add eax, eax
mov ecx, dword [edx + 0x130]
cdq
idiv ecx
mov dword [esp + 8], eax
imul eax, ebx, 0x1f40
cdq
idiv ecx
mov dword [esp + 0x144], eax
mov ecx, 0x16a8
mov eax, dword [esp + 0xb4]
cmp eax, ecx
cmovge eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xc4]
cmp eax, ecx
cmovge eax, ecx
mov dword [esp + 0xc4], eax
cmp esi, ecx
cmovl ecx, esi
mov dword [esp + 0x114], ecx
cmp dword [esp + 0x100], 0
mov esi, dword [ebp + 0x10]
jle 0x10069488
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
movss dword [esp + 0x58], xmm0
mov eax, dword [esi + 0x58]
mov dword [esp + 0x34], eax
lea eax, [esi + 0x20b0]
mov dword [esp + 0xc8], eax
movss xmm1, dword [0x102d7ca8]
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
xor ecx, ecx
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0x2c], xmm1
cmp dword [esp + 0x34], 0
jle 0x1006684f
mov edx, dword [esp + 0x20]
mov edi, edx
shl edi, 4
mov eax, dword [esi + 0x54]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x14], edi
lea ebx, [eax + edi]
mov edi, edx
shl edi, 8
or edi, 8
mov dword [esp + 0x70], 0
xor edx, edx
mov eax, dword [esp + 0x20]
mov al, byte [esi + eax + 0x14]
xorps xmm1, xmm1
mov byte [esp + 0x40], al
test al, al
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0xe0], edx
je 0x1006676e
xor eax, eax
mov ecx, ebx
xor esi, esi
mov edx, dword [esp + 0x70]
cmp edx, dword [esp + 8]
jge 0x100666c8
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x95f0]
mov ebx, edx
shl ebx, 0xb
lea edx, [ebx + edx*4]
mov ebx, dword [ebp + 0xc]
add edx, dword [ebx + 0x95bc]
movss xmm2, dword [edi + edx]
ucomiss xmm2, xmm0
jne 0x100666b8
jnp 0x100666c8
mulss xmm2, xmm7
ucomiss xmm2, dword [edi + edx - 4]
mov edx, 1
jb 0x100666dc
mov byte [ecx], 1
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x20]
mov dl, byte [edx + ebx + 0x14]
mov byte [esp + 0x40], dl
mov edx, esi
inc eax
movzx ebx, byte [esp + 0x40]
add ecx, 0x10
add edi, 0x100
mov esi, edx
cmp eax, ebx
jb 0x10066688
xor eax, eax
xorps xmm2, xmm2
xorps xmm3, xmm3
test edx, edx
je 0x10066778
cmp byte [esp + 0x40], 0
mov esi, dword [ebp + 0x10]
je 0x1006677b
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x95f0]
shl ebx, 8
mov ecx, eax
shl ecx, 0xb
lea edi, [ecx + eax*4]
add edi, dword [esp + 0x90]
add edi, dword [edx + 0x95bc]
xorps xmm3, xmm3
xor edx, edx
xorps xmm2, xmm2
xorps xmm1, xmm1
xor eax, eax
movss xmm4, dword [edi + edx]
ucomiss xmm4, xmm0
jne 0x10066741
jnp 0x10066762
movss xmm5, dword [edi + edx - 4]
movaps xmm6, xmm7
mulss xmm6, xmm4
ucomiss xmm6, xmm5
jae 0x10066762
addss xmm1, xmm4
addss xmm2, xmm5
addss xmm3, dword [edi + edx + 4]
inc eax
add edx, 0x100
cmp ebx, edx
jne 0x10066735
jmp 0x1006677b
xor eax, eax
xorps xmm2, xmm2
xorps xmm3, xmm3
jmp 0x1006677b
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xe0]
add ecx, edx
movss dword [esp + ecx*4 + 0x9f0], xmm1
movss dword [esp + ecx*4 + 0x5f0], xmm2
mov byte [esp + ecx + 0x1470], al
test eax, eax
sete byte [esi + ecx + 0x20b0]
je 0x100667fa
cmp byte [esi + ecx + 0x2130], 0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x90]
je 0x1006682b
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
mulss xmm2, xmm4
mulss xmm1, xmm3
divss xmm2, xmm1
movss dword [esp + ecx*4 + 0x1f0], xmm2
movss xmm3, dword [esp + 0x2c]
ucomiss xmm0, xmm3
jbe 0x1006680b
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0xfc], xmm2
jmp 0x1006682b
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x90]
jmp 0x1006682f
movss xmm1, dword [esp + 0xfc]
maxss xmm1, xmm2
movss dword [esp + 0xfc], xmm1
minss xmm2, xmm3
movss dword [esp + 0x2c], xmm2
mov ecx, dword [esp + 0xc]
or ecx, eax
mov eax, dword [esp + 0xd0]
movzx eax, byte [eax + edx]
add dword [esp + 0x70], eax
inc edx
inc ebx
add edi, 0x10
cmp edx, dword [esp + 0x34]
jne 0x10066655
mov edx, dword [esp + 0x20]
movzx eax, byte [esi + edx + 0x14]
add edx, eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x20], edx
cmp edx, eax
jl 0x10066617
mov dword [esp + 0xc], ecx
test eax, eax
jle 0x10066a64
movss xmm0, dword [esp + 0x8c]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
mov eax, dword [esi + 0x58]
lea ecx, [esi + 0x1eb0]
mov dword [esp + 0x1c], ecx
mov edi, 0xffff
xor ebx, ebx
test eax, eax
jle 0x1006698d
mov esi, ebx
shl esi, 4
mov dword [esp + 0x90], ebx
mov ecx, ebx
shl ecx, 6
mov edx, dword [esp + 0x1c]
add edx, ecx
add ecx, esp
add ecx, 0x9f0
mov dword [esp + 0x70], ecx
add esi, dword [esp + 0xc8]
xor ebx, ebx
mov dword [esp + 0x40], esi
mov ecx, 0x8c
cmp byte [esi + ebx], 0
jne 0x10066972
mov esi, edx
movss xmm0, dword [0x102d7ce8]
mov eax, dword [esp + 0x70]
maxss xmm0, dword [eax + ebx*4]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x54]
movzx eax, byte [eax + ebx]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
divss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.1014573b
add esp, 4
fstp qword [esp + 0x1d0]
movsd xmm0, qword [esp + 0x1d0]
mulsd xmm0, qword [0x102d7cf0]
addsd xmm0, qword [0x102d7cf8]
addsd xmm0, qword [esp + 0x20]
cvttsd2si ecx, xmm0
mov eax, 0xff
cmp ecx, eax
jl 0x10066957
mov ecx, 0xff
cmp ecx, 0x3d
mov edx, esi
jge 0x10066963
mov ecx, 0x3c
cmp edi, ecx
cmovge edi, ecx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x58]
mov esi, dword [esp + 0x40]
mov dword [edx + ebx*4], ecx
inc ebx
cmp ebx, eax
jl 0x100668d8
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x5c]
mov ebx, dword [esp + 0x90]
jmp 0x10066994
mov edx, dword [esp + 0x100]
movzx ecx, byte [esi + ebx + 0x14]
add ebx, ecx
mov dword [esp + 0x100], edx
cmp ebx, edx
jl 0x100668a0
mov ecx, 0xdb
cmp edi, ecx
cmovl ecx, edi
cmp ecx, 0x69
mov eax, 0x68
cmovge eax, ecx
mov dword [esp + 0x20], eax
cmp dword [esp + 0x100], 0
jle 0x10066a64
mov ebx, dword [esi + 0x58]
mov eax, dword [esp + 0x20]
add eax, 0x3b
mov dword [esp + 0x90], eax
mov dword [esp + 0xe0], 0
mov ecx, dword [esp + 0x20]
test ebx, ebx
jle 0x10066a43
mov eax, dword [esp + 0xe0]
mov edx, eax
shl edx, 4
shl eax, 6
add eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
add edx, dword [esp + 0xc8]
xor esi, esi
mov dword [esp + 0x70], edx
cmp byte [edx + esi], 0
jne 0x10066a3e
mov edi, dword [esp + 0x40]
mov eax, dword [edi + esi*4]
mov edx, dword [esp + 0x90]
cmp eax, edx
cmovl edx, eax
cmp eax, ecx
cmovl edx, ecx
mov dword [edi + esi*4], edx
mov edx, dword [esp + 0x70]
inc esi
cmp ebx, esi
jne 0x10066a19
mov esi, dword [ebp + 0x10]
mov edx, dword [esp + 0xe0]
movzx eax, byte [esi + edx + 0x14]
add edx, eax
mov dword [esp + 0xe0], edx
cmp edx, dword [esp + 0x100]
jl 0x100669f1
cmp dword [esp + 0xc], 0
je 0x10069488
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + 0x8a7c4]
lea ebx, [esi + 0x35c0]
add edi, 0x97c0
call dword [section..00cfg]
push 0x400
mov dword [esp + 0x128], ebx
push ebx
mov dword [esp + 0x14], edi
push edi
call ecx
add esp, 0xc
push dword [ebp + 0xc]
call fcn.1006cf10
add esp, 4
push 0x200
push 0
lea eax, [esp + 0xff8]
push eax
call fcn.10132b90
add esp, 0xc
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x90], eax
test eax, eax
jle 0x100675f8
mov edx, dword [esi + 0x58]
xor eax, eax
xorps xmm1, xmm1
test edx, edx
jle 0x10066c71
mov ebx, eax
shl ebx, 7
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x90], ecx
mov ecx, eax
mov eax, dword [esi + 0x54]
mov dl, byte [esi + ecx + 0x14]
mov dword [esp + 0x1c], ecx
shl ecx, 6
add ecx, esp
add ecx, 0xff0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], 0
mov dword [esp + 0xe0], edx
mov ecx, edx
test cl, cl
je 0x10066c11
mov edx, dword [esp + 0xc]
mov dword [esp + 0x70], ebx
lea edx, [edx + ebx*4]
mov esi, dword [esp + 0x40]
movzx eax, byte [eax + esi]
movzx edi, cl
xorps xmm0, xmm0
xor ebx, ebx
test al, al
je 0x10066b56
xor esi, esi
maxss xmm0, dword [edx + esi*4]
inc esi
cmp eax, esi
jne 0x10066b4c
inc ebx
add edx, 0x200
cmp ebx, edi
jne 0x10066b46
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
add eax, edx
movss dword [esp + eax*4 + 0x3f0], xmm0
ucomiss xmm0, xmm1
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x70]
jbe 0x10066c41
mov edi, ebx
sub esp, 4
movss dword [esp], xmm0
call fcn.1014573b
add esp, 4
fstp dword [esp + 0x194]
movss xmm0, dword [esp + 0x194]
mulss xmm0, dword [0x102c44f4]
addss xmm0, dword [0x102d7c30]
addss xmm0, dword [0x102d7c34]
addss xmm0, dword [0x102d7c38]
cvttss2si eax, xmm0
mov edx, eax
sar edx, 0x1f
cmp eax, 0x100
not edx
cmovb edx, eax
mov eax, dword [esp + 0x1c]
movzx ebx, byte [esi + eax + 0x14]
xor ecx, ecx
test ebx, ebx
je 0x10066c2d
movzx edx, dl
mov eax, ebx
mov dword [esp + 0xe0], eax
shl ebx, 6
mov eax, dword [esp + 0x20]
mov dword [eax + ecx], edx
add ecx, 0x40
cmp ebx, ecx
jne 0x10066bfe
mov ecx, dword [esp + 0xe0]
jmp 0x10066c38
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
add eax, edx
mov dword [esp + eax*4 + 0x3f0], 0
xor ecx, ecx
jmp 0x10066c41
mov dword [esp + 0xe0], 0
xorps xmm1, xmm1
mov edx, dword [esp + 0x40]
mov ebx, edi
mov eax, dword [esi + 0x54]
mov edi, edx
movzx edx, byte [eax + edx]
add ebx, edx
mov edx, dword [esi + 0x58]
inc edi
add dword [esp + 0x20], 4
mov dword [esp + 0x40], edi
cmp edi, edx
jl 0x10066b23
mov ecx, dword [esi + 0x5c]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xe0]
jmp 0x10066c7e
mov bl, byte [esi + eax + 0x14]
mov ecx, dword [esp + 0x90]
mov edi, eax
movzx eax, bl
add edi, eax
mov dword [esp + 0x90], ecx
cmp edi, ecx
mov eax, edi
jl 0x10066add
push 0x200
lea eax, [esp + 0x9f4]
push eax
lea eax, [esp + 0x7f8]
push eax
call fcn.10132610
add esp, 0xc
mov ebx, dword [esp + 0x90]
test ebx, ebx
jle 0x10067624
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 8]
mulss xmm0, dword [0x102d7c78]
movss dword [esp + 0xac], xmm0
xor edi, edi
movss xmm2, dword [0x10299218]
movss xmm3, dword [0x10299218]
movaps xmm4, xmmword [0x102d7c20]
movss xmm1, dword [esp + 0x2c]
movss dword [esp + 0x38], xmm2
cmp ebx, 2
jl 0x10066d28
movzx eax, byte [esi + edi + 0x14]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss xmm1, dword [0x102d7d00]
divss xmm1, xmm0
movss dword [esp + 0x38], xmm1
movss xmm1, dword [esp + 0x2c]
mov eax, dword [esi + 0x58]
test eax, eax
jle 0x100675e7
mov ebx, edi
shl ebx, 7
mov ecx, edi
shl ecx, 4
mov dword [esp + 0xb0], ecx
xor edx, edx
mov dword [esp + 0x5c], edi
movzx ecx, byte [esp + edx + 0x1470]
mov dword [esp + 0x60], ecx
test cl, cl
jle 0x100675d2
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
divss xmm0, dword [esp + 0xac]
maxss xmm0, xmm2
movss xmm1, dword [0x102c44f8]
movaps xmm5, xmm1
minss xmm5, xmm0
mulss xmm5, xmm5
mulss xmm5, dword [0x102d7c94]
mov eax, dword [esp + 0x124]
mov dword [esp + 0x18], ebx
lea ecx, [eax + ebx*4]
mov eax, dword [esp + 0xb0]
add eax, edx
mov dword [esp + 0x10], eax
movss xmm7, dword [esp + eax*4 + 0x9f0]
movzx eax, byte [esi + edi + 0x14]
mov dword [esp + 0xa8], eax
test eax, eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], ecx
movss dword [esp + 0x64], xmm7
je 0x1006714b
mov eax, dword [esi + 0x54]
mov ebx, edi
mov edi, ecx
movzx ecx, byte [eax + ebx]
imul ecx, dword [esp + 0x60]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm7, xmm0
movzx ebx, byte [eax + edx]
lea eax, [ebx - 1]
cvtsi2ss xmm6, ebx
movaps xmm0, xmm2
divss xmm0, xmm6
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
divss xmm2, xmm6
movss dword [esp + 0x3c], xmm2
xorps xmm6, xmm6
movss dword [esp + 0x8c], xmm0
movaps xmm2, xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x100], xmm0
mulss xmm2, xmm6
movss dword [esp + 0x6c], xmm2
mov dword [esp + 0x14], 0
mov edx, edi
xorps xmm0, xmm0
movaps xmmword [esp + 0xd0], xmm0
movss dword [esp + 0xc], xmm5
movss dword [esp + 0x34], xmm7
test bl, bl
je 0x10066fe9
xor esi, esi
xorps xmm0, xmm0
movss dword [esp + 0x70], xmm0
xorps xmm3, xmm3
xorps xmm0, xmm0
xorps xmm2, xmm2
movss dword [esp + 8], xmm2
movss xmm2, dword [0x10299218]
movss dword [esp + 0x20], xmm3
movss dword [esp + 0x40], xmm0
movss xmm5, dword [edi + esi*4]
movaps xmm6, xmm5
mulss xmm6, xmm5
ucomiss xmm6, xmm7
movaps xmm0, xmm2
jae 0x10066f4d
movaps xmmword [esp + 0x90], xmm5
movss xmm0, dword [esp + 0xc]
ucomiss xmm0, xmm1
movaps xmm0, xmm6
divss xmm0, xmm7
jne 0x10066ec6
jp 0x10066ec6
mulss xmm0, xmm0
jmp 0x10066f45
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
movaps xmmword [esp + 0xe8], xmm6
call fcn.10145550
add esp, 8
fstp dword [esp + 0x190]
movss xmm0, dword [esp + 0x190]
mulss xmm0, dword [esp + 0xc]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.10143d70
movaps xmm6, xmmword [esp + 0xe8]
movss xmm7, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
movaps xmm4, xmmword [0x102d7c20]
movss xmm1, dword [0x102c44f8]
movss xmm2, dword [0x10299218]
add esp, 8
fstp dword [esp + 0x18c]
movss xmm0, dword [esp + 0x18c]
movaps xmm5, xmmword [esp + 0x90]
movss xmm3, dword [esp + 0x70]
addss xmm3, xmm0
movss dword [esp + 0x70], xmm3
andps xmm5, xmm4
movss xmm3, dword [esp + 0x20]
maxss xmm3, xmm5
movss xmm0, dword [esp + 8]
addss xmm0, xmm5
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x40]
addss xmm0, xmm6
inc esi
cmp ebx, esi
jne 0x10066e80
ucomiss xmm0, xmm7
jbe 0x10067033
movss dword [esp + 0x20], xmm3
movss dword [esp + 0x40], xmm0
movss xmm2, dword [esp + 8]
mulss xmm2, dword [esp + 0x8c]
xor eax, eax
xorps xmm0, xmm0
movss xmm1, dword [edi + eax*4]
andps xmm1, xmm4
subss xmm1, xmm2
mulss xmm1, xmm1
addss xmm0, xmm1
inc eax
cmp ebx, eax
jne 0x10066fb6
movss xmm1, dword [esp + 0x40]
mulss xmm1, dword [esp + 0x8c]
movss dword [esp + 0x40], xmm1
mov esi, dword [ebp + 0x10]
jmp 0x10067019
xorps xmm2, xmm2
xorps xmm0, xmm0
movss dword [esp + 0x20], xmm0
ucomiss xmm2, xmm7
movss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x40], xmm0
movaps xmm2, xmm0
xorps xmm0, xmm0
movss dword [esp + 0x70], xmm0
xorps xmm0, xmm0
jbe 0x1006712d
mulss xmm0, dword [esp + 0x3c]
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x10298578]
jb 0x10067043
sqrtsd xmm0, xmm0
jmp 0x1006706f
mov esi, dword [ebp + 0x10]
movss xmm3, dword [0x10299218]
jmp 0x1006712d
sub esp, 8
movsd qword [esp], xmm0
movss dword [esp + 0x10], xmm2
call fcn.101460b0
movss xmm2, dword [esp + 0x10]
add esp, 8
fstp qword [esp + 0x1c8]
movsd xmm0, qword [esp + 0x1c8]
movss xmm1, dword [esp + 0x20]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x102c44f4]
addss xmm0, xmm2
minss xmm1, xmm0
divss xmm2, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10298578]
jb 0x100670a4
sqrtsd xmm0, xmm0
jmp 0x100670c4
sub esp, 8
movsd qword [esp], xmm0
call fcn.101460b0
add esp, 8
fstp qword [esp + 0x1c0]
movsd xmm0, qword [esp + 0x1c0]
movss xmm3, dword [0x10299218]
movaps xmm4, xmmword [0x102d7c20]
mov edx, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x34]
cvtsd2ss xmm0, xmm0
movss xmm2, dword [esp + 0x40]
mulss xmm0, xmm2
movss xmm1, dword [0x10299208]
maxss xmm1, dword [esp + 0x70]
divss xmm0, xmm1
movaps xmm1, xmmword [esp + 0xd0]
addss xmm1, xmm0
movaps xmmword [esp + 0xd0], xmm1
movaps xmm0, xmmword [esp + 0x100]
addss xmm0, xmm2
movaps xmmword [esp + 0x100], xmm0
movss xmm1, dword [0x102c44f8]
mov eax, dword [esp + 0x14]
inc eax
add edi, 0x200
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0xa8]
jne 0x10066e56
jmp 0x10067163
xorps xmm0, xmm0
movaps xmmword [esp + 0xd0], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x100], xmm0
mov edx, ecx
movaps xmm1, xmmword [esp + 0xd0]
movaps xmm6, xmmword [esp + 0x100]
divss xmm1, xmm6
xorps xmm0, xmm0
cmpltss xmm0, xmm6
andps xmm1, xmm0
andnps xmm0, xmm3
orps xmm0, xmm1
mulss xmm0, dword [esp + 0x38]
mov eax, dword [ebp + 8]
test byte [eax + 0x3c], 2
jne 0x100671c1
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x10298578]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
movss xmm2, dword [0x10299218]
movss xmm5, dword [esp + 0x64]
jb 0x100671d9
sqrtsd xmm0, xmm0
jmp 0x1006721a
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
movss xmm2, dword [0x10299218]
movss xmm5, dword [esp + 0x64]
jmp 0x1006721e
sub esp, 8
movsd qword [esp], xmm0
call fcn.101460b0
movss xmm5, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
movaps xmm4, xmmword [0x102d7c20]
movss xmm3, dword [0x10299218]
movss xmm2, dword [0x10299218]
add esp, 8
fstp qword [esp + 0x1b8]
movsd xmm0, qword [esp + 0x1b8]
cvtsd2ss xmm0, xmm0
minss xmm0, xmm2
movss xmm1, dword [0x102d7d04]
maxss xmm1, xmm0
mulss xmm1, dword [esp + 0x58]
maxss xmm1, dword [0x102d7d08]
movaps xmm0, xmm2
minss xmm0, xmm1
movzx ecx, byte [esi + edi + 0x14]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
mulss xmm1, xmm0
mulss xmm5, xmm1
mov eax, dword [esp + 0x10]
movss dword [esp + eax*4 + 0x9f0], xmm5
mov dword [esp + 0x90], ecx
test ecx, ecx
je 0x100674df
mov eax, dword [esi + 0x54]
movzx ecx, byte [eax + edi]
imul ecx, dword [esp + 0x60]
movzx ebx, byte [eax + ebx]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
lea eax, [ebx - 1]
divss xmm5, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
movaps xmm6, xmm2
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
divss xmm6, xmm0
movaps xmm0, xmm2
divss xmm0, xmm1
movss dword [esp + 0xe0], xmm0
xorps xmm2, xmm2
movss dword [esp + 0xc], xmm6
mulss xmm6, xmm2
movss dword [esp + 0xd0], xmm6
xor edi, edi
xorps xmm6, xmm6
movss dword [esp + 0x64], xmm5
test bl, bl
movaps xmmword [esp + 0x40], xmm6
movaps xmmword [esp + 0x70], xmm2
je 0x10067388
xor eax, eax
xorps xmm2, xmm2
xorps xmm3, xmm3
xorps xmm7, xmm7
xorps xmm6, xmm6
movss xmm4, dword [0x10299218]
movss xmm0, dword [edx + eax*4]
movaps xmm1, xmm0
andps xmm1, xmmword [0x102d7c20]
maxss xmm3, xmm1
addss xmm6, xmm1
mulss xmm0, xmm0
addss xmm7, xmm0
movaps xmm1, xmm5
cmpnless xmm1, xmm0
divss xmm0, xmm5
mulss xmm0, xmm0
andps xmm0, xmm1
andnps xmm1, xmm4
orps xmm1, xmm0
addss xmm2, xmm1
inc eax
cmp ebx, eax
jne 0x100672ff
movaps xmm4, xmmword [0x102d7c20]
ucomiss xmm7, xmm5
jbe 0x100673b3
movss dword [esp + 0x20], xmm2
movss dword [esp + 8], xmm7
movaps xmm7, xmm6
mulss xmm7, dword [esp + 0xc]
test bl, bl
je 0x100673cd
movaps xmm2, xmm4
xor eax, eax
xorps xmm0, xmm0
movss xmm1, dword [edx + eax*4]
andps xmm1, xmm2
subss xmm1, xmm7
mulss xmm1, xmm1
addss xmm0, xmm1
inc eax
cmp ebx, eax
jne 0x1006736d
jmp 0x100673d0
xorps xmm1, xmm1
xorps xmm0, xmm0
movss dword [esp + 8], xmm0
ucomiss xmm1, xmm5
movss xmm7, dword [esp + 0xd0]
xorps xmm3, xmm3
xorps xmm0, xmm0
movss dword [esp + 0x20], xmm0
xorps xmm0, xmm0
ja 0x100673d0
jmp 0x100673c0
movaps xmm0, xmm5
movaps xmm2, xmmword [esp + 0x70]
movaps xmm6, xmmword [esp + 0x40]
movss xmm3, dword [0x10299218]
jmp 0x100674c9
xorps xmm0, xmm0
mulss xmm0, dword [esp + 0xe0]
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x10298578]
mov dword [esp + 0x1c], edx
jb 0x100673f1
sqrtsd xmm0, xmm0
jmp 0x10067429
sub esp, 8
movsd qword [esp], xmm0
movss dword [esp + 0x3c], xmm7
movss dword [esp + 0x1c], xmm3
call fcn.101460b0
movss xmm3, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x3c]
add esp, 8
fstp qword [esp + 0x1b0]
movsd xmm0, qword [esp + 0x1b0]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x102c44f4]
addss xmm0, xmm7
minss xmm3, xmm0
divss xmm7, xmm3
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
ucomisd xmm0, qword [0x10298578]
jb 0x10067458
sqrtsd xmm0, xmm0
jmp 0x10067478
sub esp, 8
movsd qword [esp], xmm0
call fcn.101460b0
add esp, 8
fstp qword [esp + 0x1a8]
movsd xmm0, qword [esp + 0x1a8]
movss xmm3, dword [0x10299218]
movaps xmm4, xmmword [0x102d7c20]
mov edx, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x64]
movaps xmm6, xmmword [esp + 0x40]
movaps xmm2, xmmword [esp + 0x70]
movss xmm7, dword [esp + 8]
mulss xmm7, dword [esp + 0xc]
cvtsd2ss xmm0, xmm0
mulss xmm0, xmm7
movss xmm1, dword [0x10299208]
maxss xmm1, dword [esp + 0x20]
divss xmm0, xmm1
addss xmm6, xmm0
addss xmm2, xmm7
inc edi
add edx, 0x200
cmp edi, dword [esp + 0x90]
jne 0x100672d7
jmp 0x100674e5
xorps xmm6, xmm6
xorps xmm2, xmm2
divss xmm6, xmm2
xorps xmm0, xmm0
cmpltss xmm0, xmm2
andps xmm6, xmm0
andnps xmm0, xmm3
orps xmm0, xmm6
mulss xmm0, dword [esp + 0x38]
mov eax, dword [ebp + 8]
test byte [eax + 0x3c], 2
jne 0x1006752d
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x10298578]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
movss xmm2, dword [0x10299218]
jb 0x1006753f
sqrtsd xmm0, xmm0
jmp 0x10067576
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
movss xmm2, dword [0x10299218]
jmp 0x1006757a
sub esp, 8
movsd qword [esp], xmm0
call fcn.101460b0
movaps xmm4, xmmword [0x102d7c20]
movss xmm3, dword [0x10299218]
movss xmm2, dword [0x10299218]
add esp, 8
fstp qword [esp + 0x1a0]
movsd xmm0, qword [esp + 0x1a0]
cvtsd2ss xmm0, xmm0
minss xmm0, xmm2
movss xmm1, dword [0x102d7d04]
maxss xmm1, xmm0
mulss xmm1, dword [esp + 0x58]
movzx eax, byte [esi + edi + 0x14]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm1
maxss xmm0, dword [0x10299208]
movaps xmm1, xmm2
minss xmm1, xmm0
mov eax, dword [esp + 0x10]
mulss xmm1, dword [esp + eax*4 + 0x7f0]
movss dword [esp + eax*4 + 0x7f0], xmm1
mov eax, dword [esi + 0x58]
movss xmm1, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 0x54]
movzx ecx, byte [ecx + edx]
add ebx, ecx
inc edx
cmp edx, eax
jl 0x10066d4a
mov ebx, dword [esi + 0x5c]
movzx eax, byte [esi + edi + 0x14]
add edi, eax
cmp edi, ebx
jl 0x10066cf9
jmp 0x1006762a
push 0x200
lea eax, [esp + 0x9f4]
push eax
lea eax, [esp + 0x7f8]
push eax
call fcn.10132610
add esp, 0xc
movss xmm1, dword [esp + 0x2c]
mov ebx, dword [esp + 0x90]
jmp 0x1006762a
movss xmm1, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + eax*4 + 0x11f0], 0xff
inc eax
cmp eax, 0x80
jne 0x1006762c
mov edi, dword [esp + 0x11c]
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
mov ecx, edi
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0x114]
inc eax
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movss dword [esp + 0x164], xmm2
shr ecx, 1
mov dword [esp + 0x128], ecx
movss xmm2, dword [0x102d7d00]
lea eax, [edi + edi]
mov ecx, 0xaaaaaaab
mov dword [esp + 0x15c], eax
mul ecx
mulss xmm2, xmm1
movss dword [esp + 0x160], xmm2
shr edx, 1
mov dword [esp + 0x150], edx
xor eax, eax
inc eax
mov ecx, dword [esp + 0xb4]
cmp ecx, 2
cmovge eax, ecx
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movss dword [esp + 0x148], xmm2
lea eax, [edi - 1]
mov dword [esp + 0x158], eax
movss xmm2, dword [0x102d7c80]
movss dword [esp + 0x154], xmm0
mulss xmm2, xmm0
movss dword [esp + 0x14c], xmm2
lea eax, [esi + 0x1eb0]
mov dword [esp + 0x12c], eax
lea eax, [esi + 0x2130]
mov dword [esp + 0x168], eax
xor eax, eax
mov edx, ebx
mov dword [esp + 0xc0], eax
test eax, eax
mov ecx, 1
mov eax, 0x20
cmove ecx, eax
mov dword [esp + 0x68], ecx
test edx, edx
jle 0x10067bc1
mov eax, dword [esi + 0x58]
mov dword [esp + 0x70], eax
mov dword [esp + 0x10], 0
xor ecx, ecx
dec ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x70], 0
jle 0x10067ba8
mov ecx, dword [esp + 0x10]
mov ebx, ecx
shl ebx, 7
mov edx, ecx
shl edx, 4
mov dword [esp + 0xb0], edx
mov edx, ecx
shl edx, 8
lea esi, [edx + 0xa7cc]
lea eax, [edx + 0xa7d1]
lea ecx, [edx + 0xa7d0]
mov dword [esp + 0x58], ecx
xor ecx, ecx
mov dword [esp + 0x60], esi
mov esi, ecx
mov ecx, dword [esp + 0xb0]
mov edi, esi
mov dword [esp + 0x3c], esi
lea edi, [esi + ecx]
mov esi, dword [ebp + 0x10]
cmp byte [esi + edi + 0x20b0], 0
mov dword [esp + 0x38], ebx
jne 0x100677c6
mov ecx, dword [esi + edi*4 + 0x1eb0]
cmp ecx, 0xda
jl 0x1006785c
mov ecx, dword [esi + 0x54]
mov ebx, dword [esp + 0x3c]
mov cl, byte [ecx + ebx]
mov byte [esp + 0x40], cl
cmp byte [esi + edi + 0x2130], 0
je 0x10067817
mov ecx, edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
mov edi, edx
mov edx, 9
test ebx, ebx
je 0x10067821
cmp byte [ecx + esi + 0x20af], 0
mov ebx, dword [esp + 0x38]
je 0x10067825
xor edx, edx
cmp byte [esi + ecx + 0x212f], 0
sete dl
lea edx, [edx*4 + 5]
jmp 0x10067825
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x60]
jmp 0x10067831
mov ebx, dword [esp + 0x38]
add dword [esp + 0x18], edx
mov edx, edi
mov esi, eax
mov eax, dword [esp + 0x5c]
mov cl, byte [esp + 0x40]
movzx ecx, cl
add ebx, ecx
mov ecx, dword [esp + 0x3c]
inc ecx
add esi, 0x10
add eax, 0x10
add dword [esp + 0x58], 0x10
add edx, 0x10
cmp ecx, dword [esp + 0x70]
jl 0x1006778c
jmp 0x10067ba2
mov dword [esp + 0x5c], eax
movss xmm0, dword [esp + edi*4 + 0x3f0]
mov eax, 0x130
sub eax, ecx
mulss xmm0, dword [eax*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si eax, xmm0
mov dword [esp + 0x6c], 0xb
cmp eax, 0xd
ja 0x1006789d
movzx eax, byte [eax + 0x102d7ea4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x10]
mov al, byte [esi + eax + 0x14]
test al, al
mov dword [esp + 0xcc], edx
je 0x10067af3
mov byte [esp + 0x14], al
lea ecx, [esi + ebx*4]
add ecx, 0x35c0
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + 0xa7c0]
mov word [esp + 0xd0], ax
lea edi, [ebx*4 + 0x97c0]
xorps xmm1, xmm1
mov dword [esp + 0xc], 0
mov eax, edx
xorps xmm2, xmm2
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x90], 0
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + edx*4 + 0x1eb0]
mov edx, dword [esi + 0x54]
mov esi, dword [esp + 0x3c]
movzx edx, byte [edx + esi]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x100], ecx
mov esi, ecx
shl esi, 0xb
mov edx, dword [ebp + 0xc]
lea ebx, [edx + esi]
movzx ecx, word [esp + 0xd0]
cmp word [eax + ebx + 0xa7d2], cx
mov dword [esp + 0x40], eax
mov dword [esp + 0xe0], edi
mov dword [esp + 0x1c], ebx
jne 0x10067981
mov ecx, dword [esp + 8]
movsx edx, byte [ecx + ebx]
cmp dword [esp + 0x6c], edx
jne 0x10067981
mov ecx, dword [esp + 0x20]
cmp byte [ecx + ebx], 0
je 0x10067add
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + edi]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
add eax, esi
add eax, ecx
add eax, 0xa7c8
mov dword [esp + 0xd0], eax
add esi, dword [esp + 0x70]
add esi, ecx
mov edi, dword [esp + 0x6c]
mov ecx, dword [edi*4 + 0x102d7d5c]
movss dword [esp + 0x8c], xmm1
movss dword [esp + 0x64], xmm2
call dword [section..00cfg]
push dword [esp + 0xd0]
push esi
push 0x7f800000
push 0x3f800000
push edi
push dword [esp + 0x114]
push dword [esp + 0xc0]
push dword [esp + 0x30]
xor eax, eax
push eax
push dword [esp + 0x58]
push eax
mov esi, dword [ebp + 0xc]
push esi
call ecx
movss xmm2, dword [esp + 0x94]
movss xmm1, dword [esp + 0xbc]
add esp, 0x30
fstp dword [esp + 0x188]
movss xmm0, dword [esp + 0x188]
mov eax, dword [esp + 0x40]
movss dword [ebx + eax + 0xa7c4], xmm0
mov ecx, ebx
mov ebx, dword [esp + 8]
mov eax, edi
mov byte [ebx + ecx], al
mov edi, dword [esp + 0x20]
mov byte [edi + ecx], 0
movzx edx, word [esi + 0xa7c0]
mov eax, dword [esp + 0x40]
mov word [esp + 0xd0], dx
mov word [ecx + eax + 0xa7d2], dx
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x10]
mov al, byte [esi + eax + 0x14]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x1c]
add edx, dword [ecx + esi]
mov dword [esp + 0x90], edx
addss xmm2, xmm0
addss xmm1, dword [eax + esi + 0xa7c8]
mov eax, dword [esp + 0xc]
inc eax
movzx esi, byte [esp + 0x14]
mov edx, 0x100
add ecx, edx
mov dword [esp + 0x70], ecx
add edi, edx
mov dword [esp + 0x20], edi
add ebx, edx
mov dword [esp + 8], ebx
add dword [esp + 0x40], edx
mov ebx, 0x200
add dword [esp + 0x34], ebx
mov edi, dword [esp + 0xe0]
add edi, ebx
mov dword [esp + 0xc], eax
cmp eax, esi
mov eax, dword [esp + 0x40]
mov esi, dword [ebp + 0x10]
jb 0x10067915
jmp 0x10067b04
movss xmm0, dword [ebx + eax + 0xa7c4]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x20]
jmp 0x10067a6b
xorps xmm2, xmm2
mov dword [esp + 0x90], 0
xorps xmm1, xmm1
mov edi, dword [esp + 0x90]
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
subss xmm2, xmm0
mov eax, dword [esp + 0x30]
movss dword [esp + eax*4 + 0xdf0], xmm2
movss dword [esp + eax*4 + 0xbf0], xmm1
mov edx, dword [esi + eax*4 + 0x1eb0]
mov ecx, dword [esp + 0xac]
cmp ecx, 0xffffffff
je 0x10067b62
mov eax, edx
sub eax, ecx
cmp eax, 0x3c
mov ecx, 0x3c
cmovge eax, ecx
cmp eax, 0xffffffc5
mov ecx, 0xffffffc4
cmovl eax, ecx
movzx eax, byte [eax + 0x102e7d84]
add edi, eax
movss xmm1, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
add eax, edi
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x54]
mov ecx, dword [esp + 0x3c]
mov cl, byte [eax + ecx]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x70], eax
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xcc]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
jmp 0x10067835
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x5c]
mov edi, dword [esp + 0x10]
movzx ecx, byte [esi + edi + 0x14]
add edi, ecx
mov dword [esp + 0x10], edi
cmp edi, edx
jl 0x1006774f
jmp 0x10067bc9
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc4]
jle 0x10067c2d
mov dword [esp + 0x90], edx
xor ecx, ecx
xor eax, eax
mov edx, dword [esi + ecx*4 + 0x1eb0]
cmp edx, 0xda
jg 0x10067c22
mov esi, 0xff
cmp dword [esp + 0x18], 0x16a8
jg 0x10067c06
mov esi, dword [esp + ecx*4 + 0x11f0]
mov edi, dword [esp + 0x68]
add edi, edx
cmp esi, edi
cmovl edi, esi
cmp edi, edx
mov esi, dword [ebp + 0x10]
je 0x10067c22
mov dword [esi + ecx*4 + 0x1eb0], edi
xor eax, eax
inc eax
inc ecx
cmp ecx, 0x80
jne 0x10067be1
jmp 0x10067c91
cmp eax, dword [esp + 0x114]
jge 0x10067cd1
mov dword [esp + 0x90], edx
xor ecx, ecx
xor eax, eax
mov edx, dword [esi + ecx*4 + 0x1eb0]
cmp edx, 0x8d
jl 0x10067c85
mov edi, dword [esp + ecx*4 + 0xff0]
mov esi, edx
sub esi, dword [esp + 0x68]
cmp edi, esi
cmovg esi, edi
cmp esi, 0x8d
mov edi, 0x8c
cmovl esi, edi
cmp esi, edx
je 0x10067c85
mov eax, dword [ebp + 0x10]
mov dword [eax + ecx*4 + 0x1eb0], esi
xor eax, eax
inc eax
inc ecx
cmp ecx, 0x80
mov esi, dword [ebp + 0x10]
jne 0x10067c45
mov edx, dword [esp + 0x68]
mov ecx, edx
sar ecx, 1
xor edi, edi
inc edi
cmp edx, 1
ja 0x10067cdb
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0xc4]
mov edx, dword [esp + 0x90]
jle 0x10067ce2
cmp dword [esi + 0x1eb0], 0xd9
setl cl
test eax, eax
setne al
and al, cl
movzx ecx, al
xor edi, edi
inc edi
jmp 0x10067ce2
mov ecx, dword [esp + 0x68]
sar ecx, 1
xor edi, edi
jmp 0x10067ce2
mov edx, dword [esp + 0x90]
mov dword [esp + 0x68], ecx
test ecx, ecx
jne 0x10067726
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x114]
setl al
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x11c]
sub eax, dword [esp + 0xc0]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x102d7ce4]
divss xmm0, dword [esp + 0x154]
addss xmm0, dword [0x10299218]
movss dword [esp + 0xcc], xmm0
mov al, 1
mov dword [esp + 0xbc], eax
xor eax, eax
inc eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
or eax, edi
je 0x10068614
test edi, edi
mov dword [esp + 0x118], edi
je 0x100681f0
test edx, edx
jle 0x100681e8
mov eax, dword [esi + 0x58]
mov dword [esp + 0x70], eax
mov dword [esp + 0x30], 0
xor ecx, ecx
dec ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x70], 0
jle 0x100681cf
mov edi, dword [esp + 0x30]
mov ebx, edi
shl ebx, 7
mov edx, edi
shl edx, 4
mov dword [esp + 0x58], edx
shl edi, 8
lea edx, [edi + 0xa7cc]
lea eax, [edi + 0xa7d1]
lea ecx, [edi + 0xa7d0]
mov dword [esp + 0x5c], ecx
xor esi, esi
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x58]
mov edi, esi
mov dword [esp + 0x3c], esi
lea edi, [esi + ecx]
mov esi, dword [ebp + 0x10]
cmp byte [esi + edi + 0x20b0], 0
mov dword [esp + 0x60], ebx
jne 0x10067dfd
mov ecx, dword [esi + edi*4 + 0x1eb0]
cmp ecx, 0xda
jl 0x10067e91
mov ecx, dword [esi + 0x54]
mov ebx, dword [esp + 0x3c]
mov cl, byte [ecx + ebx]
mov byte [esp + 0x40], cl
cmp byte [esi + edi + 0x2130], 0
je 0x10067e4e
mov ecx, edi
mov dword [esp + 0x38], eax
mov eax, edx
mov edx, 9
test ebx, ebx
mov edi, dword [esp + 0x10]
je 0x10067e58
cmp byte [ecx + esi + 0x20af], 0
mov ebx, dword [esp + 0x60]
je 0x10067e5c
xor edx, edx
cmp byte [esi + ecx + 0x212f], 0
sete dl
lea edx, [edx*4 + 5]
jmp 0x10067e5c
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x10]
jmp 0x10067e66
mov ebx, dword [esp + 0x60]
add dword [esp + 0x18], edx
mov edx, eax
mov eax, dword [esp + 0x38]
mov cl, byte [esp + 0x40]
movzx ecx, cl
add ebx, ecx
mov esi, dword [esp + 0x3c]
inc esi
add edx, 0x10
add eax, 0x10
add dword [esp + 0x5c], 0x10
add edi, 0x10
cmp esi, dword [esp + 0x70]
jl 0x10067dc8
jmp 0x100681c9
mov dword [esp + 0x38], eax
movss xmm0, dword [esp + edi*4 + 0x3f0]
mov eax, 0x130
sub eax, ecx
mulss xmm0, dword [eax*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si eax, xmm0
mov dword [esp + 0x20], 0xb
cmp eax, 0xd
ja 0x10067ed2
movzx eax, byte [eax + 0x102d7ea4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x30]
mov al, byte [esi + eax + 0x14]
test al, al
mov dword [esp + 0xac], edx
je 0x1006812a
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x124]
lea ecx, [ecx + ebx*4]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + 0xa7c0]
mov word [esp + 0xd0], ax
lea edi, [ebx*4 + 0x97c0]
xor ebx, ebx
xorps xmm1, xmm1
mov eax, dword [esp + 0x10]
xorps xmm2, xmm2
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0xe0], ebx
mov edx, dword [esp + 0x6c]
mov ebx, dword [esi + edx*4 + 0x1eb0]
mov edx, dword [esi + 0x54]
mov esi, dword [esp + 0x3c]
movzx ecx, byte [edx + esi]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x100], ebx
shl ebx, 0xb
mov edx, dword [ebp + 0xc]
lea esi, [edx + ebx]
movzx ecx, word [esp + 0xd0]
cmp word [eax + esi + 0xa7d2], cx
mov edx, eax
mov dword [esp + 0x1c], edi
jne 0x10067fb2
mov eax, edx
mov ecx, dword [esp + 8]
movsx edx, byte [ecx + esi]
cmp dword [esp + 0x20], edx
mov edx, eax
jne 0x10067fb2
mov eax, dword [esp + 0x90]
cmp byte [eax + esi], 0
je 0x10068113
mov dword [esp + 0x40], edx
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + edi]
mov dword [esp + 0x14], eax
lea eax, [edx + ebx]
add eax, ecx
add eax, 0xa7c8
mov dword [esp + 0xd0], eax
add ebx, dword [esp + 0x70]
add ebx, ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax*4 + 0x102d7d5c]
movss dword [esp + 0x8c], xmm1
movss dword [esp + 0x64], xmm2
call dword [section..00cfg]
push dword [esp + 0xd0]
push ebx
push 0x7f800000
push 0x3f800000
mov ebx, dword [esp + 0x30]
push ebx
push dword [esp + 0x114]
push dword [esp + 0xc0]
push dword [esp + 0x30]
xor eax, eax
push eax
push dword [esp + 0x58]
push eax
push dword [ebp + 0xc]
call ecx
movss xmm2, dword [esp + 0x94]
movss xmm1, dword [esp + 0xbc]
add esp, 0x30
fstp dword [esp + 0x184]
movss xmm0, dword [esp + 0x184]
mov eax, dword [esp + 0x40]
movss dword [esi + eax + 0xa7c4], xmm0
mov eax, dword [esp + 8]
mov byte [eax + esi], bl
mov edi, dword [esp + 0x90]
mov byte [edi + esi], 0
mov eax, dword [ebp + 0xc]
movzx edx, word [eax + 0xa7c0]
mov eax, dword [esp + 0x40]
mov word [esp + 0xd0], dx
mov ebx, esi
mov word [esi + eax + 0xa7d2], dx
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x30]
mov al, byte [eax + edx + 0x14]
mov byte [esp + 0x14], al
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0xe0]
mov ecx, dword [esp + 0x70]
add esi, dword [ecx + ebx]
addss xmm2, xmm0
addss xmm1, dword [edx + ebx + 0xa7c8]
mov ebx, dword [esp + 0xc]
inc ebx
mov eax, edx
movzx edx, byte [esp + 0x14]
mov dword [esp + 0xe0], edx
mov edx, 0x100
add ecx, edx
mov dword [esp + 0x70], ecx
add edi, edx
mov dword [esp + 0x90], edi
add dword [esp + 8], edx
add eax, edx
mov ecx, 0x200
add dword [esp + 0x34], ecx
mov edi, dword [esp + 0x1c]
add edi, ecx
mov dword [esp + 0xc], ebx
cmp ebx, dword [esp + 0xe0]
mov ebx, esi
mov esi, dword [ebp + 0x10]
jb 0x10067f43
jmp 0x10068132
mov ebx, esi
movss xmm0, dword [esi + edx + 0xa7c4]
mov edi, dword [esp + 0x90]
jmp 0x100680a4
xorps xmm2, xmm2
xor ebx, ebx
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
subss xmm2, xmm0
mov eax, dword [esp + 0x6c]
movss dword [esp + eax*4 + 0xdf0], xmm2
movss dword [esp + eax*4 + 0xbf0], xmm1
mov edx, dword [esi + eax*4 + 0x1eb0]
mov ecx, dword [esp + 0xb0]
cmp ecx, 0xffffffff
je 0x10068189
mov eax, edx
sub eax, ecx
cmp eax, 0x3c
mov ecx, 0x3c
cmovge eax, ecx
cmp eax, 0xffffffc5
mov ecx, 0xffffffc4
cmovl eax, ecx
movzx eax, byte [eax + 0x102e7d84]
add ebx, eax
movss xmm1, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
add eax, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x54]
mov ecx, dword [esp + 0x3c]
mov cl, byte [eax + ecx]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x60]
jmp 0x10067e6a
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x5c]
mov edi, dword [esp + 0x30]
movzx ecx, byte [esi + edi + 0x14]
add edi, ecx
mov dword [esp + 0x30], edi
cmp edi, edx
jl 0x10067d90
jmp 0x100681f0
mov dword [esp + 0x18], 0
test byte [esp + 0xbc], 1
je 0x10068614
mov eax, dword [ebp + 0xc]
cmp dword [eax + 8], 0
je 0x100685e1
mov eax, dword [esp + 0xc0]
cmp eax, dword [esp + 0x128]
mov edi, dword [esp + 0x118]
jbe 0x100685fb
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x114]
jle 0x100685fb
test edx, edx
jle 0x100685d5
mov dword [esp + 0xc], eax
mov dword [esp + 0x90], edx
mov ecx, dword [esi + 0x58]
xor edx, edx
mov dword [esp + 0x68], 0
test ecx, ecx
jle 0x100682cd
mov eax, edx
shl eax, 4
mov esi, edx
shl esi, 6
lea edi, [esp + esi]
add edi, 0x9f0
mov dword [esp + 0x40], edi
lea edi, [esp + esi]
add edi, 0xdf0
mov dword [esp + 0x70], edi
add esi, dword [esp + 0x12c]
add eax, dword [esp + 0xc8]
xor edi, edi
cmp byte [eax + edi], 0
jne 0x100682c8
cmp dword [esi + edi*4], 0x8d
jl 0x100682c8
mov ebx, dword [esp + 0x70]
movss xmm0, dword [ebx + edi*4]
mov ebx, dword [esp + 0x40]
movss xmm1, dword [ebx + edi*4]
mulss xmm1, dword [esp + 0xcc]
ucomiss xmm0, xmm1
jbe 0x100682c2
inc dword [esp + 0x68]
movss xmm1, dword [esp + 0x2c]
inc edi
cmp ecx, edi
jne 0x1006828f
mov esi, dword [ebp + 0x10]
movzx eax, byte [esi + edx + 0x14]
add edx, eax
cmp edx, dword [esp + 0x90]
jl 0x10068257
cmp dword [esp + 0x68], 0
je 0x100685ea
mov dword [esp + 0x70], 0
movss xmm0, dword [esp + 0xfc]
mov dword [esp + 8], 0
cmp dword [esp + 0x90], 0
jle 0x100683ac
mov edx, dword [esi + 0x58]
mov dword [esp + 8], 0
movss xmm1, dword [esp + 0x2c]
movss xmm0, dword [esp + 0xfc]
xor ecx, ecx
test edx, edx
mov dword [esp + 0x20], ecx
jle 0x10068395
mov ebx, ecx
shl ebx, 4
add ebx, dword [esp + 0x168]
mov eax, dword [esi + 0x54]
shl ecx, 6
add ecx, esp
add ecx, 0x1f0
mov dword [esp + 0x40], ecx
xor esi, esi
xor edi, edi
cmp esi, dword [esp + 0x144]
jl 0x1006838a
cmp byte [ebx + edi - 0x80], 0
jne 0x1006838a
cmp byte [ebx + edi], 0
je 0x1006838a
mov ecx, dword [esp + 0x40]
movss xmm2, dword [ecx + edi*4]
maxss xmm1, xmm2
minss xmm2, xmm0
inc dword [esp + 8]
movaps xmm0, xmm2
movzx ecx, byte [eax + edi]
inc edi
add esi, ecx
cmp edx, edi
jne 0x1006835c
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x20]
movzx eax, byte [esi + ecx + 0x14]
add ecx, eax
cmp ecx, dword [esp + 0x90]
jl 0x10068332
subss xmm1, xmm0
mulss xmm1, dword [0x102d7d0c]
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0x18]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xc]
minss xmm1, dword [esp + 0x160]
mulss xmm2, dword [esp + 0x2c]
mulss xmm0, dword [esp + 0xfc]
addss xmm0, xmm2
divss xmm0, dword [esp + 0x164]
minss xmm0, xmm1
mov edi, dword [esp + 8]
mov eax, edi
imul eax, dword [esp + 0xc0]
add eax, dword [esp + 0x158]
cdq
idiv dword [esp + 0x15c]
mov ecx, eax
cmp eax, 2
mov eax, 1
cmovl ecx, eax
cmp edi, ecx
cmovl ecx, edi
mov dword [esp + 0x20], ecx
mov cl, 1
mov edx, dword [esp + 0x90]
movss xmm1, dword [esp + 0xcc]
test cl, 1
jne 0x10068452
movss xmm1, dword [0x10299218]
mov edi, 0x68
mov eax, 0x8c
cmovne edi, eax
mov dword [esp + 8], edi
mov ebx, dword [esi + 0x58]
cmp ebx, 2
mov dword [esp + 0x90], ecx
jl 0x10068590
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x70], eax
jge 0x10068590
mov eax, ebx
dec ebx
mov ecx, dword [esi + 0x50]
mov dword [esp + 0x40], eax
movzx ecx, word [ecx + eax*2 - 2]
cmp dword [esp + 0x144], ecx
jg 0x10068585
test edx, edx
jle 0x10068585
xor ecx, ecx
mov edi, edx
mov edx, ecx
shl edx, 4
add edx, ebx
cmp byte [esi + edx + 0x20b0], 0
je 0x100684cf
mov edx, edi
movzx eax, byte [esi + ecx + 0x14]
add ecx, eax
cmp ecx, edx
jl 0x100684aa
jmp 0x10068585
cmp byte [esi + edx + 0x2130], 0
je 0x100684bd
ucomiss xmm0, dword [esp + edx*4 + 0x1f0]
jb 0x100684bd
mov esi, dword [esi + edx*4 + 0x1eb0]
cmp esi, dword [esp + 8]
jle 0x1006857d
movss xmm2, dword [esp + edx*4 + 0xdf0]
movss xmm3, dword [esp + edx*4 + 0x9f0]
movaps xmm4, xmm1
mulss xmm4, xmm3
ucomiss xmm2, xmm4
jbe 0x10068531
mov esi, dword [ebp + 0x10]
mov byte [esi + edx + 0x20b0], 1
mov dword [esi + edx*4 + 0x16f0], 0
inc dword [esp + 0x70]
mov edx, dword [esi + 0x5c]
jmp 0x100684bf
movss xmm4, dword [esp + edx*4 + 0x3f0]
mov eax, 0x130
sub eax, esi
mulss xmm4, dword [eax*4 + 0x103f5bd8]
addss xmm4, dword [0x102d7c44]
cvttss2si esi, xmm4
cmp esi, 0xd
ja 0x1006857d
movzx esi, byte [esi + 0x102d7ea4]
test esi, esi
je 0x10068512
cmp esi, 1
jne 0x1006857d
movss xmm4, dword [esp + edx*4 + 0x7f0]
minss xmm4, xmm3
ucomiss xmm2, xmm4
ja 0x10068512
mov esi, dword [ebp + 0x10]
jmp 0x100684bd
cmp dword [esp + 0x40], 3
jge 0x10068476
test byte [esp + 0x90], 1
mov ecx, 0
mov eax, dword [esp + 0x18]
jne 0x1006843c
mov dword [esp + 0x18], eax
xor ebx, ebx
cmp dword [esp + 0x70], 0
setne bl
mov eax, 1
mov ecx, dword [esp + 0xb8]
cmovne ecx, eax
mov dword [esp + 0xb8], ecx
mov edi, ebx
movss xmm1, dword [esp + 0x2c]
jmp 0x100685fb
xor edi, edi
mov dword [esp + 0x68], 0
jmp 0x100685fb
mov edi, dword [esp + 0x118]
jmp 0x100685fb
xor edi, edi
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0x90]
test byte [esp + 0xbc], 1
mov dword [esp + 0xbc], 0
jne 0x10067d4c
test edx, edx
jle 0x10068635
mov eax, dword [esi + 0x58]
xor ecx, ecx
mov edi, edx
test eax, eax
jle 0x10068628
mov edx, eax
dec edx
jne 0x10068625
movzx edx, byte [esi + ecx + 0x14]
add ecx, edx
mov edx, edi
cmp ecx, edi
jl 0x1006861d
test edx, edx
jle 0x1006924c
xor eax, eax
mov ecx, dword [esp + 0xc0]
cmp ecx, dword [esp + 0x150]
setbe al
cmp ecx, dword [esp + 0x128]
lea ecx, [eax + eax + 1]
mov eax, 0xa
cmovbe ecx, eax
mov dword [esp + 0x13c], ecx
lea eax, [ecx + 2]
mov dword [esp + 0x118], eax
movss xmm0, dword [0x10299218]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xb4]
jle 0x10068691
movss xmm0, dword [0x102c44f8]
jle 0x100686b8
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
divss xmm1, dword [esp + 0x148]
movaps xmm2, xmm1
cmpnltss xmm2, dword [0x102c44f8]
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm0, xmm2
mov ecx, eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x18], ecx
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
divss xmm1, dword [esp + 0x14c]
addss xmm1, dword [0x10299218]
mulss xmm1, xmm0
movss dword [esp + 0x174], xmm1
mov ebx, dword [esi + 0x58]
mov dword [esp + 0x6c], 0
xor edi, edi
dec edi
movss xmm1, dword [esp + 0x2c]
test ebx, ebx
jle 0x10069107
mov ecx, dword [esp + 0x6c]
mov eax, ecx
shl eax, 7
mov dword [esp + 0xbc], eax
mov eax, ecx
shl eax, 4
mov dword [esp + 0x178], eax
mov eax, ecx
shl eax, 8
lea ecx, [eax + 0xafcc]
mov dword [esp + 0x138], ecx
lea ecx, [eax + 0xafd1]
mov dword [esp + 0x134], ecx
lea ecx, [eax + 0xafd0]
mov dword [esp + 0x130], ecx
lea ecx, [eax + 0x9fcc]
mov dword [esp + 0xb0], ecx
lea ecx, [eax + 0x9fd1]
mov dword [esp + 0xac], ecx
lea ecx, [eax + 0x9fd0]
mov dword [esp + 0xcc], ecx
xor edx, edx
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x64], edx
add edx, ecx
mov ecx, dword [esi + edx*4 + 0x1eb0]
mov dword [esp + 0x58], ecx
mov cl, byte [esi + edx + 0x20b0]
test edi, edi
js 0x100687a0
test cl, cl
jne 0x100687a4
jmp 0x100687b5
test cl, cl
je 0x100687af
mov dword [esp + 0x10], edi
mov edi, ebx
jmp 0x100690ae
mov edi, dword [esi + 0x1eb0]
mov dword [esp + 0x10], edi
mov dword [esp + 0x68], eax
movss xmm1, dword [esp + edx*4 + 0x3f0]
mov eax, 0x130
sub eax, dword [esp + 0x58]
movss xmm0, dword [eax*4 + 0x103f5bd8]
movss dword [esp + 0x60], xmm1
mulss xmm0, xmm1
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
mov eax, 0xb
cmp ecx, 0xd
ja 0x100687ff
movzx eax, byte [ecx + 0x102d7ea4]
mov ecx, dword [esp + 0x124]
mov edi, dword [esp + 0xbc]
lea ecx, [ecx + edi*4]
mov dword [esp + 0x140], ecx
mov edi, dword [esp + 0x10]
cmp edi, 0x3d
mov ecx, 0x3c
cmovge ecx, edi
add ecx, 0xffffffc4
mov dword [esp + 0x5c], ecx
mov ecx, 0x9f
cmp edi, ecx
cmovge edi, ecx
add edi, 0x3c
test eax, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], edx
je 0x1006885d
movss xmm0, dword [esp + edx*4 + 0xdf0]
ucomiss xmm0, dword [esp + edx*4 + 0x9f0]
jbe 0x10068c87
mov eax, dword [esp + edx*4 + 0xff0]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
cmovg eax, ecx
cmp dword [esp + 0x58], eax
jle 0x10068c87
mov eax, dword [esp + 0xbc]
lea eax, [eax*4 + 0x97c0]
mov dword [esp + 0x120], eax
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x5c]
jle 0x10069034
mov ecx, 0x131
sub ecx, eax
movss xmm0, dword [ecx*4 + 0x103f5bd8]
mulss xmm0, dword [esp + 0x60]
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
mov dword [esp + 8], 0xb
mov dword [esp + 0x38], 0xb
cmp ecx, 0xd
ja 0x100688e4
movzx ecx, byte [ecx + 0x102d7ea4]
mov dword [esp + 0x38], ecx
mov ecx, 0x130
sub ecx, eax
movss xmm0, dword [ecx*4 + 0x103f5bd8]
mulss xmm0, dword [esp + 0x60]
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
cmp ecx, 0xd
ja 0x1006891a
test ecx, ecx
je 0x1006893f
movzx ecx, byte [ecx + 0x102d7ea4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x13c]
jb 0x10068969
movss xmm0, dword [esp + edx*4 + 0x7f0]
ucomiss xmm0, dword [esp + edx*4 + 0xdf0]
jbe 0x10068969
jmp 0x10069034
lea ecx, [eax - 1]
mov edx, dword [esp + 0x3c]
mov edx, dword [esp + edx*4 + 0x11f0]
cmp ecx, edx
cmovl edx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + ecx*4 + 0x11f0], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], 0
cmp dword [esp + 0x64], 0
jne 0x1006899c
cmp dword [esi + 0x5c], 2
jl 0x1006899c
movss xmm0, dword [esp + edx*4 + 0xdf0]
ucomiss xmm0, dword [esp + edx*4 + 0x7f0]
jb 0x1006899c
mov ecx, dword [esp + edx*4 + 0x11f0]
cmp eax, ecx
cmovl ecx, eax
mov dword [esp + edx*4 + 0x11f0], ecx
mov ecx, dword [esp + 0x6c]
mov cl, byte [esi + ecx + 0x14]
test cl, cl
je 0x10068bea
mov byte [esp + 0x100], cl
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 0xa7c0]
mov word [esp + 0x14], ax
xor ebx, ebx
xorps xmm3, xmm3
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x140]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x68]
xorps xmm4, xmm4
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x40], edx
mov dword [esp + 0x90], 0
mov edi, dword [esp + 0x64]
mov dword [esp + 0xc], ebx
mov edx, esi
mov esi, dword [esp + 0x3c]
mov esi, dword [edx + esi*4 + 0x1eb0]
mov edx, dword [edx + 0x54]
movzx edx, byte [edx + edi]
mov dword [esp + 0xd0], edx
mov ebx, esi
shl ebx, 0xb
mov edx, dword [ebp + 0xc]
lea edi, [edx + ebx]
movzx edx, word [esp + 0x14]
cmp word [eax + edi + 0x9fd2], dx
mov edx, eax
mov dword [esp + 0xe0], edi
mov dword [esp + 0x1c], ecx
jne 0x10068a76
mov eax, edx
mov edx, dword [esp + 0x70]
movsx edx, byte [edx + edi]
cmp dword [esp + 8], edx
mov edx, eax
jne 0x10068a76
mov eax, dword [esp + 0x20]
cmp byte [eax + edi], 0
je 0x10068bc4
mov dword [esp + 0xa8], edx
dec esi
mov eax, dword [ebp + 0xc]
add ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, eax
lea eax, [edx + ebx]
add eax, ecx
add eax, 0x9fc8
mov dword [esp + 0x8c], eax
add ebx, dword [esp + 0x40]
add ebx, ecx
mov eax, dword [esp + 8]
mov ecx, dword [eax*4 + 0x102d7d5c]
movaps xmmword [esp + 0x100], xmm3
call dword [section..00cfg]
push dword [esp + 0x8c]
push ebx
push 0x7f800000
push 0x3f800000
mov ebx, dword [esp + 0x18]
push ebx
push esi
push dword [esp + 0xe8]
push dword [esp + 0x30]
xor eax, eax
push eax
push dword [esp + 0x58]
push eax
mov esi, dword [ebp + 0xc]
push esi
movaps xmmword [esp + 0x100], xmm4
call ecx
mov edx, dword [esp + 0xd8]
movaps xmm4, xmmword [esp + 0x100]
movaps xmm3, xmmword [esp + 0x130]
add esp, 0x30
fstp dword [esp + 0x17c]
movss xmm0, dword [esp + 0x17c]
movss dword [edi + edx + 0x9fc4], xmm0
mov eax, dword [esp + 0x70]
mov byte [eax + edi], bl
mov ecx, edi
mov eax, dword [esp + 0x20]
mov byte [eax + edi], 0
movzx eax, word [esi + 0xa7c0]
mov word [esp + 0x14], ax
mov word [edi + edx + 0x9fd2], ax
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x6c]
mov cl, byte [esi + ecx + 0x14]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xe0]
mov edi, dword [esp + 0x40]
add ebx, dword [edi + eax]
addss xmm4, xmm0
addss xmm3, dword [edx + eax + 0x9fc8]
mov esi, dword [esp + 0x90]
inc esi
mov eax, edx
mov byte [esp + 0x100], cl
movzx edx, cl
mov ecx, 0x100
add edi, ecx
mov dword [esp + 0x40], edi
add dword [esp + 0x20], ecx
add dword [esp + 0x70], ecx
add eax, ecx
mov edi, 0x200
add dword [esp + 0x34], edi
mov ecx, dword [esp + 0x1c]
add ecx, edi
mov dword [esp + 0x90], esi
cmp esi, edx
mov edi, dword [esp + 0x64]
mov esi, dword [ebp + 0x10]
jb 0x10068a10
jmp 0x10068bd9
movss xmm0, dword [edi + edx + 0x9fc4]
mov cl, byte [esp + 0x100]
jmp 0x10068b55
mov edx, dword [esp + 0x3c]
mov ecx, dword [esi + edx*4 + 0x1eb0]
mov edi, dword [esp + 0x10]
jmp 0x10068bf4
xorps xmm4, xmm4
xor ebx, ebx
mov ecx, eax
xorps xmm3, xmm3
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
lea eax, [ecx - 1]
mov dword [esi + edx*4 + 0x1eb0], eax
subss xmm4, xmm0
movss dword [esp + edx*4 + 0xdf0], xmm4
movss dword [esp + edx*4 + 0xbf0], xmm3
cmp dword [esp + 0x38], 0
je 0x10068c6c
cmp ecx, dword [esp + 0x5c]
jle 0x10069034
movss xmm1, dword [esp + edx*4 + 0x9f0]
mulss xmm1, dword [esp + 0x174]
movss xmm0, dword [esp + edx*4 + 0x7f0]
movaps xmm2, xmm0
minss xmm2, xmm1
ucomiss xmm2, xmm4
jbe 0x10068c6c
subss xmm3, dword [esp + edx*4 + 0x5f0]
andps xmm3, xmmword [0x102d7c20]
ucomiss xmm0, xmm3
ja 0x10069034
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, dword [esp + 0x118]
jb 0x10068898
jmp 0x10069034
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x114]
jle 0x10069034
mov ecx, dword [esp + edx*4 + 0x11f0]
cmp edi, ecx
mov dword [esp + 0x170], ecx
cmovl ecx, edi
mov ebx, dword [esp + 0x58]
mov eax, ebx
cmp ebx, ecx
jge 0x10069034
movss xmm0, dword [esp + edx*4 + 0x7f0]
movss xmm1, dword [esp + edx*4 + 0x9f0]
minss xmm1, xmm0
movss dword [esp + 0x120], xmm1
ucomiss xmm1, dword [esp + edx*4 + 0xdf0]
mov eax, dword [esp + 0x58]
jbe 0x10069034
movss xmm1, dword [esp + edx*4 + 0xbf0]
subss xmm1, dword [esp + edx*4 + 0x5f0]
andps xmm1, xmmword [0x102d7c20]
ucomiss xmm0, xmm1
mov eax, dword [esp + 0x58]
jbe 0x10069034
mov eax, dword [esp + 0xbc]
lea eax, [eax*4 + 0x97c0]
mov dword [esp + 0x16c], eax
xor ecx, ecx
mov eax, dword [esp + 0x58]
cmp eax, edi
jge 0x10069034
mov dword [esp + 0x38], ecx
mov ecx, 0x12f
sub ecx, eax
movss xmm0, dword [ecx*4 + 0x103f5bd8]
mulss xmm0, dword [esp + 0x60]
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
mov dword [esp + 8], 0xb
cmp ecx, 0xd
ja 0x10068d7d
test ecx, ecx
je 0x10069021
movzx eax, byte [ecx + 0x102d7ea4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov al, byte [esi + eax + 0x14]
test al, al
je 0x10068fbd
mov byte [esp + 0x14], al
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + 0xa7c0]
mov word [esp + 0xd0], ax
xor ebx, ebx
xorps xmm1, xmm1
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x140]
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x68]
xorps xmm2, xmm2
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x40], ecx
mov ecx, eax
mov dword [esp + 0x90], 0
mov edi, dword [esp + 0x64]
mov dword [esp + 0xc], ebx
mov edx, esi
mov esi, dword [esp + 0x3c]
mov esi, dword [edx + esi*4 + 0x1eb0]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + edi]
mov dword [esp + 0x100], eax
mov ebx, esi
shl ebx, 0xb
mov edx, dword [ebp + 0xc]
lea edi, [edx + ebx]
mov edx, ecx
movzx eax, word [esp + 0xd0]
cmp word [ecx + edi + 0xafd2], ax
mov dword [esp + 0xe0], edi
jne 0x10068e58
mov eax, dword [esp + 0x70]
movsx edx, byte [eax + edi]
cmp dword [esp + 8], edx
jne 0x10068e58
mov eax, dword [esp + 0x20]
cmp byte [eax + edi], 0
je 0x10068fae
inc esi
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x34]
add eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ecx
lea eax, [ecx + ebx]
add eax, edx
add eax, 0xafc8
mov dword [esp + 0xd0], eax
add ebx, dword [esp + 0x40]
add ebx, edx
mov eax, dword [esp + 8]
mov ecx, dword [eax*4 + 0x102d7d5c]
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0x8c], xmm2
call dword [section..00cfg]
push dword [esp + 0xd0]
push ebx
push 0x7f800000
push 0x3f800000
mov ebx, dword [esp + 0x18]
push ebx
push esi
push dword [esp + 0x118]
push dword [esp + 0x30]
xor eax, eax
push eax
push dword [esp + 0x40]
push eax
push dword [ebp + 0xc]
call ecx
mov ecx, dword [esp + 0x60]
movss xmm2, dword [esp + 0xbc]
movss xmm1, dword [esp + 0xd8]
add esp, 0x30
fstp dword [esp + 0x180]
movss xmm0, dword [esp + 0x180]
movss dword [edi + ecx + 0xafc4], xmm0
mov eax, dword [esp + 0x70]
mov byte [eax + edi], bl
mov esi, edi
mov edi, dword [esp + 0x20]
mov byte [edi + esi], 0
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 0xa7c0]
mov word [esp + 0xd0], ax
mov word [esi + ecx + 0xafd2], ax
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x6c]
mov al, byte [esi + eax + 0x14]
mov byte [esp + 0x14], al
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x40]
add ebx, dword [edx + eax]
addss xmm2, xmm0
addss xmm1, dword [ecx + eax + 0xafc8]
mov eax, dword [esp + 0x90]
inc eax
movzx esi, byte [esp + 0x14]
mov dword [esp + 0xc], esi
mov esi, 0x100
add edx, esi
mov dword [esp + 0x40], edx
add edi, esi
mov dword [esp + 0x20], edi
add dword [esp + 0x70], esi
add ecx, esi
mov edi, 0x200
add dword [esp + 0x1c], edi
add dword [esp + 0x34], edi
mov dword [esp + 0x90], eax
cmp eax, dword [esp + 0xc]
mov edi, dword [esp + 0x64]
mov esi, dword [ebp + 0x10]
jb 0x10068df7
jmp 0x10068fc5
movss xmm0, dword [edi + ecx + 0xafc4]
mov edi, dword [esp + 0x20]
jmp 0x10068f40
xorps xmm2, xmm2
xor ebx, ebx
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
subss xmm2, xmm0
movss xmm0, dword [esp + 0x120]
ucomiss xmm0, xmm2
mov edx, dword [esp + 0x3c]
mov eax, dword [esi + edx*4 + 0x1eb0]
jbe 0x1006901b
inc eax
mov dword [esi + edx*4 + 0x1eb0], eax
movss dword [esp + edx*4 + 0xdf0], xmm2
movss dword [esp + edx*4 + 0xbf0], xmm1
mov ecx, dword [esp + 0x38]
inc ecx
cmp ecx, dword [esp + 0x13c]
mov edi, dword [esp + 0x10]
jne 0x10068d2f
jmp 0x10069034
mov edi, dword [esp + 0x10]
jmp 0x10069034
mov ecx, dword [esp + 0x170]
cmp eax, ecx
cmovl ecx, eax
mov dword [esp + edx*4 + 0x11f0], ecx
cmp eax, edi
cmovl edi, eax
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
cmovl edi, ecx
mov dword [esi + edx*4 + 0x1eb0], edi
cmp edi, dword [esp + 0x58]
mov eax, 1
mov ecx, dword [esp + 0xb8]
cmovne ecx, eax
mov dword [esp + 0xb8], ecx
mov eax, 0x130
mov dword [esp + 0x10], edi
sub eax, edi
movss xmm0, dword [esp + 0x60]
mulss xmm0, dword [eax*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
mov eax, 0xb
cmp ecx, 0xd
ja 0x1006909a
movzx eax, byte [ecx + 0x102d7ea4]
mov dword [esi + edx*4 + 0x16f0], eax
mov edi, dword [esi + 0x58]
movss xmm1, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + 0x54]
mov edx, dword [esp + 0x64]
movzx ecx, byte [ecx + edx]
add dword [esp + 0xbc], ecx
inc edx
add dword [esp + 0x138], 0x10
add dword [esp + 0x134], 0x10
add dword [esp + 0x130], 0x10
add eax, 0x10
add dword [esp + 0xb0], 0x10
add dword [esp + 0xac], 0x10
add dword [esp + 0xcc], 0x10
mov ebx, edi
cmp edx, edi
mov edi, dword [esp + 0x10]
jl 0x10068777
mov edx, dword [esi + 0x5c]
jmp 0x1006910b
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x6c]
movzx ecx, byte [esi + edi + 0x14]
add edi, ecx
mov dword [esp + 0x6c], edi
cmp edi, edx
mov edi, dword [esp + 0x10]
jl 0x100686fe
xor ecx, ecx
test edx, edx
setg al
jle 0x10069256
mov dword [esp + 0xc], eax
mov edi, dword [esi + 0x58]
xor esi, esi
dec esi
test edi, edi
mov dword [esp + 0x20], ecx
jle 0x1006922d
mov ebx, ecx
shl ebx, 4
mov eax, ecx
shl eax, 6
mov ecx, dword [esp + 0x12c]
add ecx, eax
mov dword [esp + 0x40], ecx
add eax, esp
add eax, 0x3f0
mov dword [esp + 8], eax
add ebx, dword [esp + 0xc8]
xor ecx, ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x70], ebx
cmp byte [ebx + ecx], 0
jne 0x10069224
mov ebx, edi
mov edi, dword [esp + 0x40]
mov eax, dword [edi + ecx*4]
test esi, esi
cmovs esi, eax
mov edx, esi
add esi, 0x3c
add edx, 0xffffffc4
cmp eax, esi
cmovl esi, eax
cmp eax, edx
cmovl esi, edx
mov dword [edi + ecx*4], esi
mov edx, dword [esp + 8]
movss xmm0, dword [edx + ecx*4]
mov edx, 0x130
sub edx, esi
mulss xmm0, dword [edx*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si edi, xmm0
mov edx, 0xb
cmp edi, 0xd
ja 0x100691e2
movzx edx, byte [edi + 0x102d7ea4]
mov edi, dword [esp + 0x40]
mov dword [edi + ecx*4 - 0x7c0], edx
cmp dword [esp + 0xb8], 0
mov edi, ebx
je 0x10069205
xor eax, eax
inc eax
mov dword [esp + 0xb8], eax
jmp 0x10069213
xor edx, edx
cmp eax, esi
setne dl
mov dword [esp + 0xb8], edx
movss xmm1, dword [esp + 0x2c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x70]
inc ecx
cmp edi, ecx
jne 0x1006917f
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x20]
movzx eax, byte [eax + ecx + 0x14]
add ecx, eax
cmp ecx, edx
jl 0x1006913d
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x10069258
xor ecx, ecx
movss xmm1, dword [esp + 0x2c]
jmp 0x10069258
xor ecx, ecx
cmp dword [esp + 0xb8], 0
mov eax, dword [esp + 0xc0]
je 0x10069277
inc eax
cmp eax, dword [esp + 0x11c]
jb 0x1006770c
xor eax, eax
mov byte [esp + eax + 0x13f0], al
inc eax
cmp eax, 0x80
jne 0x10069279
test cl, cl
je 0x10069488
mov dword [esp + 0xc], ecx
mov eax, dword [esi + 0x58]
lea ecx, [esi + 0x16f0]
mov dword [esp + 0xe0], ecx
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x90], edx
test eax, eax
mov dword [esp + 0x70], ebx
jle 0x100692fc
mov esi, ebx
shl esi, 4
mov edx, ebx
and edx, 0xf
shl edx, 4
mov dword [esp + 0x40], edx
shl ebx, 6
add ebx, dword [esp + 0xe0]
add esi, dword [esp + 0xc8]
xor edx, edx
cmp byte [esi + edx], 0
jne 0x100692f7
cmp dword [ebx + edx*4], 0xb
jg 0x100692f7
movzx edi, cl
mov ecx, dword [esp + 0x40]
add ecx, edx
mov byte [esp + edi + 0x13f0], cl
inc edx
cmp eax, edx
jne 0x100692db
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x70]
mov edx, ecx
movzx ecx, byte [esi + ebx + 0x14]
add ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x90]
cmp ebx, edx
jl 0x100692af
movzx eax, cl
mov byte [esp + eax + 0x13f0], cl
cmp byte [esp + 0xc], 0
je 0x10069488
mov eax, dword [esi + 0x58]
xor ecx, ecx
dec ecx
xor edx, edx
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x20], edx
jle 0x10069468
mov edi, edx
shl edi, 4
mov eax, ecx
mov ecx, edx
shl ecx, 6
mov edx, dword [esp + 0xe0]
lea ebx, [edx + ecx]
lea edx, [esp + edi]
add edx, 0x13f0
mov dword [esp + 0xc], edx
lea ecx, [esp + ecx + 0x3f0]
mov dword [esp + 0x70], ecx
mov ecx, eax
mov eax, dword [esp + 0x40]
add edi, dword [esp + 0xc8]
xor edx, edx
cmp byte [edi + edx], 0
je 0x10069395
mov dword [ebx + edx*4], 0
jmp 0x10069437
mov eax, ecx
mov ecx, dword [esp + 0x70]
movss xmm0, dword [ecx + edx*4]
mov ecx, 0x130
sub ecx, dword [ebx + edx*4 + 0x7c0]
mulss xmm0, dword [ecx*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
cmp ecx, 0xe
jb 0x100693d5
mov dword [ebx + edx*4], 0xb
mov ecx, eax
mov eax, dword [esp + 0x40]
jmp 0x10069437
movzx esi, byte [ecx + 0x102d7ea4]
mov dword [ebx + edx*4], esi
mov esi, dword [ebp + 0x10]
test ecx, ecx
mov ecx, eax
mov eax, dword [esp + 0x40]
jne 0x10069437
test ecx, ecx
mov dword [esp + 8], ecx
js 0x1006942c
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + edx]
mov ecx, dword [esi + ecx*4 + 0x1eb0]
mov esi, dword [esp + 8]
add esi, 0xffffffc4
cmp ecx, esi
mov esi, dword [ebp + 0x10]
jl 0x1006942c
mov esi, dword [esp + 8]
add esi, 0x3c
cmp ecx, esi
mov esi, dword [ebp + 0x10]
jg 0x1006942c
mov byte [edi + edx], 1
mov dword [ebx + edx*4], 0
jmp 0x10069433
mov dword [ebx + edx*4], 1
mov ecx, dword [esp + 8]
cmp byte [edi + edx], 0
jne 0x1006945f
cmp ecx, 0xffffffff
jne 0x10069458
cmp byte [esi + 0x20b0], 0
je 0x10069458
mov ecx, dword [ebx + edx*4 + 0x7c0]
mov dword [esi + 0x1eb0], ecx
mov ecx, dword [ebx + edx*4 + 0x7c0]
inc edx
cmp eax, edx
jne 0x10069383
mov edx, dword [esp + 0x20]
mov eax, ecx
movzx ecx, byte [esi + edx + 0x14]
add edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x40]
cmp edx, dword [esp + 0x90]
jl 0x1006933a
mov ecx, dword [esp + 0x14f8]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 4
movss dword [esp], xmm0
movss dword [esp + 0xc], xmm0
call fcn.1014573b
fstp st(0)
movss xmm4, dword [0x102d7cdc]
movss xmm0, dword [esp + 0xc]
movss xmm3, dword [ebp + 0x14]
add esp, 4
jmp 0x100661e9
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x5890
call fcn.101308a0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov esi, 0xff
lea eax, [ebp - 0x5470]
push 0x5460
push esi
push eax
call fcn.10132b90
add esp, 0xc
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x5880], eax
cmp eax, 1
mov eax, 0
sete al
mov dword [ebp - 0x5838], eax
lea ecx, [eax + eax]
add ecx, 3
xor eax, eax
dec eax
mov dword [ebp - 0x583c], ecx
shl eax, cl
mov dword [ebp - 0x5844], eax
movzx eax, byte [edi]
mov dword [ebp - 0x5854], eax
mov edi, 0x1e0
lea eax, [ebp - 0x5650]
push edi
push esi
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [ebp - 0x5830]
push edi
mov edi, dword [ebp + 0xc]
push esi
push eax
call fcn.10132b90
add esp, 0xc
mov ecx, dword [ebx + 0x8a7c4]
lea esi, [edi + 0x35c0]
add ebx, 0x97c0
call dword [section..00cfg]
push 0x400
mov dword [ebp - 0x5888], esi
push esi
mov dword [ebp - 0x5884], ebx
push ebx
call ecx
add esp, 0xc
mov eax, dword [ebp - 0x5838]
add eax, eax
add eax, 7
cvtsi2ss xmm0, eax
mov eax, 8
movss dword [ebp + eax - 0x5474], xmm0
mov dword [ebp + eax - 0x5478], 0xffffffff
mov dword [ebp + eax - 0x5470], 0
add eax, 0xc
cmp eax, 0xbc
jne 0x100695b2
cmp dword [ebp - 0x5854], 0
mov eax, dword [ebp - 0x583c]
mov esi, dword [ebp - 0x5844]
je 0x10069e7d
not esi
mov ecx, dword [ebp + 0x10]
mov edx, ecx
shl edx, 7
mov dword [ebp - 0x5878], edx
shl ecx, 4
mov dword [ebp - 0x5874], ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss dword [ebp - 0x585c], xmm0
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x5838], eax
lea eax, [ebp - 0x53b4]
movss xmm3, dword [0x102d7c60]
mov dword [ebp - 0x5868], 0
xor ecx, ecx
mov dword [ebp - 0x5844], esi
mov dword [ebp - 0x5864], eax
mov eax, dword [ebp - 0x5874]
add eax, ecx
cmp byte [edi + eax + 0x20b0], 0
mov dword [ebp - 0x5858], ecx
je 0x10069798
imul ecx, ecx, 0xb4
addss xmm3, dword [ebp - 0x585c]
addss xmm3, dword [0x102c44f4]
xor edx, edx
mov eax, edi
cmp dword [edi + 0x5c], 8
sete dl
mov esi, dword [edx*4 + 0x102d7ed4]
mov edi, dword [ebp + ecx - 0x5468]
mov bl, byte [esi + edi]
lea edx, [edi + 1]
movss xmm0, dword [0x102d7c64]
cmp bl, byte [esi + edi + 1]
je 0x100696b2
movss xmm0, dword [ebp - 0x585c]
addss xmm0, dword [ebp + ecx - 0x546c]
xor edi, edi
ucomiss xmm0, xmm3
mov esi, dword [ebp - 0x5868]
cmovbe esi, edi
mov dword [ebp + ecx - 0x53bc], esi
minss xmm3, xmm0
mov esi, 1
cmova edx, esi
movss dword [ebp + ecx - 0x53b8], xmm3
mov dword [ebp + ecx - 0x53b4], edx
movaps xmm0, xmmword [0x102d7d10]
movups xmmword [ebp + ecx - 0x53b0], xmm0
mov esi, 0x47700a00
mov dword [ebp + ecx - 0x53a0], esi
movaps xmm1, xmmword [0x102d7d20]
movups xmmword [ebp + ecx - 0x539c], xmm1
mov dword [ebp + ecx - 0x5388], esi
mov edx, 0xffffffff
mov dword [ebp + ecx - 0x538c], edx
movups xmmword [ebp + ecx - 0x5384], xmm1
movups xmmword [ebp + ecx - 0x5374], xmm0
movaps xmm2, xmmword [0x102d7d30]
movups xmmword [ebp + ecx - 0x5364], xmm2
movups xmmword [ebp + ecx - 0x5354], xmm1
movups xmmword [ebp + ecx - 0x5344], xmm0
movups xmmword [ebp + ecx - 0x5334], xmm2
movups xmmword [ebp + ecx - 0x5324], xmm1
mov dword [ebp + ecx - 0x5310], esi
mov dword [ebp + ecx - 0x5314], edx
xor edx, edx
mov dword [ebp + ecx - 0x530c], edx
mov esi, dword [ebp - 0x5844]
mov edi, eax
mov eax, dword [ebp - 0x5864]
mov ebx, dword [ebp - 0x5838]
jmp 0x10069a87
mov edx, dword [ebp - 0x5838]
movzx ecx, byte [edx + ecx]
mov dword [ebp - 0x5840], ecx
mov dword [ebp - 0x584c], eax
mov eax, dword [edi + eax*4 + 0x16f0]
movzx ecx, byte [eax + 0x102d7ec1]
mov dword [ebp - 0x5848], ecx
test eax, eax
mov edx, dword [ebp - 0x5864]
je 0x10069808
cmp eax, 0xc
je 0x10069808
mov ecx, dword [ebp - 0x5848]
cmp ecx, 2
mov eax, 1
cmovae eax, ecx
shl eax, 2
lea eax, [eax + eax*2]
xor ecx, ecx
mov dword [edx + ecx - 4], 0x47700a00
mov dword [edx + ecx - 8], 0xffffffff
mov dword [edx + ecx], 0
add ecx, 0xc
cmp eax, ecx
jne 0x100697ea
mov eax, dword [ebp - 0x5858]
inc eax
mov dword [ebp - 0x587c], eax
mov edx, dword [ebp - 0x5848]
cmp edx, 0xf
mov eax, 0xe
cmovae eax, edx
mov dword [ebp - 0x5898], eax
mov eax, dword [ebp - 0x5888]
mov ecx, dword [ebp - 0x5878]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x5890], eax
mov eax, dword [ebp - 0x5884]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x588c], eax
mov ecx, edx
xor edx, edx
movss xmm0, dword [0x102d7c60]
movss dword [ebp - 0x5894], xmm3
cmp ecx, 0xc
jb 0x10069889
mov ebx, esi
movzx eax, byte [ecx + 0x102d7eb2]
mov esi, ecx
mov ecx, dword [ebp - 0x584c]
cmp dword [edi + ecx*4 + 0x16f0], eax
mov ecx, esi
jne 0x10069a3a
mov esi, dword [ebp + 0x14]
test esi, esi
mov dword [ebp - 0x586c], edx
mov dword [ebp - 0x5848], ecx
movss dword [ebp - 0x589c], xmm0
jle 0x1006995e
movzx eax, byte [ecx + 0x102d7eb2]
mov dword [ebp - 0x5870], eax
mov eax, dword [eax*4 + 0x102d7d5c]
mov dword [ebp - 0x5860], eax
xorps xmm2, xmm2
mov edi, dword [ebp - 0x588c]
mov ebx, dword [ebp - 0x5890]
movss dword [ebp - 0x5838], xmm2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x584c]
mov eax, dword [eax + ecx*4 + 0x1eb0]
mov dword [ebp - 0x5850], eax
mov dword [ebp - 0x5834], 0xffffffff
mov ecx, dword [ebp - 0x5860]
call dword [section..00cfg]
xor eax, eax
push eax
lea edx, [ebp - 0x5834]
push edx
push 0x7f800000
push eax
push dword [ebp - 0x5870]
push dword [ebp - 0x5850]
push dword [ebp - 0x5840]
push edi
push eax
push ebx
push eax
push dword [ebp + 8]
call ecx
fstp st(0)
movss xmm2, dword [ebp - 0x5838]
add esp, 0x30
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebp - 0x5834]
addss xmm2, xmm0
mov eax, 0x200
add ebx, eax
add edi, eax
dec esi
jne 0x100698d1
jmp 0x10069961
xorps xmm2, xmm2
mov eax, dword [ebp - 0x5848]
lea eax, [eax*4]
lea eax, [eax + eax*2]
imul ecx, dword [ebp - 0x5858], 0xb4
add ecx, ebp
add ecx, 0xffffab90
movss xmm0, dword [ebp - 0x5894]
addss xmm0, xmm2
addss xmm2, dword [ecx + eax + 4]
addss xmm0, dword [ebp - 0x585c]
addss xmm0, dword [0x102c44f4]
xor edx, edx
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0x5c], 8
sete dl
mov edx, dword [edx*4 + 0x102d7ed4]
mov esi, dword [ecx + eax + 8]
mov bl, byte [edx + esi]
lea ecx, [esi + 1]
movss xmm1, dword [0x102d7c64]
cmp bl, byte [edx + esi + 1]
je 0x100699d8
movss xmm1, dword [ebp - 0x585c]
addss xmm2, xmm1
imul edx, dword [ebp - 0x587c], 0xb4
ucomiss xmm2, xmm0
mov ebx, dword [ebp - 0x5848]
mov esi, ebx
cmova esi, dword [ebp - 0x5868]
lea edx, [ebp + edx - 0x5470]
mov dword [edx + eax], esi
minss xmm0, xmm2
mov esi, 1
cmova ecx, esi
movss dword [edx + eax + 4], xmm0
mov dword [edx + eax + 8], ecx
mov ecx, ebx
movss xmm1, dword [ebp - 0x589c]
ucomiss xmm1, xmm0
minss xmm0, xmm1
mov edx, dword [ebp - 0x586c]
cmova edx, ebx
mov esi, dword [ebp - 0x5844]
jmp 0x10069a6a
lea eax, [ecx + ecx*2]
imul ecx, dword [ebp - 0x587c], 0xb4
add ecx, ebp
add ecx, 0xffffab90
mov dword [ecx + eax*4 + 4], 0x47700a00
mov dword [ecx + eax*4], 0xffffffff
mov dword [ecx + eax*4 + 8], 0
mov ecx, esi
mov esi, ebx
lea eax, [ecx + 1]
cmp ecx, dword [ebp - 0x5898]
mov ecx, eax
jne 0x10069864
mov ebx, dword [edi + 0x54]
movaps xmm3, xmm0
mov eax, dword [ebp - 0x5864]
mov ecx, dword [ebp - 0x5858]
mov dword [ebp - 0x5838], ebx
movzx ecx, byte [ebx + ecx]
add dword [ebp - 0x5878], ecx
mov ecx, dword [ebp - 0x5858]
inc ecx
add eax, 0xb4
mov dword [ebp - 0x5868], edx
mov ebx, dword [ebp - 0x5854]
cmp ecx, ebx
jne 0x10069645
test bl, bl
je 0x10069e7d
imul eax, ebx, 0xb4
add eax, ebp
add eax, 0xffffab90
movss xmm0, dword [eax + 4]
xor ecx, ecx
ucomiss xmm0, dword [eax + 0x10]
seta cl
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x1c]
mov edx, 2
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x28]
mov ecx, 3
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x34]
mov edx, 4
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x40]
mov ecx, 5
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x4c]
mov edx, 6
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x58]
mov ecx, 7
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x64]
mov edx, 8
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x70]
mov ecx, 9
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x7c]
mov edx, 0xa
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0x88]
mov ecx, 0xb
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0x94]
mov edx, 0xc
cmovbe edx, ecx
lea ecx, [edx + edx*2]
movss xmm0, dword [eax + ecx*4 + 4]
ucomiss xmm0, dword [eax + 0xa0]
mov ecx, 0xd
cmovbe ecx, edx
lea edx, [ecx + ecx*2]
movss xmm0, dword [eax + edx*4 + 4]
ucomiss xmm0, dword [eax + 0xac]
mov eax, 0xe
cmovbe eax, ecx
xor ebx, ebx
lea ecx, [eax*4]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x5838], ecx
mov dword [ebp + ebx*4 - 0x5830], eax
mov edx, dword [ebp - 0x5854]
imul eax, edx, 0xb4
add eax, ebp
add eax, 0xffffab90
mov eax, dword [eax + ecx + 8]
mov dword [ebp + ebx*4 - 0x5650], eax
sub edx, eax
imul eax, edx, 0xb4
lea ecx, [ebp - 0x5470]
add eax, ecx
mov ecx, dword [ebp - 0x5838]
mov eax, dword [eax + ecx + 0xb4]
inc ebx
mov dword [ebp - 0x5854], edx
test edx, edx
jg 0x10069bff
xor eax, eax
cmp dword [ebp - 0x5880], 1
setne al
mov ecx, dword [ebp - 0x5874]
lea ecx, [edi + ecx + 0x20b0]
mov dword [ebp - 0x5848], ecx
lea eax, [eax + eax + 0x1b]
mov dword [ebp - 0x5838], eax
mov eax, dword [ebp + 8]
mov edx, edi
mov edi, dword [eax + 0x24]
mov ecx, dword [ebp + 0x10]
shl ecx, 6
add ecx, edx
add ecx, 0x16f0
mov dword [ebp - 0x586c], ecx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x5850], 0
lea ecx, [ebx - 1]
mov dword [ebp - 0x5860], ebx
mov ebx, dword [ebp + ebx*4 - 0x5834]
mov dword [ebp - 0x5870], ebx
movzx ebx, byte [ebx + 0x102d7eb2]
cmp edx, 5
mov dword [ebp - 0x584c], ecx
jl 0x10069ce7
shl edi, 4
or edi, ebx
mov dword [ebp - 0x5840], 0xfffffffc
jmp 0x10069d2f
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x5840], ecx
mov ecx, dword [eax + 0x34]
sub ecx, dword [ebp - 0x5840]
cmp ecx, 4
jb 0x10069d1d
mov ecx, edx
shl edi, cl
mov cl, 4
sub cl, dl
mov eax, ebx
shr eax, cl
or eax, edi
bswap eax
mov ecx, dword [ebp - 0x5840]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
add dword [eax + 0x30], 4
mov edi, ebx
mov ecx, dword [ebp - 0x584c]
mov dword [ebp - 0x5840], 0x1c
add edx, dword [ebp - 0x5840]
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], edx
mov edi, dword [ebp + ecx*4 - 0x5650]
xor eax, eax
cmp dword [ebp - 0x5870], 0
mov ecx, dword [ebp - 0x5848]
mov edx, dword [ebp - 0x5850]
lea ecx, [ecx + edx]
sete al
push edi
push eax
push ecx
call fcn.10132b90
add esp, 0xc
test edi, edi
jle 0x10069d92
mov eax, dword [ebp - 0x586c]
mov edx, dword [ebp - 0x5850]
lea eax, [eax + edx*4]
add edx, edi
xor ecx, ecx
mov dword [eax + ecx*4], ebx
inc ecx
cmp edi, ecx
jne 0x10069d7f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x583c]
jmp 0x10069da1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x583c]
mov edx, dword [ebp - 0x5850]
mov dword [ebp - 0x5850], edx
mov ebx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov edx, eax
cmp edi, esi
jl 0x10069e14
sub edx, ecx
jle 0x10069dcb
mov ecx, dword [ebp - 0x583c]
shl ebx, cl
mov ecx, dword [ebp - 0x583c]
or ebx, esi
mov eax, edx
jmp 0x10069e10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
sub ecx, edx
cmp ecx, 4
jb 0x10069e02
mov ecx, eax
shl ebx, cl
mov ecx, dword [ebp - 0x583c]
sub ecx, eax
mov esi, dword [ebp - 0x5844]
shr esi, cl
or esi, ebx
bswap esi
mov dword [edx], esi
mov esi, dword [ebp - 0x5844]
mov ecx, dword [ebp + 8]
add dword [ecx + 0x30], 4
add eax, dword [ebp - 0x5838]
mov ebx, esi
mov ecx, dword [ebp - 0x583c]
sub edi, esi
jmp 0x10069dad
sub edx, ecx
jle 0x10069e24
mov ecx, dword [ebp - 0x583c]
shl ebx, cl
or edi, ebx
jmp 0x10069e5f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
sub ecx, edx
cmp ecx, 4
jb 0x10069e57
mov ecx, eax
shl ebx, cl
mov ecx, dword [ebp - 0x583c]
sub ecx, eax
mov esi, edi
shr esi, cl
or esi, ebx
bswap esi
mov dword [edx], esi
mov esi, dword [ebp - 0x5844]
mov ecx, dword [ebp + 8]
add dword [ecx + 0x30], 4
add eax, dword [ebp - 0x5838]
mov edx, eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x5860]
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], edx
cmp ecx, 1
mov ebx, dword [ebp - 0x584c]
jg 0x10069cae
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10130483
add esp, 0x5890
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x6a8
mov eax, dword [ebp + 8]
mov ecx, dword [0x10305014]
xor ecx, ebp
mov dword [esp + 0x6a0], ecx
fild qword [eax + 0x28]
fstp qword [esp + 0x98]
movsd xmm0, qword [esp + 0x98]
mulsd xmm0, qword [0x102d7c88]
cvtsi2sd xmm1, dword [eax + 0x130]
divsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [eax + 0x314]
movss xmm2, dword [ebp + 0x14]
divsd xmm0, xmm1
divss xmm2, dword [0x102d7c90]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si esi, xmm1
mov edi, 0x200
xor ebx, ebx
lea eax, [esp + 0x4a0]
push edi
push ebx
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0x2a0]
push edi
mov dword [esp + 0x2c], 0
push ebx
push eax
call fcn.10132b90
add esp, 0xc
lea eax, [esp + 0xa0]
push edi
mov edi, dword [ebp + 0x10]
push 0xff
push eax
call fcn.10132b90
add esp, 0xc
mov eax, 0x16a8
cmp esi, eax
cmovl eax, esi
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x5c]
test eax, eax
jle 0x1006a8e8
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
lea eax, [edi + 0x20b0]
mov dword [esp + 0x38], eax
movss xmm4, dword [0x102d7c60]
movss xmm0, dword [0x102d7d40]
xorpd xmm1, xmm1
mov dword [esp + 4], 0
cmp dword [esp + 0x14], 0
jle 0x1006a0b0
mov ecx, dword [esp + 4]
mov edx, ecx
shl edx, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
add edx, eax
shl ecx, 8
or ecx, 8
xor esi, esi
mov eax, dword [esp + 4]
mov al, byte [edi + eax + 0x14]
mov byte [esp + 0x10], al
test al, al
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x18], esi
je 0x1006a055
xor edi, edi
xorps xmm2, xmm2
mov eax, edx
xor esi, esi
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x95f0]
mov ebx, edx
shl ebx, 0xb
lea ebx, [ebx + edx*4]
mov edx, dword [ebp + 0xc]
add ebx, dword [edx + 0x95bc]
movss xmm3, dword [ecx + ebx]
ucomiss xmm3, xmm1
jne 0x1006a01a
jnp 0x1006a026
ucomiss xmm3, dword [ecx + ebx - 4]
mov ebx, 1
jb 0x1006a03a
mov byte [eax], 1
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 4]
mov dl, byte [edx + ebx + 0x14]
mov byte [esp + 0x10], dl
mov ebx, edi
addss xmm2, xmm3
inc esi
movzx edx, byte [esp + 0x10]
add eax, 0x10
add ecx, 0x100
mov edi, ebx
cmp esi, edx
jb 0x10069ff4
jmp 0x1006a05a
xorps xmm2, xmm2
xor ebx, ebx
movaps xmm3, xmm2
mulss xmm3, xmm0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
add eax, esi
movss dword [esp + eax*4 + 0x2a0], xmm3
mov edi, dword [ebp + 0x10]
mov dword [edi + eax*4 + 0x16f0], 0
test ebx, ebx
sete byte [edi + eax + 0x20b0]
je 0x1006a095
minss xmm2, xmm4
movaps xmm4, xmm2
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
or dword [esp + 0x28], ebx
inc esi
inc edx
add ecx, 0x10
cmp esi, dword [esp + 0x14]
jne 0x10069fcf
mov ecx, dword [esp + 4]
movzx eax, byte [edi + ecx + 0x14]
add ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], ecx
cmp ecx, eax
jl 0x10069fa9
test eax, eax
jle 0x1006a1e9
mov eax, dword [edi + 0x58]
lea ecx, [edi + 0x1eb0]
mov dword [esp + 8], ecx
xor esi, esi
test eax, eax
jle 0x1006a1d2
mov ebx, esi
shl ebx, 4
mov dword [esp + 0xc], esi
mov ecx, esi
shl ecx, 6
mov edx, dword [esp + 8]
lea edi, [edx + ecx]
add ecx, esp
add ecx, 0x2a0
mov dword [esp + 4], ecx
add ebx, dword [esp + 0x38]
xor esi, esi
movss dword [esp + 0x18], xmm4
cmp byte [ebx + esi], 0
je 0x1006a129
mov dword [edi + esi*4], 0x8c
jmp 0x1006a1bd
mov eax, dword [esp + 4]
movss xmm0, dword [eax + esi*4]
divss xmm0, xmm4
sub esp, 4
movss dword [esp + 0x14], xmm0
movss dword [esp], xmm0
call fcn.1014573b
add esp, 4
fstp dword [esp + 0x8c]
movss xmm0, dword [esp + 0x8c]
mulss xmm0, dword [0x102c44f4]
movss xmm1, dword [0x102d7d44]
ucomiss xmm0, xmm1
movaps xmm0, xmm1
ja 0x1006a1a2
sub esp, 4
movss xmm0, dword [esp + 0x14]
movss dword [esp], xmm0
call fcn.1014573b
add esp, 4
fstp dword [esp + 0x88]
movss xmm0, dword [esp + 0x88]
mulss xmm0, dword [0x102c44f4]
addss xmm0, dword [0x102d7c34]
cvttss2si eax, xmm0
mov dword [edi + esi*4], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x58]
movss xmm4, dword [esp + 0x18]
inc esi
cmp esi, eax
jl 0x1006a117
mov edi, dword [ebp + 0x10]
mov edx, dword [edi + 0x5c]
mov esi, dword [esp + 0xc]
jmp 0x1006a1d6
mov edx, dword [esp + 0x24]
movzx ecx, byte [edi + esi + 0x14]
add esi, ecx
mov dword [esp + 0x24], edx
cmp esi, edx
jl 0x1006a0e2
cmp dword [esp + 0x28], 0
je 0x1006a8e8
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x8a7c4]
lea ebx, [edi + 0x35c0]
add esi, 0x97c0
call dword [section..00cfg]
push 0x400
mov dword [esp + 0x74], ebx
push ebx
mov dword [esp + 0x10], esi
push esi
call ecx
add esp, 0xc
push dword [ebp + 0xc]
call fcn.1006cf10
add esp, 4
mov ebx, dword [edi + 0x5c]
test ebx, ebx
jle 0x1006a2e3
mov eax, dword [edi + 0x58]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp + 0x1c], ebx
cmp dword [esp + 4], 0
jle 0x1006a2d1
mov edx, eax
shl edx, 7
mov ecx, dword [edi + 0x54]
mov dword [esp + 0x18], ecx
movzx edi, byte [edi + eax + 0x14]
mov dword [esp + 0x14], eax
shl eax, 4
mov dword [esp + 0xc], eax
xor esi, esi
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + esi]
test edi, edi
mov dword [esp + 0x10], edx
je 0x1006a2a8
mov eax, dword [esp + 8]
lea ebx, [eax + edx*4]
xorps xmm0, xmm0
xor edx, edx
test cl, cl
je 0x1006a29b
xor eax, eax
maxss xmm0, dword [ebx + eax*4]
inc eax
cmp ecx, eax
jne 0x1006a291
inc edx
add ebx, 0x200
cmp edx, edi
jne 0x1006a28b
jmp 0x1006a2ab
xorps xmm0, xmm0
mov eax, dword [esp + 0xc]
add eax, esi
movss dword [esp + eax*4 + 0xa0], xmm0
mov edx, dword [esp + 0x10]
add edx, ecx
inc esi
cmp esi, dword [esp + 4]
jne 0x1006a26f
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
jmp 0x1006a2d6
movzx edi, byte [edi + eax + 0x14]
add eax, edi
cmp eax, ebx
mov edi, dword [ebp + 0x10]
jl 0x1006a246
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x50]
mulsd xmm0, qword [0x102d7d48]
movsd qword [esp + 0x90], xmm0
lea eax, [edi + 0x1eb0]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x44], 0
mov edx, dword [edi + 0x1eb0]
cmp dword [esp + 0x44], 0
mov ecx, 1
mov eax, 0x20
cmove ecx, eax
mov dword [esp + 0x2c], ecx
test ebx, ebx
jle 0x1006a6cb
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x20], 0
xor eax, eax
dec eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x34], 0
test ecx, ecx
jle 0x1006a6b2
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x34]
mov esi, eax
shl esi, 7
mov ebx, eax
shl ebx, 4
mov dword [esp + 0x74], ebx
mov ebx, eax
shl ebx, 8
lea eax, [ebx + 0xa7cc]
mov dword [esp + 0x68], eax
lea eax, [ebx + 0xa7d1]
mov dword [esp + 0x64], eax
lea eax, [ebx + 0xa7d0]
mov dword [esp + 0x60], eax
xor edx, edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], edx
add edx, eax
cmp byte [edi + edx + 0x20b0], 0
jne 0x1006a683
mov eax, dword [edi + edx*4 + 0x1eb0]
cmp eax, 0xd9
jg 0x1006a683
mov ecx, edx
mov edx, dword [esp + 0x30]
cmp edx, eax
cmovge edx, eax
mov dword [esp + 0x48], ecx
movss xmm0, dword [esp + ecx*4 + 0xa0]
mov ecx, 0x130
sub ecx, eax
mulss xmm0, dword [ecx*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si eax, xmm0
mov dword [esp + 4], 0xb
cmp eax, 0xd
ja 0x1006a406
movzx eax, byte [eax + 0x102d7ea4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov al, byte [edi + eax + 0x14]
test al, al
mov dword [esp + 0x30], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
je 0x1006a620
mov byte [esp + 0x40], al
mov ecx, dword [esp + 0x70]
lea ecx, [ecx + esi*4]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + 0xa7c0]
mov word [esp + 0x3c], ax
lea ecx, [esi*4 + 0x97c0]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], 0
xorps xmm1, xmm1
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [edi + edx*4 + 0x1eb0]
mov edx, dword [edi + 0x54]
movzx ecx, byte [edx + esi]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov edi, eax
shl edi, 0xb
mov edx, dword [ebp + 0xc]
lea esi, [edx + edi]
mov dword [esp + 0x10], ebx
movzx eax, word [esp + 0x3c]
cmp word [ebx + esi + 0xa7d2], ax
mov dword [esp + 0x28], esi
jne 0x1006a4d5
mov ecx, dword [esp + 0xc]
movsx edx, byte [ecx + esi]
cmp dword [esp + 4], edx
jne 0x1006a4d5
mov ecx, dword [esp + 8]
cmp byte [ecx + esi], 0
je 0x1006a609
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
add eax, edi
add eax, ecx
add eax, 0xa7c8
mov dword [esp + 0x3c], eax
add edi, dword [esp + 0x18]
add edi, ecx
mov ebx, dword [esp + 4]
mov ecx, dword [ebx*4 + 0x102d7d5c]
mov dword [esp + 4], ebx
movss dword [esp + 0x78], xmm1
call dword [section..00cfg]
push dword [esp + 0x3c]
push edi
push 0x7f800000
push 0x3f800000
push ebx
push dword [esp + 0x94]
push dword [esp + 0x94]
push dword [esp + 0x5c]
xor eax, eax
push eax
push dword [esp + 0x48]
push eax
mov edi, dword [ebp + 0xc]
push edi
call ecx
mov ecx, dword [esp + 0x40]
movss xmm1, dword [esp + 0xa8]
add esp, 0x30
fstp dword [esp + 0x84]
movss xmm0, dword [esp + 0x84]
movss dword [esi + ecx + 0xa7c4], xmm0
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov byte [ebx + esi], al
mov edx, esi
mov esi, dword [esp + 8]
mov byte [esi + edx], 0
movzx eax, word [edi + 0xa7c0]
mov word [esp + 0x3c], ax
mov word [edx + ecx + 0xa7d2], ax
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x34]
mov al, byte [edi + eax + 0x14]
mov byte [esp + 0x40], al
addss xmm1, xmm0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
add edx, dword [ecx + eax]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x1c]
inc eax
movzx edx, byte [esp + 0x40]
mov edi, 0x100
add ecx, edi
mov dword [esp + 0x18], ecx
add esi, edi
mov dword [esp + 8], esi
add ebx, edi
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x10]
add ebx, edi
mov esi, 0x200
add dword [esp + 0x24], esi
add dword [esp + 0x38], esi
mov dword [esp + 0x1c], eax
cmp eax, edx
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov edi, dword [ebp + 0x10]
jb 0x1006a47e
jmp 0x1006a62f
mov eax, dword [esp + 0x10]
movss xmm0, dword [esi + eax + 0xa7c4]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
jmp 0x1006a5a5
xorps xmm1, xmm1
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm1, xmm0
movss dword [esp + edx*4 + 0x4a0], xmm1
mov ecx, dword [edi + edx*4 + 0x1eb0]
mov edx, dword [esp + 0x5c]
cmp edx, 0xffffffff
je 0x1006a668
mov esi, ecx
sub ecx, edx
mov edx, esi
movzx ecx, byte [ecx + 0x102e7d84]
add eax, ecx
jmp 0x1006a66a
mov edx, ecx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
add ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x5c], edx
mov eax, dword [edi + 0x54]
mov edx, dword [esp + 0x4c]
movzx eax, byte [eax + edx]
add esi, eax
inc edx
add dword [esp + 0x68], 0x10
add dword [esp + 0x64], 0x10
add dword [esp + 0x60], 0x10
add ebx, 0x10
cmp edx, ecx
jl 0x1006a390
mov ebx, dword [edi + 0x5c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
movzx eax, byte [edi + esi + 0x14]
add esi, eax
mov dword [esp + 0x34], esi
cmp esi, ebx
jl 0x1006a34d
jmp 0x1006a6d3
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x50]
jle 0x1006a70f
mov esi, edx
mov eax, 0xda
sub eax, dword [esp + 0x2c]
xor ecx, ecx
mov edx, dword [edi + ecx*4 + 0x1eb0]
cmp edx, eax
jge 0x1006a704
add edx, dword [esp + 0x2c]
mov dword [edi + ecx*4 + 0x1eb0], edx
inc ecx
cmp ecx, 0x80
jne 0x1006a6ee
jmp 0x1006a73b
mov esi, edx
mov eax, 0x3c
sub eax, dword [esp + 0x2c]
xor ecx, ecx
mov edx, dword [edi + ecx*4 + 0x1eb0]
cmp edx, eax
jle 0x1006a732
sub edx, dword [esp + 0x2c]
mov dword [edi + ecx*4 + 0x1eb0], edx
inc ecx
cmp ecx, 0x80
jne 0x1006a71c
mov ecx, dword [esp + 0x2c]
cmp ecx, 1
ja 0x1006a76f
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x20]
ucomisd xmm0, qword [esp + 0x90]
mov edx, esi
mov ebx, dword [esp + 0x1c]
jbe 0x1006a77f
xor ecx, ecx
cmp dword [edi + 0x1eb0], 0xd9
setl cl
jmp 0x1006a777
sar ecx, 1
mov edx, esi
mov ebx, dword [esp + 0x1c]
test ecx, ecx
jne 0x1006a327
mov eax, 0xc3
cmp edx, eax
cmovge edx, eax
cmp edx, 0x3d
mov eax, 0x3c
cmovl edx, eax
test ebx, ebx
jle 0x1006a8e8
mov eax, dword [edi + 0x58]
mov dword [esp + 4], eax
mov dword [esp + 0x30], edx
lea eax, [edx + 0x3c]
mov dword [esp + 0x14], eax
xor edx, edx
xor ecx, ecx
cmp dword [esp + 4], 0
mov dword [esp + 0x28], ecx
jle 0x1006a8b6
mov eax, ecx
shl eax, 6
mov ecx, dword [esp + 0x6c]
lea ebx, [ecx + eax]
lea ecx, [esp + eax]
add ecx, 0xa0
mov dword [esp + 0x18], ecx
lea ecx, [esp + eax + 0x2a0]
mov dword [esp + 0xc], ecx
add eax, esp
add eax, 0x4a0
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 8]
movss xmm0, dword [ecx + eax*4]
mov ecx, dword [esp + 0xc]
ucomiss xmm0, dword [ecx + eax*4]
mov ecx, dword [ebx + eax*4]
mov edx, dword [esp + 0x18]
movss xmm0, dword [edx + eax*4]
mov edi, ecx
jbe 0x1006a84a
mov edi, ecx
cmp ecx, 0x3d
jl 0x1006a84a
mov esi, 0x131
sub esi, ecx
movss xmm1, dword [esi*4 + 0x103f5bd8]
mulss xmm1, xmm0
addss xmm1, dword [0x102d7c44]
cvttss2si esi, xmm1
test esi, esi
je 0x1006a847
lea edi, [ecx - 1]
jmp 0x1006a84a
lea edi, [ecx - 2]
mov esi, dword [esp + 0x14]
cmp edi, esi
cmovl esi, edi
mov edx, dword [esp + 0x30]
cmp edi, edx
cmovl esi, edx
mov edi, 0xdb
cmp esi, edi
cmovge esi, edi
mov dword [ebx + eax*4], esi
cmp esi, ecx
mov ecx, 1
mov edx, dword [esp + 0x10]
cmovne edx, ecx
mov ecx, 0x130
sub ecx, esi
mulss xmm0, dword [ecx*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si esi, xmm0
mov ecx, 0xb
cmp esi, 0xd
ja 0x1006a8a4
movzx ecx, byte [esi + 0x102d7ea4]
mov dword [ebx + eax*4 - 0x7c0], ecx
inc eax
cmp dword [esp + 4], eax
jne 0x1006a7f2
mov edi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x28]
movzx eax, byte [edi + ecx + 0x14]
add ecx, eax
mov ebx, dword [esp + 0x1c]
cmp ecx, ebx
jl 0x1006a7b2
test edx, edx
je 0x1006a8e8
mov ecx, dword [esp + 0x44]
lea eax, [ecx + 1]
cmp ecx, 9
mov dword [esp + 0x44], eax
jb 0x1006a30f
mov ecx, dword [esp + 0x6a0]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push esi
sub esp, 8
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x1c]
test eax, eax
jle 0x1006a92d
mov edx, dword [ebp + 0x10]
xorps xmm1, xmm1
xor esi, esi
movss xmm0, dword [edx + esi*4]
mulss xmm0, xmm0
addss xmm1, xmm0
inc esi
cmp eax, esi
jne 0x1006a919
jmp 0x1006a930
xorps xmm1, xmm1
mov edx, dword [ebp + 0x34]
test ecx, ecx
je 0x1006a93d
mov dword [ecx], 0
mov ecx, dword [ebp + 0x14]
test edx, edx
je 0x1006a94a
mov dword [edx], 0
movss xmm0, dword [ebp + 0x28]
test ecx, ecx
je 0x1006a97f
test eax, eax
jle 0x1006a97f
lea eax, [eax*4 - 4]
and eax, 0xfffffff0
add eax, 0x10
push eax
push 0
push ecx
movss dword [ebp - 8], xmm1
call fcn.10132b90
movss xmm0, dword [ebp + 0x28]
movss xmm1, dword [ebp - 8]
add esp, 0xc
mulss xmm1, xmm0
movss dword [ebp - 0xc], xmm1
fld dword [ebp - 0xc]
add esp, 8
pop esi
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov ecx, 0x130
sub ecx, eax
movss xmm4, dword [ecx*4 + 0x103f5bd8]
movss xmm0, dword [eax*4 + 0x103f56a8]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ebp + 8]
test esi, esi
jne 0x1006aa02
mov ecx, dword [eax + 0x8a7c4]
lea esi, [eax + 0x97c0]
call dword [section..00cfg]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push esi
movss dword [ebp - 0x14], xmm4
call ecx
movss xmm4, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [eax + 0x8a7c8]
movzx ebx, byte [edi + 0x102d7e8c]
lea edi, [eax + 0x9630]
call dword [section..00cfg]
sub esp, 0x20
mov dword [esp + 8], esi
mov dword [esp], edi
movss dword [esp + 0x18], xmm4
mov dword [ebp - 0x34], ebx
mov dword [esp + 0x14], ebx
mov esi, dword [ebp + 0x1c]
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp + 0x1c], 0x3ecf9097
mov dword [esp + 0x10], 1
call ecx
add esp, 0x20
test esi, esi
jle 0x1006ac5b
mov ecx, dword [ebp + 0x24]
movzx eax, byte [ecx + 0x102d7e98]
mov dword [ebp - 0x30], eax
mov eax, dword [ecx*4 + 0x102e8c78]
mov dword [ebp - 0x1c], eax
mov esi, dword [ecx*4 + 0x102ea9c4]
xorps xmm4, xmm4
xorps xmm0, xmm0
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x38], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + ebx*4 + 0x9630]
mov esi, dword [ebp - 0x34]
add eax, esi
mov edi, dword [ebp - 0x30]
imul eax, edi
mov ecx, dword [edx + ebx*4 + 0x9634]
add ecx, esi
add ecx, eax
imul ecx, edi
mov eax, edx
mov edx, dword [edx + ebx*4 + 0x9638]
add edx, esi
add edx, ecx
imul edx, edi
mov eax, dword [eax + ebx*4 + 0x963c]
mov edi, dword [ebp + 0x14]
add eax, esi
mov esi, dword [ebp - 0x2c]
add eax, edx
lea ecx, [eax*4]
mov edx, eax
shl edx, 4
movss xmm6, dword [esi + edx]
mov edx, dword [ebp - 0x1c]
movzx edx, byte [edx + eax]
mov dword [ebp - 0x14], edx
mulss xmm6, dword [ebp - 0x18]
test edi, edi
je 0x1006aaf8
movss dword [edi + ebx*4], xmm6
mov edx, dword [ebp + 0x10]
movss xmm3, dword [edx + ebx*4]
movss xmm7, dword [esi + ecx*4 + 4]
mulss xmm7, dword [ebp - 0x18]
test edi, edi
je 0x1006ab15
movss dword [edi + ebx*4 + 4], xmm7
movss dword [ebp - 0x10], xmm0
movss xmm1, dword [edx + ebx*4 + 4]
movss xmm2, dword [esi + ecx*4 + 8]
mulss xmm2, dword [ebp - 0x18]
test edi, edi
je 0x1006ab35
movss dword [edi + ebx*4 + 8], xmm2
movss xmm0, dword [edx + ebx*4 + 8]
movss xmm5, dword [esi + ecx*4 + 0xc]
mulss xmm5, dword [ebp - 0x18]
test edi, edi
je 0x1006ab50
movss dword [edi + ebx*4 + 0xc], xmm5
subss xmm3, xmm6
mulss xmm3, xmm3
addss xmm3, dword [0x10298570]
subss xmm1, xmm7
mulss xmm1, xmm1
addss xmm1, xmm3
subss xmm0, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [edx + ebx*4 + 0xc]
subss xmm1, xmm5
mulss xmm1, xmm1
addss xmm1, xmm0
mulss xmm1, dword [ebp + 0x28]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebp - 0x14]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x10]
addss xmm1, xmm0
ucomiss xmm1, dword [ebp + 0x2c]
jae 0x1006ac79
movaps xmm0, xmm1
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x1006ac24
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx*4 + 0x102e8770]
movzx edx, word [ecx + eax*2]
mov ecx, dword [ebp - 0x1c]
movzx ecx, byte [ecx + eax]
mov eax, dword [edi]
mov esi, dword [edi + 4]
mov dword [ebp - 0x28], esi
sub esi, ecx
jle 0x1006abdf
shl eax, cl
or edx, eax
jmp 0x1006ac1f
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x10], edx
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
sub edi, ecx
cmp edi, 4
jb 0x1006ac16
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
mov ecx, edx
shl eax, cl
mov ecx, dword [ebp - 0x24]
sub ecx, edx
mov edi, dword [ebp - 0x10]
shr edi, cl
or edi, eax
bswap edi
mov eax, dword [ebp - 0x20]
mov dword [eax], edi
mov eax, dword [ebp + 0xc]
add dword [eax + 0xc], 4
add esi, 0x20
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov dword [edi], edx
mov dword [edi + 4], esi
mulss xmm6, xmm6
addss xmm4, xmm6
mulss xmm7, xmm7
addss xmm7, xmm4
mulss xmm2, xmm2
addss xmm2, xmm7
mulss xmm5, xmm5
addss xmm5, xmm2
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x14]
add ebx, 4
movaps xmm4, xmm5
cmp ebx, dword [ebp + 0x1c]
jl 0x1006aa88
jmp 0x1006ac63
xorps xmm5, xmm5
xor edx, edx
xorps xmm0, xmm0
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x1006ac6f
mov dword [ecx], edx
test eax, eax
je 0x1006ac7e
movss dword [eax], xmm5
jmp 0x1006ac7e
movss xmm0, dword [ebp + 0x2c]
movss dword [ebp - 0x3c], xmm0
fld dword [ebp - 0x3c]
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov ebx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov ecx, 0x130
sub ecx, eax
movss xmm4, dword [ecx*4 + 0x103f5bd8]
movss xmm0, dword [eax*4 + 0x103f56a8]
movss dword [esp + 0x3c], xmm0
mov eax, dword [ebp + 8]
test esi, esi
jne 0x1006acfb
mov ecx, dword [eax + 0x8a7c4]
lea esi, [eax + 0x97c0]
call dword [section..00cfg]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push esi
movss dword [esp + 0x18], xmm4
call ecx
movss xmm4, dword [esp + 0x18]
mov eax, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [eax + 0x8a7c8]
movzx edi, byte [ebx + 0x102d7e8c]
lea ebx, [eax + 0x9630]
call dword [section..00cfg]
sub esp, 0x20
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 8], esi
mov dword [esp], ebx
movss dword [esp + 0x18], xmm4
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov dword [esp + 0x1c], 0x3ecf9097
mov dword [esp + 0x10], 0
call ecx
add esp, 0x20
cmp dword [ebp + 0x1c], 0
jle 0x1006b2e0
mov ecx, dword [ebp + 0x24]
movzx eax, byte [ecx + 0x102d7e98]
mov dword [esp + 0x44], eax
mov eax, dword [ecx*4 + 0x102e8c78]
mov dword [esp + 0x40], eax
mov esi, dword [ecx*4 + 0x102ea9c4]
xorps xmm0, xmm0
xorps xmm1, xmm1
xor ebx, ebx
mov dword [esp + 0x38], 0
movss xmm2, dword [esp + 0x3c]
mov edx, dword [ebp + 8]
mov dword [esp + 0x18], esi
movss dword [esp + 0x48], xmm0
movaps xmmword [esp + 0x20], xmm1
mov eax, dword [edx + ebx*4 + 0x9630]
mov ecx, dword [esp + 0x44]
imul eax, ecx
add eax, dword [edx + ebx*4 + 0x9634]
imul eax, ecx
add eax, dword [edx + ebx*4 + 0x9638]
imul eax, ecx
add eax, dword [edx + ebx*4 + 0x963c]
lea edx, [eax*4]
mov ecx, eax
shl ecx, 4
movss xmm0, dword [esi + ecx]
mov ecx, dword [esp + 0x40]
movzx ecx, byte [ecx + eax]
mov dword [esp + 0xc], ecx
movss xmm4, dword [edi + ebx*4]
movaps xmm3, xmm2
mulss xmm3, xmm0
mov ecx, dword [ebp + 0x14]
test ecx, ecx
mov edi, ebx
mov ebx, esi
je 0x1006ae28
movaps xmm0, xmm3
xorps xmm0, xmmword [0x102a8d80]
xorps xmm1, xmm1
cmpless xmm1, xmm4
movaps xmm2, xmm1
andps xmm2, xmm3
andnps xmm1, xmm0
orps xmm1, xmm2
movss xmm2, dword [esp + 0x3c]
movss dword [ecx + edi*4], xmm1
movss xmm0, dword [ebx + edx*4]
movaps xmmword [esp + 0x60], xmm3
cmpneqss xmm0, dword [0x10298570]
movd ecx, xmm0
sub dword [esp + 0xc], ecx
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
movss xmm3, dword [ecx + edi*4 + 4]
movss xmm0, dword [ebx + edx*4 + 4]
movaps xmm6, xmm2
mulss xmm6, xmm0
test esi, esi
je 0x1006ae85
movaps xmm0, xmm6
xorps xmm0, xmmword [0x102a8d80]
xorps xmm1, xmm1
cmpless xmm1, xmm3
movaps xmm5, xmm1
andps xmm5, xmm6
andnps xmm1, xmm0
orps xmm1, xmm5
movss dword [esi + edi*4 + 4], xmm1
movss xmm0, dword [ebx + edx*4 + 4]
movaps xmmword [esp + 0x50], xmm6
cmpneqss xmm0, dword [0x10298570]
movd ecx, xmm0
sub dword [esp + 0xc], ecx
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
movss xmm0, dword [ecx + edi*4 + 8]
movss xmm1, dword [ebx + edx*4 + 8]
movaps xmm5, xmm2
mulss xmm2, xmm1
test esi, esi
je 0x1006aee2
movaps xmm1, xmm2
xorps xmm1, xmmword [0x102a8d80]
xorps xmm6, xmm6
cmpless xmm6, xmm0
movaps xmm7, xmm6
andps xmm7, xmm2
andnps xmm6, xmm1
orps xmm6, xmm7
movss dword [esi + edi*4 + 8], xmm6
movss xmm1, dword [ebx + edx*4 + 8]
movaps xmmword [esp + 0x70], xmm2
cmpneqss xmm1, dword [0x10298570]
movd ecx, xmm1
sub dword [esp + 0xc], ecx
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
movss xmm7, dword [ecx + edi*4 + 0xc]
movss xmm1, dword [ebx + edx*4 + 0xc]
movaps xmm6, xmm5
mulss xmm6, xmm1
test esi, esi
je 0x1006af3f
movaps xmm1, xmm6
xorps xmm1, xmmword [0x102a8d80]
xorps xmm2, xmm2
cmpless xmm2, xmm7
movaps xmm5, xmm2
andps xmm5, xmm6
andnps xmm2, xmm1
orps xmm2, xmm5
movss dword [esi + edi*4 + 0xc], xmm2
movss xmm1, dword [ebx + edx*4 + 0xc]
mov dword [esp + 0x14], edx
movaps xmm2, xmmword [0x102d7c20]
andps xmm4, xmm2
subss xmm4, dword [esp + 0x60]
mulss xmm4, xmm4
xorps xmm5, xmm5
addss xmm4, xmm5
andps xmm3, xmm2
subss xmm3, dword [esp + 0x50]
mulss xmm3, xmm3
addss xmm3, xmm4
andps xmm0, xmm2
movaps xmm4, xmmword [esp + 0x70]
subss xmm0, xmm4
mulss xmm0, xmm0
addss xmm0, xmm3
cmpneqss xmm1, xmm5
movd ecx, xmm1
andps xmm7, xmm2
subss xmm7, xmm6
mov edx, dword [esp + 0xc]
sub edx, ecx
mulss xmm7, xmm7
addss xmm7, xmm0
mulss xmm7, dword [ebp + 0x28]
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
addss xmm0, xmm7
movaps xmm1, xmmword [esp + 0x20]
addss xmm1, xmm0
ucomiss xmm1, dword [ebp + 0x2c]
jae 0x1006b308
mov ecx, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0xc], edx
mov esi, dword [ebp + 0xc]
test esi, esi
movss xmm2, dword [esp + 0x48]
movaps xmm3, xmmword [esp + 0x60]
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
je 0x1006b294
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx*4 + 0x102e8770]
movzx ebx, word [ecx + eax*2]
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx + eax]
mov edi, dword [esi]
mov ecx, dword [esi + 4]
mov eax, ecx
sub eax, edx
jle 0x1006b015
mov ecx, edx
shl edi, cl
or ebx, edi
mov edx, ebx
jmp 0x1006b04e
mov dword [esp + 0x20], ebx
mov ebx, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x10], ebx
sub esi, ebx
cmp esi, 4
jb 0x1006b047
shl edi, cl
sub edx, ecx
mov esi, dword [esp + 0x20]
mov ecx, edx
shr esi, cl
or esi, edi
bswap esi
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
add eax, 0x20
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 0xc]
mov esi, edx
mov dword [esp + 0x20], edx
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movss xmm0, dword [esi + edx*4]
ucomiss xmm0, dword [0x10298570]
mov edi, dword [ebp + 0x10]
jne 0x1006b077
jnp 0x1006b0eb
xor edx, edx
mov ebx, dword [esp + 0x1c]
xorps xmm0, xmm0
ucomiss xmm0, dword [edi + ebx*4]
seta dl
cmp eax, 2
jl 0x1006b098
mov edi, dword [esp + 0x20]
lea edx, [edx + edi*2]
xor edi, edi
dec edi
jmp 0x1006b0d9
mov edi, dword [ecx + 0xc]
mov ebx, ecx
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x10], edi
sub ecx, edi
mov edi, 0x1f
cmp ecx, 4
jb 0x1006b0d7
mov ecx, eax
mov ebx, dword [esp + 0x20]
shl ebx, cl
mov cl, 1
sub cl, al
mov esi, edx
shr esi, cl
or esi, ebx
bswap esi
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
mov esi, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
jmp 0x1006b0d9
mov ecx, ebx
add eax, edi
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [esp + 0x20], edx
mov edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
shl edx, 2
mov ecx, edx
or ecx, 4
movss xmm0, dword [esi + ecx]
ucomiss xmm0, dword [0x10298570]
mov dword [esp + 0x14], edx
jne 0x1006b107
jnp 0x1006b17e
xor edx, edx
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
ucomiss xmm0, dword [edi + ecx*4 + 4]
seta dl
cmp eax, 1
jle 0x1006b12c
mov ecx, dword [esp + 0x20]
lea edx, [edx + ecx*2]
xor ebx, ebx
dec ebx
mov edi, dword [ebp + 0xc]
jmp 0x1006b16c
mov edi, dword [ebp + 0xc]
mov ebx, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x10], ebx
sub ecx, ebx
mov ebx, 0x1f
cmp ecx, 4
jb 0x1006b16c
mov ecx, eax
mov ebx, dword [esp + 0x20]
shl ebx, cl
mov cl, 1
sub cl, al
mov esi, edx
shr esi, cl
or esi, ebx
mov ebx, 0x1f
bswap esi
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
mov esi, dword [esp + 0x18]
add dword [edi + 0xc], 4
add eax, ebx
mov dword [edi], edx
mov dword [edi + 4], eax
mov dword [esp + 0x20], edx
mov edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, edx
or ecx, 8
movss xmm0, dword [esi + ecx]
ucomiss xmm0, dword [0x10298570]
jne 0x1006b193
jnp 0x1006b1b8
xor edx, edx
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
ucomiss xmm0, dword [edi + ecx*4 + 8]
seta dl
cmp eax, 1
mov ecx, dword [ebp + 0xc]
jle 0x1006b1bd
mov edi, dword [esp + 0x20]
lea edx, [edx + edi*2]
xor edi, edi
dec edi
jmp 0x1006b1fe
mov ecx, dword [ebp + 0xc]
jmp 0x1006b210
mov edi, dword [ecx + 0xc]
mov ebx, ecx
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x10], edi
sub ecx, edi
mov edi, 0x1f
cmp ecx, 4
jb 0x1006b1fc
mov ecx, eax
mov ebx, dword [esp + 0x20]
shl ebx, cl
mov cl, 1
sub cl, al
mov esi, edx
shr esi, cl
or esi, ebx
bswap esi
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
mov esi, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
jmp 0x1006b1fe
mov ecx, ebx
add eax, edi
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [esp + 0x20], edx
mov edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
or edx, 0xc
movss xmm0, dword [esi + edx]
ucomiss xmm0, dword [0x10298570]
mov edx, dword [ebp + 8]
jne 0x1006b226
jnp 0x1006b294
xor edx, edx
mov esi, dword [esp + 0x1c]
xorps xmm0, xmm0
ucomiss xmm0, dword [edi + esi*4 + 0xc]
seta dl
cmp eax, 1
jle 0x1006b248
mov esi, dword [esp + 0x20]
lea edx, [edx + esi*2]
xor edi, edi
dec edi
jmp 0x1006b287
mov ebx, dword [ecx + 0xc]
mov esi, ecx
mov ecx, dword [ecx + 0x10]
sub ecx, ebx
mov edi, 0x1f
cmp ecx, 4
jb 0x1006b285
mov ecx, eax
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], ebx
mov ebx, esi
shl ebx, cl
mov cl, 1
sub cl, al
mov esi, edx
shr esi, cl
or esi, ebx
bswap esi
mov ecx, dword [esp + 0x14]
mov dword [ecx], esi
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
jmp 0x1006b287
mov ecx, esi
add eax, edi
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mulss xmm3, xmm3
addss xmm2, xmm3
movaps xmm0, xmmword [esp + 0x50]
mulss xmm0, xmm0
addss xmm0, xmm2
mulss xmm4, xmm4
addss xmm4, xmm0
mulss xmm6, xmm6
addss xmm6, xmm4
mov eax, dword [esp + 0xc]
add dword [esp + 0x38], eax
mov ebx, dword [esp + 0x1c]
add ebx, 4
movaps xmm0, xmm6
cmp ebx, dword [ebp + 0x1c]
mov esi, dword [esp + 0x18]
movss xmm2, dword [esp + 0x3c]
jl 0x1006ad92
jmp 0x1006b2ee
xorps xmm6, xmm6
mov dword [esp + 0x38], 0
xorps xmm1, xmm1
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x1006b2fe
mov edx, dword [esp + 0x38]
mov dword [ecx], edx
test eax, eax
je 0x1006b30d
movss dword [eax], xmm6
jmp 0x1006b30d
movss xmm1, dword [ebp + 0x2c]
movss dword [esp + 0x4c], xmm1
fld dword [esp + 0x4c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov ebx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov ecx, 0x130
sub ecx, eax
movss xmm4, dword [ecx*4 + 0x103f5bd8]
movss xmm0, dword [eax*4 + 0x103f56a8]
movss dword [ebp - 0x24], xmm0
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], edx
test edx, edx
jne 0x1006b388
mov ecx, dword [edi + 0x8a7c4]
lea ebx, [edi + 0x97c0]
call dword [section..00cfg]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
mov dword [ebp - 0x10], ebx
push ebx
movss dword [ebp - 0x14], xmm4
call ecx
movss xmm4, dword [ebp - 0x14]
mov ebx, dword [ebp + 0x24]
add esp, 0xc
mov ecx, dword [edi + 0x8a7c8]
movzx esi, byte [ebx + 0x102d7e8c]
add edi, 0x9630
call dword [section..00cfg]
sub esp, 0x20
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov dword [esp], edi
movss dword [esp + 0x18], xmm4
mov dword [ebp - 0x34], esi
mov dword [esp + 0x14], esi
mov esi, dword [ebp + 0x1c]
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp + 0x1c], 0x3ecf9097
mov dword [esp + 0x10], 1
call ecx
add esp, 0x20
test esi, esi
jle 0x1006b54f
movss xmm2, dword [ebp + 0x2c]
movzx eax, byte [ebx + 0x102d7e98]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx*4 + 0x102e8c78]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx*4 + 0x102ea9c4]
mov dword [ebp - 0x14], eax
xorps xmm4, xmm4
xorps xmm1, xmm1
xorps xmm0, xmm0
xor edi, edi
mov dword [ebp - 0x18], 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edi*4 + 0x9630]
mov edx, dword [ebp - 0x34]
add ecx, edx
imul ecx, dword [ebp - 0x30]
mov eax, dword [eax + edi*4 + 0x9634]
add eax, edx
mov edx, dword [ebp + 0x14]
add eax, ecx
lea ecx, [eax + eax]
mov esi, dword [ebp - 0x20]
movzx esi, byte [esi + eax]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x14]
movss xmm5, dword [esi + eax*8]
mulss xmm5, dword [ebp - 0x24]
test edx, edx
je 0x1006b462
movss dword [edx + edi*4], xmm5
movss xmm7, dword [ebx + edi*4]
mov esi, dword [ebp - 0x14]
movss xmm6, dword [esi + ecx*4 + 4]
mulss xmm6, dword [ebp - 0x24]
test edx, edx
je 0x1006b47f
movss dword [edx + edi*4 + 4], xmm6
subss xmm7, xmm5
mulss xmm7, xmm7
addss xmm7, xmm4
movss xmm3, dword [ebx + edi*4 + 4]
subss xmm3, xmm6
mulss xmm3, xmm3
addss xmm3, xmm7
mulss xmm3, dword [ebp + 0x28]
xorps xmm7, xmm7
cvtsi2ss xmm7, dword [ebp - 0x10]
addss xmm7, xmm3
addss xmm0, xmm7
ucomiss xmm0, xmm2
jae 0x1006b575
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x1006b52b
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx*4 + 0x102e8770]
movzx esi, word [ecx + eax*2]
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ecx + eax]
mov eax, dword [edx]
mov ebx, dword [edx + 4]
mov dword [ebp - 0x2c], ebx
sub ebx, ecx
jle 0x1006b4e9
shl eax, cl
or esi, eax
jmp 0x1006b523
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], esi
mov esi, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
sub edx, esi
cmp edx, 4
jb 0x1006b51a
mov edx, dword [ebp - 0x2c]
mov ecx, edx
shl eax, cl
mov ecx, dword [ebp - 0x28]
sub ecx, edx
mov edx, dword [ebp - 0x1c]
shr edx, cl
or edx, eax
bswap edx
mov dword [esi], edx
mov eax, dword [ebp + 0xc]
add dword [eax + 0xc], 4
add ebx, 0x20
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x1c]
mov dword [edx], esi
mov dword [edx + 4], ebx
mov ebx, dword [ebp + 0x10]
mulss xmm5, xmm5
addss xmm1, xmm5
mulss xmm6, xmm6
addss xmm1, xmm6
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x18], eax
add edi, 2
cmp edi, dword [ebp + 0x1c]
jl 0x1006b41e
jmp 0x1006b55c
xorps xmm1, xmm1
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x1006b56b
mov edx, dword [ebp - 0x18]
mov dword [ecx], edx
test eax, eax
je 0x1006b578
movss dword [eax], xmm1
jmp 0x1006b578
movaps xmm0, xmm2
movss dword [ebp - 0x38], xmm0
fld dword [ebp - 0x38]
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x50
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov ecx, 0x130
sub ecx, eax
movss xmm4, dword [ecx*4 + 0x103f5bd8]
movss xmm0, dword [eax*4 + 0x103f56a8]
movss dword [esp + 0x18], xmm0
mov ebx, dword [ebp + 8]
test esi, esi
jne 0x1006b5f5
mov ecx, dword [ebx + 0x8a7c4]
lea esi, [ebx + 0x97c0]
call dword [section..00cfg]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push esi
movss dword [esp + 0x14], xmm4
call ecx
movss xmm4, dword [esp + 0x14]
add esp, 0xc
mov ecx, dword [ebx + 0x8a7c8]
movzx edi, byte [edi + 0x102d7e8c]
add ebx, 0x9630
call dword [section..00cfg]
sub esp, 0x20
mov dword [esp + 0x14], edi
mov dword [esp + 8], esi
mov dword [esp], ebx
mov esi, dword [ebp + 0x1c]
movss dword [esp + 0x18], xmm4
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp + 0x1c], 0x3ecf9097
mov dword [esp + 0x10], 0
call ecx
add esp, 0x20
test esi, esi
jle 0x1006b9a2
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x24]
movzx eax, byte [ecx + 0x102d7e98]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx*4 + 0x102e8c78]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx*4 + 0x102ea9c4]
mov dword [esp + 0x10], eax
xorps xmm5, xmm5
xorps xmm1, xmm1
xorps xmm2, xmm2
xor ebx, ebx
xor edi, edi
mov esi, dword [ebp + 0x10]
movss xmm4, dword [esp + 0x18]
mov dword [esp + 0x44], edi
movaps xmmword [esp + 0x20], xmm2
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + ebx*4 + 0x9630]
imul eax, dword [esp + 0x3c]
add eax, dword [ecx + ebx*4 + 0x9634]
mov edi, edx
mov edx, esi
lea esi, [eax + eax]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx + eax]
mov dword [esp + 8], ecx
movss xmm2, dword [edx + ebx*4]
mov ecx, dword [esp + 0x10]
movss xmm3, dword [ecx + eax*8]
movaps xmm7, xmm4
mulss xmm7, xmm3
test edi, edi
je 0x1006b702
mov edx, edi
movaps xmm3, xmm7
xorps xmm3, xmmword [0x102a8d80]
xorps xmm5, xmm5
cmpless xmm5, xmm2
movaps xmm6, xmm5
andps xmm6, xmm7
andnps xmm5, xmm3
orps xmm5, xmm6
movss dword [edi + ebx*4], xmm5
xorps xmm5, xmm5
movss xmm3, dword [ecx + esi*4]
cmpneqss xmm3, xmm5
movd ecx, xmm3
sub dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
movss xmm6, dword [edx + ebx*4 + 4]
mov edx, edi
movss xmm5, dword [ecx + esi*4 + 4]
movaps xmm3, xmm4
mulss xmm3, xmm5
test edi, edi
je 0x1006b75f
movaps xmm5, xmm3
xorps xmm5, xmmword [0x102a8d80]
xorps xmm4, xmm4
cmpless xmm4, xmm6
movaps xmm0, xmm4
andps xmm0, xmm3
andnps xmm4, xmm5
orps xmm4, xmm0
movss dword [edx + ebx*4 + 4], xmm4
movss xmm4, dword [esp + 0x18]
movss xmm5, dword [ecx + esi*4 + 4]
mov dword [esp + 0xc], esi
xorps xmm0, xmm0
cmpneqss xmm5, xmm0
movd ecx, xmm5
xorps xmm5, xmm5
movaps xmm0, xmmword [0x102d7c20]
andps xmm2, xmm0
subss xmm2, xmm7
mulss xmm2, xmm2
addss xmm2, xmm5
andps xmm6, xmm0
subss xmm6, xmm3
mov edi, dword [esp + 8]
sub edi, ecx
mulss xmm6, xmm6
addss xmm6, xmm2
mulss xmm6, dword [ebp + 0x28]
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
addss xmm0, xmm6
movaps xmm2, xmmword [esp + 0x20]
addss xmm2, xmm0
ucomiss xmm2, dword [ebp + 0x2c]
jae 0x1006b9c0
cmp dword [ebp + 0xc], 0
mov esi, dword [ebp + 0x10]
je 0x1006b97c
mov dword [esp + 0x40], ebx
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx*4 + 0x102e8770]
movzx esi, word [ecx + eax*2]
mov ecx, dword [esp + 0x1c]
movzx ebx, byte [ecx + eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
sub ecx, ebx
mov dword [esp + 8], ecx
jle 0x1006b807
mov ecx, ebx
shl edx, cl
or esi, edx
mov ecx, dword [esp + 8]
jmp 0x1006b845
mov dword [esp + 0x20], esi
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, esi
cmp eax, 4
jb 0x1006b837
mov eax, dword [esp + 0x14]
mov ecx, eax
shl edx, cl
sub ebx, eax
mov eax, dword [esp + 0x20]
mov ecx, ebx
shr eax, cl
or eax, edx
bswap eax
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
add dword [eax + 0xc], 4
mov ecx, dword [esp + 8]
add ecx, 0x20
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
mov edx, esi
mov dword [esp + 0x20], esi
mov dword [eax], esi
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
movss xmm0, dword [esi + edx*4]
ucomiss xmm0, xmm5
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x40]
mov dword [esp + 8], ecx
jne 0x1006b86f
jnp 0x1006b8eb
xor edx, edx
ucomiss xmm5, dword [esi + ebx*4]
seta dl
cmp ecx, 2
jl 0x1006b889
mov ecx, dword [esp + 0x20]
lea edx, [edx + ecx*2]
xor ecx, ecx
dec ecx
jmp 0x1006b8cf
mov ecx, dword [eax + 0xc]
mov esi, eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], ecx
sub eax, ecx
mov ecx, 0x1f
cmp eax, 4
jb 0x1006b8cd
mov eax, dword [esp + 8]
mov ecx, eax
mov esi, dword [esp + 0x20]
shl esi, cl
mov cl, 1
sub cl, al
mov eax, edx
shr eax, cl
mov ecx, 0x1f
or eax, esi
bswap eax
mov esi, dword [esp + 0x14]
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
add dword [eax + 0xc], 4
jmp 0x1006b8cf
mov eax, esi
mov esi, dword [esp + 8]
add esi, ecx
mov dword [eax], edx
mov ecx, esi
mov dword [esp + 8], esi
mov dword [eax + 4], esi
mov dword [esp + 0x20], edx
mov esi, dword [ebp + 0x10]
mov edx, dword [esp + 0xc]
shl edx, 2
or edx, 4
mov eax, dword [esp + 0x10]
movss xmm0, dword [eax + edx]
ucomiss xmm0, xmm5
mov edx, dword [ebp + 0x14]
jne 0x1006b904
jnp 0x1006b97c
xor edx, edx
ucomiss xmm5, dword [esi + ebx*4 + 4]
seta dl
mov ecx, dword [esp + 8]
cmp ecx, 1
jle 0x1006b923
mov eax, dword [esp + 0x20]
lea edx, [edx + eax*2]
xor esi, esi
dec esi
jmp 0x1006b96c
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], esi
sub eax, esi
mov esi, 0x1f
cmp eax, 4
jb 0x1006b96c
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x20]
shl esi, cl
mov cl, 1
sub cl, byte [esp + 8]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 8]
or eax, esi
bswap eax
mov esi, dword [esp + 0xc]
mov dword [esi], eax
mov esi, 0x1f
mov eax, dword [ebp + 0xc]
add dword [eax + 0xc], 4
jmp 0x1006b96f
mov eax, dword [ebp + 0xc]
add ecx, esi
mov dword [eax], edx
mov dword [eax + 4], ecx
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mulss xmm7, xmm7
addss xmm1, xmm7
mulss xmm3, xmm3
addss xmm1, xmm3
mov eax, dword [esp + 0x44]
add eax, edi
mov edi, eax
add ebx, 2
cmp ebx, dword [ebp + 0x1c]
jl 0x1006b68a
jmp 0x1006b9aa
xorps xmm1, xmm1
xor edi, edi
xorps xmm2, xmm2
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x1006b9b6
mov dword [ecx], edi
test eax, eax
je 0x1006b9c5
movss dword [eax], xmm1
jmp 0x1006b9c5
movss xmm2, dword [ebp + 0x2c]
movss dword [esp + 0x48], xmm2
fld dword [esp + 0x48]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov ecx, 0x130
sub ecx, eax
movss xmm0, dword [ecx*4 + 0x103f5528]
movss dword [esp + 0x3c], xmm0
movss xmm4, dword [ecx*4 + 0x103f5bd8]
mov edi, dword [ebp + 0x10]
movss xmm0, dword [eax*4 + 0x103f56a8]
movss dword [esp + 0x34], xmm0
mov ebx, dword [ebp + 8]
test esi, esi
jne 0x1006ba5b
mov ecx, dword [ebx + 0x8a7c4]
lea esi, [ebx + 0x97c0]
call dword [section..00cfg]
mov eax, dword [ebp + 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
movss dword [esp + 0x28], xmm4
call ecx
movss xmm4, dword [esp + 0x28]
mov ecx, dword [ebx + 0x8a7c8]
lea edi, [ebx + 0x9630]
call dword [section..00cfg]
movss dword [esp + 0x18], xmm4
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 0x1c], 0x3ecf9097
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x10], 0
call ecx
test ebx, ebx
jle 0x1006c3ff
movss xmm0, dword [0x102d7d50]
mulss xmm0, dword [esp + 0x34]
movss dword [esp + 0x6c], xmm0
mov eax, dword [0x102ea9f0]
mov dword [esp + 0x28], eax
xorps xmm3, xmm3
xor ecx, ecx
movaps xmm4, xmmword [0x102d7c20]
movss xmm5, dword [0x102d7d54]
xor edx, edx
xorps xmm0, xmm0
movaps xmmword [esp + 0xd0], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov dword [esp + 0xb0], edx
mov eax, dword [ebx + ecx*4 + 0x9630]
mov esi, eax
shl esi, 4
add esi, eax
add esi, dword [ebx + ecx*4 + 0x9634]
mov eax, dword [0x102e8ca4]
movzx ebx, byte [eax + esi]
mov dword [esp + 0x2c], ecx
movss xmm1, dword [edi + ecx*4]
andps xmm1, xmm4
mov eax, dword [esp + 0x28]
movss xmm6, dword [eax + esi*8]
ucomiss xmm6, xmm5
movaps xmmword [esp + 0x70], xmm1
jne 0x1006bb6e
jp 0x1006bb6e
movss xmm0, dword [esp + 0x6c]
ucomiss xmm1, xmm0
mov edx, dword [ebp + 0x14]
jae 0x1006bb7c
movss xmm2, dword [esp + 0x3c]
mulss xmm2, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10298578]
jb 0x1006bb87
sqrtsd xmm0, xmm0
jmp 0x1006bbad
mulss xmm6, dword [esp + 0x34]
mov edx, dword [ebp + 0x14]
jmp 0x1006bc6c
add ebx, 0x15
movaps xmm6, xmm0
jmp 0x1006bc6c
movsd qword [esp], xmm0
movss dword [esp + 0x40], xmm2
call fcn.101460b0
movss xmm2, dword [esp + 0x40]
fstp qword [esp + 0x120]
movsd xmm0, qword [esp + 0x120]
cvtsd2ss xmm0, xmm0
mulss xmm2, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10298578]
jb 0x1006bbcc
sqrtsd xmm0, xmm0
jmp 0x1006bbe6
movsd qword [esp], xmm0
call fcn.101460b0
fstp qword [esp + 0x118]
movsd xmm0, qword [esp + 0x118]
cvtsd2ss xmm0, xmm0
addss xmm0, dword [0x102d7c44]
cvttss2si edi, xmm0
test edi, edi
jg 0x1006bbfc
xor edi, edi
mov eax, 0x1fff
cmp edi, eax
jl 0x1006bc0a
mov edi, 0x1fff
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
movaps xmmword [esp + 0x90], xmm0
movss dword [esp], xmm0
call fcn.10143ae0
movaps xmm6, xmmword [esp + 0x90]
fstp dword [esp + 0xbc]
mulss xmm6, dword [esp + 0xbc]
mulss xmm6, dword [esp + 0x34]
or edi, 1
bsr eax, edi
xor eax, 0x1f
add eax, eax
xor eax, 0x3e
add ebx, eax
add ebx, 0xfffffffd
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
xorps xmm3, xmm3
movaps xmm4, xmmword [0x102d7c20]
movss xmm5, dword [0x102d7d54]
mov dword [esp + 0x38], esi
lea eax, [esi + esi]
mov dword [esp + 0x40], eax
test edx, edx
mov ecx, dword [esp + 0x2c]
je 0x1006bca3
movaps xmm0, xmm6
xorps xmm0, xmmword [0x102a8d80]
xorps xmm1, xmm1
cmpless xmm1, dword [edi + ecx*4]
movaps xmm2, xmm1
andps xmm2, xmm6
andnps xmm1, xmm0
orps xmm1, xmm2
movss dword [edx + ecx*4], xmm1
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
movss xmm0, dword [edx + esi*4]
cmpneqss xmm0, xmm3
movd eax, xmm0
sub ebx, eax
mov eax, edi
movss xmm1, dword [edi + ecx*4 + 4]
andps xmm1, xmm4
movss xmm7, dword [edx + esi*4 + 4]
ucomiss xmm7, xmm5
movaps xmmword [esp + 0x90], xmm6
jne 0x1006bd10
jp 0x1006bd10
movss xmm0, dword [esp + 0x6c]
ucomiss xmm1, xmm0
jae 0x1006bd18
movss xmm2, dword [esp + 0x3c]
mulss xmm2, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10298578]
mov esi, dword [esp + 0x38]
movaps xmmword [esp + 0x50], xmm1
jb 0x1006bd2c
sqrtsd xmm0, xmm0
jmp 0x1006bd58
mulss xmm7, dword [esp + 0x34]
jmp 0x1006bd1e
add ebx, 0x15
movaps xmm7, xmm0
mov edi, eax
mov esi, dword [esp + 0x38]
mov ecx, dword [ebp + 0x14]
jmp 0x1006be24
movsd qword [esp], xmm0
movss dword [esp + 0x80], xmm2
call fcn.101460b0
movss xmm2, dword [esp + 0x80]
fstp qword [esp + 0x110]
movsd xmm0, qword [esp + 0x110]
cvtsd2ss xmm0, xmm0
mulss xmm2, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10298578]
jb 0x1006bd77
sqrtsd xmm0, xmm0
jmp 0x1006bd91
movsd qword [esp], xmm0
call fcn.101460b0
fstp qword [esp + 0x108]
movsd xmm0, qword [esp + 0x108]
cvtsd2ss xmm0, xmm0
addss xmm0, dword [0x102d7c44]
cvttss2si edi, xmm0
test edi, edi
jg 0x1006bda7
xor edi, edi
mov eax, 0x1fff
cmp edi, eax
jl 0x1006bdb5
mov edi, 0x1fff
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
movaps xmmword [esp + 0x80], xmm0
movss dword [esp], xmm0
call fcn.10143ae0
movaps xmm7, xmmword [esp + 0x80]
fstp dword [esp + 0xb8]
mulss xmm7, dword [esp + 0xb8]
mulss xmm7, dword [esp + 0x34]
or edi, 1
bsr eax, edi
xor eax, 0x1f
add eax, eax
xor eax, 0x3e
add ebx, eax
add ebx, 0xfffffffd
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
xorps xmm3, xmm3
movaps xmm4, xmmword [0x102d7c20]
movss xmm5, dword [0x102d7d54]
movaps xmm6, xmmword [esp + 0x90]
movaps xmm1, xmmword [esp + 0x50]
test ecx, ecx
je 0x1006be67
movaps xmm0, xmm7
xorps xmm0, xmmword [0x102a8d80]
movaps xmm3, xmm5
movaps xmm5, xmm4
movaps xmm4, xmm1
xorps xmm1, xmm1
mov eax, dword [esp + 0x2c]
cmpless xmm1, dword [edi + eax*4 + 4]
movaps xmm2, xmm1
andps xmm2, xmm7
andnps xmm1, xmm0
orps xmm1, xmm2
movss dword [ecx + eax*4 + 4], xmm1
movaps xmm1, xmm4
movaps xmm4, xmm5
movaps xmm5, xmm3
xorps xmm3, xmm3
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
movss xmm0, dword [eax + ecx*4 + 4]
cmpneqss xmm0, xmm3
movd eax, xmm0
movaps xmm0, xmmword [esp + 0x70]
subss xmm0, xmm6
mulss xmm0, xmm0
addss xmm0, xmm3
subss xmm1, xmm7
sub ebx, eax
mulss xmm1, xmm1
addss xmm1, xmm0
mulss xmm1, dword [ebp + 0x28]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
addss xmm0, xmm1
movaps xmm1, xmmword [esp + 0xc0]
addss xmm1, xmm0
movaps xmmword [esp + 0xc0], xmm1
ucomiss xmm1, dword [ebp + 0x2c]
jae 0x1006c435
mov dword [esp + 0x38], ebx
cmp dword [ebp + 0xc], 0
mov ebx, dword [ebp + 8]
je 0x1006c3c0
mov eax, dword [0x102e879c]
mov ecx, esi
movzx esi, word [eax + esi*2]
mov eax, dword [0x102e8ca4]
movzx edx, byte [eax + ecx]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x30], ecx
sub ecx, edx
mov dword [esp + 0x70], ecx
jle 0x1006bf10
mov ecx, edx
shl eax, cl
or esi, eax
mov eax, dword [esp + 0x70]
jmp 0x1006bf4c
mov dword [esp + 0x50], esi
mov esi, dword [ebx + 0xc]
mov edi, dword [ebx + 0x10]
sub edi, esi
cmp edi, 4
jb 0x1006bf3e
mov ecx, dword [esp + 0x30]
shl eax, cl
sub edx, ecx
mov edi, dword [esp + 0x50]
mov ecx, edx
shr edi, cl
or edi, eax
bswap edi
mov dword [esi], edi
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
mov eax, dword [esp + 0x70]
add eax, 0x20
mov edi, dword [ebp + 0x10]
mov esi, dword [esp + 0x50]
mov ecx, dword [ebp + 0xc]
mov ebx, esi
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
movss xmm0, dword [edx + esi*4]
ucomiss xmm0, xmm3
jne 0x1006bf6a
jnp 0x1006bfc8
xor edx, edx
mov esi, dword [esp + 0x2c]
ucomiss xmm3, dword [edi + esi*4]
seta dl
cmp eax, 2
jl 0x1006bf84
lea edx, [edx + ebx*2]
xor esi, esi
dec esi
jmp 0x1006bfbf
mov esi, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x70], esi
sub ecx, esi
mov esi, 0x1f
cmp ecx, 4
jb 0x1006bfbc
mov ecx, eax
shl ebx, cl
mov cl, 1
sub cl, al
mov edi, edx
shr edi, cl
or edi, ebx
bswap edi
mov ecx, dword [esp + 0x70]
mov dword [ecx], edi
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
jmp 0x1006bfbf
mov ecx, dword [ebp + 0xc]
add eax, esi
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov ebx, edx
mov esi, dword [esp + 0x40]
or esi, 1
mov edx, dword [esp + 0x28]
mov dword [esp + 0x70], esi
movss xmm0, dword [edx + esi*4]
ucomiss xmm0, xmm3
jne 0x1006bfe3
jnp 0x1006c040
xor edx, edx
mov esi, dword [esp + 0x2c]
ucomiss xmm3, dword [edi + esi*4 + 4]
seta dl
cmp eax, 1
jle 0x1006bffe
lea edx, [edx + ebx*2]
xor esi, esi
dec esi
jmp 0x1006c039
mov esi, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x50], esi
sub ecx, esi
mov esi, 0x1f
cmp ecx, 4
jb 0x1006c036
mov ecx, eax
shl ebx, cl
mov cl, 1
sub cl, al
mov edi, edx
shr edi, cl
or edi, ebx
bswap edi
mov ecx, dword [esp + 0x50]
mov dword [ecx], edi
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
jmp 0x1006c039
mov ecx, dword [ebp + 0xc]
add eax, esi
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
movss xmm0, dword [eax + ecx*4]
ucomiss xmm0, xmm5
mov ebx, dword [ebp + 8]
movaps xmmword [esp + 0x80], xmm7
jne 0x1006c208
jp 0x1006c208
mov eax, dword [esp + 0x2c]
movss xmm1, dword [edi + eax*4]
andps xmm1, xmm4
mulss xmm1, dword [esp + 0x3c]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
ucomisd xmm0, qword [0x10298578]
jb 0x1006c090
sqrtsd xmm0, xmm0
jmp 0x1006c0b4
movsd qword [esp], xmm0
movaps xmmword [esp + 0x40], xmm1
call fcn.101460b0
movaps xmm1, xmmword [esp + 0x40]
fstp qword [esp + 0x100]
movsd xmm0, qword [esp + 0x100]
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
ucomisd xmm0, qword [0x10298578]
jb 0x1006c0d3
sqrtsd xmm0, xmm0
jmp 0x1006c0ed
movsd qword [esp], xmm0
call fcn.101460b0
fstp qword [esp + 0xf8]
movsd xmm0, qword [esp + 0xf8]
xorps xmm3, xmm3
movaps xmm4, xmmword [0x102d7c20]
movss xmm5, dword [0x102d7d54]
movaps xmm6, xmmword [esp + 0x90]
movaps xmm7, xmmword [esp + 0x80]
cvtsd2ss xmm0, xmm0
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
test ecx, ecx
jg 0x1006c125
xor ecx, ecx
mov eax, 0x1fff
cmp ecx, eax
jl 0x1006c133
mov ecx, 0x1fff
mov dword [esp + 0x50], ecx
mov eax, ecx
or eax, 1
bsr eax, eax
mov dword [esp + 0x40], eax
xor eax, 0x1f
mov ebx, 0x1c
sub ebx, eax
xor edi, edi
inc edi
mov ecx, ebx
shl edi, cl
add edi, 0xfffffffe
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x30], edx
sub edx, ebx
jle 0x1006c16f
mov ecx, ebx
shl esi, cl
or edi, esi
jmp 0x1006c1af
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
sub ecx, edx
cmp ecx, 4
jb 0x1006c1a5
mov ecx, dword [esp + 0x30]
shl esi, cl
sub ebx, ecx
mov dword [esp + 0xac], edx
mov edx, edi
mov ecx, ebx
shr edx, cl
or edx, esi
bswap edx
mov ecx, dword [esp + 0xac]
mov dword [ecx], edx
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax]
add edx, 4
xor eax, eax
dec eax
mov ecx, dword [esp + 0x40]
shl eax, cl
not eax
mov esi, dword [esp + 0x50]
and esi, eax
mov eax, edx
sub eax, ecx
jle 0x1006c1cc
shl edi, cl
or esi, edi
jmp 0x1006c1fa
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
sub ecx, ebx
cmp ecx, 4
jb 0x1006c1f7
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x40]
sub ecx, edx
mov edx, esi
shr edx, cl
or edx, edi
bswap edx
mov dword [ebx], edx
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
add eax, 0x20
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
movss xmm0, dword [eax + ecx*4]
ucomiss xmm0, xmm5
jne 0x1006c3c0
jp 0x1006c3c0
mov eax, dword [esp + 0x2c]
movss xmm1, dword [edi + eax*4 + 4]
andps xmm1, xmm4
mulss xmm1, dword [esp + 0x3c]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
ucomisd xmm0, qword [0x10298578]
jb 0x1006c24e
sqrtsd xmm0, xmm0
jmp 0x1006c272
movsd qword [esp], xmm0
movaps xmmword [esp + 0x40], xmm1
call fcn.101460b0
movaps xmm1, xmmword [esp + 0x40]
fstp qword [esp + 0xf0]
movsd xmm0, qword [esp + 0xf0]
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
ucomisd xmm0, qword [0x10298578]
jb 0x1006c291
sqrtsd xmm0, xmm0
jmp 0x1006c2ab
movsd qword [esp], xmm0
call fcn.101460b0
fstp qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xe8]
xorps xmm3, xmm3
movaps xmm4, xmmword [0x102d7c20]
movss xmm5, dword [0x102d7d54]
movaps xmm6, xmmword [esp + 0x90]
movaps xmm7, xmmword [esp + 0x80]
cvtsd2ss xmm0, xmm0
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
test ecx, ecx
jg 0x1006c2e3
xor ecx, ecx
mov eax, 0x1fff
cmp ecx, eax
jl 0x1006c2f1
mov ecx, 0x1fff
mov dword [esp + 0x70], ecx
mov eax, ecx
or eax, 1
bsr eax, eax
mov dword [esp + 0x40], eax
xor eax, 0x1f
mov ebx, 0x1c
sub ebx, eax
xor edi, edi
inc edi
mov ecx, ebx
shl edi, cl
add edi, 0xfffffffe
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x50], edx
sub edx, ebx
jle 0x1006c32d
mov ecx, ebx
shl esi, cl
or edi, esi
jmp 0x1006c367
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
sub ecx, edx
cmp ecx, 4
jb 0x1006c35d
mov ecx, dword [esp + 0x50]
shl esi, cl
sub ebx, ecx
mov dword [esp + 0x30], edx
mov edx, edi
mov ecx, ebx
shr edx, cl
or edx, esi
bswap edx
mov ecx, dword [esp + 0x30]
mov dword [ecx], edx
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
mov ecx, dword [esp + 0x50]
lea edx, [ecx + eax]
add edx, 4
xor eax, eax
dec eax
mov ecx, dword [esp + 0x40]
shl eax, cl
not eax
mov esi, dword [esp + 0x70]
and esi, eax
mov eax, edx
sub eax, ecx
jle 0x1006c384
shl edi, cl
or esi, edi
jmp 0x1006c3b2
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
sub ecx, ebx
cmp ecx, 4
jb 0x1006c3af
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x40]
sub ecx, edx
mov edx, esi
shr edx, cl
or edx, edi
bswap edx
mov dword [ebx], edx
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xc], 4
add eax, 0x20
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edi, dword [ebp + 0x10]
mulss xmm6, xmm6
movaps xmm0, xmmword [esp + 0xd0]
addss xmm0, xmm6
mulss xmm7, xmm7
addss xmm0, xmm7
movaps xmmword [esp + 0xd0], xmm0
mov edx, dword [esp + 0xb0]
add edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
add ecx, 2
mov eax, dword [ebp + 0x1c]
cmp ecx, eax
jl 0x1006baf9
jmp 0x1006c417
xorps xmm0, xmm0
movaps xmmword [esp + 0xd0], xmm0
xor edx, edx
xorps xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x1006c423
mov dword [ecx], edx
test eax, eax
je 0x1006c442
movaps xmm0, xmmword [esp + 0xd0]
movss dword [eax], xmm0
jmp 0x1006c442
movss xmm0, dword [ebp + 0x2c]
movaps xmmword [esp + 0xc0], xmm0
movaps xmm0, xmmword [esp + 0xc0]
movss dword [esp + 0xb4], xmm0
fld dword [esp + 0xb4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
call fcn.1014029d
int3
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x140
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x10305014]
xor ecx, ebp
mov dword [esp + 0x138], ecx
cvtsi2ss xmm2, dword [eax + 0x130]
mov eax, dword [edx + 0x17c]
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
cmp dword [edx + 4], 0
je 0x10070c04
mov dword [esp + 0x34], eax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss xmm1, dword [0x102da9ec]
divss xmm1, xmm0
divss xmm2, xmm1
mulss xmm2, dword [0x10299208]
xor eax, eax
mov byte [esp + eax + 0xb0], al
inc eax
cmp eax, 0x80
jne 0x1007071d
mov eax, dword [edx + 0x1235c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], eax
test eax, eax
jle 0x100707c6
mov esi, dword [edx + 0x12358]
lea eax, [edx + 0x139f0]
mov dword [esp + 0x38], eax
lea eax, [edx + 0x143b0]
mov dword [esp + 0x3c], eax
xor edi, edi
xor ecx, ecx
test esi, esi
mov dword [esp + 0x44], edi
jle 0x100707b0
mov ebx, edi
shl ebx, 4
add ebx, dword [esp + 0x3c]
mov eax, edi
and eax, 0xf
shl eax, 4
mov dword [esp + 0x54], eax
shl edi, 6
add edi, dword [esp + 0x38]
xor eax, eax
cmp byte [ebx + eax], 0
jne 0x100707ab
cmp dword [edi + eax*4], 0xb
jg 0x100707ab
movzx ecx, cl
mov edx, dword [esp + 0x54]
add edx, eax
mov byte [esp + ecx + 0xb0], dl
mov ecx, edx
mov edx, dword [ebp + 0x10]
inc eax
cmp esi, eax
jne 0x1007078a
mov edi, dword [esp + 0x44]
movzx eax, byte [edx + edi + 0x12314]
add edi, eax
cmp edi, dword [esp + 0x40]
jl 0x10070764
jmp 0x100707c8
xor ecx, ecx
movzx eax, cl
mov byte [esp + eax + 0xb0], cl
cmp dword [esp + 0x34], 0
mov esi, dword [ebp + 8]
jle 0x10070bfb
mov ecx, dword [edx + 0x178]
lea eax, [edx + 0x158c0]
mov dword [esp + 0x60], eax
xor eax, eax
dec eax
movss xmm3, dword [0x102da9f0]
movss xmm4, dword [0x102da9f4]
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], eax
mov ebx, dword [esp + 0x34]
xor edi, edi
mov dword [esp + 0x4c], 0
movss dword [esp + 0x48], xmm2
test ecx, ecx
jle 0x10070be9
mov eax, edi
shl eax, 4
mov dword [esp + 0x54], eax
mov dword [esp + 0x3c], edi
shl edi, 9
add edi, dword [esp + 0x60]
mov dword [esp + 0x64], edi
xor edi, edi
xor ebx, ebx
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
mulss xmm0, xmm2
movss xmm1, dword [esi + 0x95f8]
divss xmm1, xmm3
mulss xmm1, xmm4
mov eax, dword [esp + 0x54]
lea ecx, [edi + eax]
ucomiss xmm0, xmm1
jbe 0x10070b99
cmp dword [edx + ecx*4 + 0x1810], 0xd
je 0x10070b99
cmp byte [edx + ecx + 0x21d0], 0
jne 0x10070b99
cmp dword [edx + ecx*4 + 0x139f0], 0xd
je 0x10070b99
cmp byte [edx + ecx + 0x143b0], 0
jne 0x10070b99
cmp dword [esp + 0x40], 0
js 0x10070b99
mov dword [esp + 0x34], ecx
movzx eax, byte [esp + ecx + 0xb0]
mov eax, dword [edx + eax*4 + 0x141b0]
mov ecx, dword [esp + 0x40]
add ecx, 0xffffffc4
cmp eax, ecx
jl 0x10070b95
mov ecx, dword [esp + 0x40]
add ecx, 0x3c
cmp eax, ecx
jg 0x10070b95
xor eax, eax
dec eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], eax
movdqa xmmword [esp + 0x70], xmm0
mov eax, dword [esp + 0x3c]
movzx eax, byte [edx + eax + 0x134]
mov dword [esp + 0x38], eax
test eax, eax
je 0x100709a6
mov eax, dword [edx + 0x174]
movzx ecx, byte [eax + edi]
mov eax, dword [esp + 0x64]
lea edx, [eax + ebx*4]
xor eax, eax
pxor xmm0, xmm0
xorps xmm6, xmm6
xorps xmm5, xmm5
xorps xmm4, xmm4
test ecx, ecx
je 0x10070997
xor esi, esi
movss xmm1, dword [edx + esi*4 - 0x121e0]
movss xmm2, dword [edx + esi*4]
movaps xmm3, xmm1
mulss xmm3, xmm1
addss xmm4, xmm3
movaps xmm3, xmm1
addss xmm3, xmm2
subss xmm1, xmm2
mulss xmm2, xmm2
addss xmm5, xmm2
mulss xmm3, xmm3
addss xmm6, xmm3
mulss xmm1, xmm1
addss xmm0, xmm1
inc esi
cmp ecx, esi
jne 0x10070956
inc eax
add edx, 0x200
cmp eax, dword [esp + 0x38]
jne 0x10070950
jmp 0x100709b3
xorps xmm4, xmm4
xorps xmm5, xmm5
xorps xmm6, xmm6
pxor xmm0, xmm0
movss dword [esp + 0x50], xmm5
movss dword [esp + 0x5c], xmm6
movss dword [esp + 0x38], xmm4
xor eax, eax
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x18], xmm4
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov esi, dword [ebp + 0x10]
mov dword [esp + 8], esi
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 0x28], 0xffffffff
call fcn.1006ffe0
xor esi, esi
mov dword [esp + 0x24], esi
movss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 0x28], 1
call fcn.1006ffe0
cmp dword [esp + 0x90], esi
je 0x10070a8e
movss xmm0, dword [esp + 0x78]
ucomiss xmm0, dword [esp + 0x98]
lea esi, [esp + 0x90]
ja 0x10070a9d
cmp dword [esp + 0x70], 0
lea esi, [esp + 0x70]
je 0x10070b6c
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x34]
mov byte [edx + ecx + 0x8d], 1
mov byte [edx + ecx + 0xd], 0
movss xmm1, dword [esp + 0x38]
movaps xmm0, xmm1
divss xmm0, dword [esi + 0x14]
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x10298578]
jb 0x10070ad3
sqrtsd xmm0, xmm0
jmp 0x10070af4
movsd qword [esp], xmm0
call fcn.101460b0
movss xmm1, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [ebp + 0x10]
fstp qword [esp + 0x68]
movsd xmm0, qword [esp + 0x68]
movss xmm2, dword [esp + 0x48]
movss xmm3, dword [0x102da9f0]
movss xmm4, dword [0x102da9f4]
movss xmm5, dword [esp + 0x50]
cvtsd2ss xmm0, xmm0
movss dword [edx + ecx*4 + 0x22d0], xmm0
divss xmm1, xmm5
movss dword [edx + ecx*4 + 0x144b0], xmm1
mov esi, dword [esi + 4]
xor eax, eax
test esi, esi
setg al
or eax, 0xe
mov dword [edx + ecx*4 + 0x139f0], eax
cmp dword [esp + 0x44], 0
je 0x10070b8a
mov ecx, esi
cmp dword [esp + 0x58], eax
mov esi, dword [ebp + 8]
je 0x10070b8d
xor eax, eax
test ecx, ecx
setg al
mov ecx, dword [esp + 0x34]
mov byte [edx + ecx + 0xd], 1
xor eax, 0xf
mov dword [edx + ecx*4 + 0x139f0], eax
jmp 0x10070b8d
mov edx, dword [ebp + 0x10]
movss xmm2, dword [esp + 0x48]
mov esi, dword [ebp + 8]
movss xmm3, dword [0x102da9f0]
movss xmm4, dword [0x102da9f4]
jmp 0x10070b95
mov esi, dword [ebp + 8]
inc dword [esp + 0x4c]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x34]
cmp byte [edx + ecx + 0x143b0], 0
jne 0x10070bb8
cmp dword [edx + ecx*4 + 0x139f0], 0xb
jg 0x10070bb8
mov eax, dword [edx + ecx*4 + 0x141b0]
mov dword [esp + 0x40], eax
movzx eax, byte [edx + ecx + 0x8d]
mov dword [esp + 0x44], eax
mov eax, dword [edx + 0x174]
movzx eax, byte [eax + edi]
add ebx, eax
mov ecx, dword [edx + 0x178]
inc edi
cmp edi, ecx
jl 0x1007084b
mov ebx, dword [edx + 0x17c]
mov edi, dword [esp + 0x3c]
movzx eax, byte [edx + edi + 0x134]
add edi, eax
cmp edi, ebx
jl 0x10070827
cmp dword [esp + 0x4c], 0
setne byte [edx + 0xc]
mov ecx, dword [esp + 0x138]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x228], 3
jne 0x10070e52
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x64], 0
je 0x10070e52
cmp dword [ebp + 0x10], 0
mov esi, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
je 0x10070c9e
cmp ebx, 2
jl 0x10070c60
add esi, esi
xor edi, edi
dec edi
mov edx, esi
jmp 0x10070c91
mov dword [ebp - 0x10], ebx
mov ebx, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
sub ecx, ebx
xor edx, edx
mov edi, 0x1f
cmp ecx, 4
jb 0x10070c8b
mov ecx, dword [ebp - 0x10]
shl esi, cl
bswap esi
mov dword [ebx], esi
mov ebx, ecx
add dword [eax + 0x30], 4
mov ecx, dword [ebp + 0xc]
jmp 0x10070c91
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x10]
add ebx, edi
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], edx
mov dword [eax + 0x28], ebx
mov esi, edx
movsx edx, byte [ecx + 0x1c]
cmp ebx, 2
mov dword [ebp - 0x10], ebx
jl 0x10070cb3
add esi, esi
or edx, esi
xor ebx, ebx
dec ebx
jmp 0x10070ce6
mov edi, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
sub ecx, edi
mov ebx, 0x1f
cmp ecx, 4
jb 0x10070ce3
mov eax, dword [ebp - 0x10]
mov ecx, eax
shl esi, cl
mov cl, 1
sub cl, al
mov eax, edi
mov edi, edx
shr edi, cl
or edi, esi
bswap edi
mov dword [eax], edi
mov eax, dword [ebp + 8]
add dword [eax + 0x30], 4
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x10]
add esi, ebx
mov dword [eax + 0x24], edx
mov dword [eax + 0x28], esi
cmp byte [ecx + 0x1c], 0
je 0x10070e52
movsx edi, word [ecx + 0x1e]
mov dword [ebp - 0x10], esi
cmp esi, 0xc
jl 0x10070d13
shl edx, 0xb
or edi, edx
mov ebx, 0xfffffff5
jmp 0x10070d49
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
sub ecx, esi
mov ebx, 0x15
cmp ecx, 4
jb 0x10070d46
mov eax, dword [ebp - 0x10]
mov ecx, eax
shl edx, cl
mov cl, 0xb
sub cl, al
mov eax, esi
mov esi, edi
shr esi, cl
or esi, edx
bswap esi
mov dword [eax], esi
mov eax, dword [ebp + 8]
add dword [eax + 0x30], 4
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
add eax, ebx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], ebx
mov edx, edi
mov edi, dword [ecx + 0x20]
cmp ebx, 4
jl 0x10070d6f
shl edx, 3
or edi, edx
mov esi, 0xfffffffd
jmp 0x10070da3
mov esi, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x14], esi
sub ecx, esi
mov esi, 0x1d
cmp ecx, 4
jb 0x10070da3
mov ecx, ebx
shl edx, cl
mov cl, 3
sub cl, bl
mov dword [ebp - 0x10], ebx
mov ebx, edi
shr ebx, cl
or ebx, edx
bswap ebx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], ebx
mov ebx, dword [ebp - 0x10]
add dword [eax + 0x30], 4
add ebx, esi
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], ebx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
cmp cl, 0x28
mov eax, 0x28
cmovae ecx, eax
test cl, cl
mov ecx, dword [ebp + 0xc]
je 0x10070e52
xor esi, esi
movsx edx, byte [ecx + esi + 0x28]
mov dword [ebp - 0x10], ebx
cmp ebx, 2
jl 0x10070de1
add edi, edi
or edx, edi
xor eax, eax
dec eax
mov edi, dword [ebp + 8]
jmp 0x10070e2d
mov dword [ebp - 0x14], edx
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 0x30]
mov ecx, dword [edx + 0x34]
sub ecx, ebx
mov eax, 0x1f
cmp ecx, 4
jb 0x10070e25
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov dword [ebp - 0x18], ebx
mov ebx, edi
shl ebx, cl
mov cl, 1
sub cl, dl
mov edx, dword [ebp - 0x14]
mov edi, edx
shr edi, cl
or edi, ebx
bswap edi
mov ecx, dword [ebp - 0x18]
mov dword [ecx], edi
mov edi, dword [ebp + 8]
add dword [edi + 0x30], 4
mov ecx, dword [ebp + 0xc]
jmp 0x10070e2d
mov ecx, dword [ebp + 0xc]
mov edi, edx
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
add ebx, eax
mov dword [edi + 0x24], edx
mov dword [edi + 0x28], ebx
inc esi
mov eax, dword [ecx]
cmp al, 0x28
mov edi, 0x28
cmovae eax, edi
movzx eax, al
mov edi, edx
cmp esi, eax
jb 0x10070dc8
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x95ac]
cmp byte [eax], 0
je 0x10070f48
lea ecx, [edx + 0x1e8]
mov dword [ebp - 0x14], ecx
xor edi, edi
mov ebx, 0x9ee0
xor ecx, ecx
mov esi, edx
xor edx, edx
cmp byte [eax + ecx + 1], 1
lea eax, [ecx + 1]
mov dword [ebp - 0x18], eax
sete dl
inc edx
mov dword [ebp - 0x10], edx
mov esi, dword [esi + 0x95b0]
mov dword [ebp - 0x1c], ebx
add esi, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], edi
lea eax, [eax + edi*4]
mov dword [ebp - 0x24], eax
xor ebx, ebx
lea eax, [esi - 0x2000]
lea edi, [esi - 0x1000]
mov ecx, 0x1000
push ecx
push edi
push eax
call fcn.10132610
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + ebx*4]
mov ecx, 0x2000
add eax, ecx
mov ecx, 0x1000
push ecx
push eax
push edi
call fcn.10132610
add esp, 0xc
lea eax, [esi - 0x4000]
mov ecx, 0x1000
push ecx
push eax
push esi
call fcn.10132610
add esp, 0xc
mov word [esi - 0x9da2], 0
inc ebx
add esi, 0x121e0
cmp dword [ebp - 0x10], ebx
jne 0x10070ebc
mov edi, dword [ebp - 0x20]
add edi, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x95ac]
movzx ecx, byte [eax]
mov ebx, dword [ebp - 0x1c]
add ebx, 0x85ae0
mov esi, dword [ebp - 0x18]
cmp esi, ecx
mov ecx, esi
jb 0x10070e8d
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x28
mov eax, dword [ebp + 8]
cmp dword [eax + 0x228], 3
jne 0x100711fb
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0x95f0]
mov edi, dword [eax + ecx*4 + 0x1e8]
lea ebx, [edx + 0x7dc0]
xorps xmm4, xmm4
xor esi, esi
xorpd xmm5, xmm5
mov dword [esp + 4], ebx
xorps xmm3, xmm3
xor edx, edx
xor ecx, ecx
cmp esi, 0x401
mov eax, 0x400
cmovge eax, esi
xorps xmm1, xmm1
mov dword [esp], eax
cmp eax, 0xbff
ja 0x1007104c
xorps xmm0, xmm0
mov eax, dword [esp]
xorps xmm6, xmm6
movss xmm1, dword [ebx + eax*4]
movss xmm2, dword [edi + eax*4]
mulss xmm2, xmm1
addss xmm6, xmm2
mulss xmm1, xmm1
addss xmm0, xmm1
inc eax
cmp eax, 0xc00
jne 0x10070fbe
ucomiss xmm0, xmm4
xorps xmm1, xmm1
jbe 0x1007104c
cvtss2sd xmm0, xmm0
ucomisd xmm0, xmm5
jb 0x10070ff8
sqrtsd xmm0, xmm0
jmp 0x10071041
sub esp, 8
movsd qword [esp], xmm0
mov dword [esp + 0x1c], ecx
movss dword [esp + 0x18], xmm3
mov dword [esp + 0x14], edx
movss dword [esp + 0x10], xmm6
call fcn.101460b0
movss xmm6, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xorpd xmm5, xmm5
xorps xmm4, xmm4
movss xmm3, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add esp, 8
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
divsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
ucomiss xmm0, xmm1
cvttss2si eax, xmm0
cmova ecx, esi
cmova edx, eax
jbe 0x1007107f
mov eax, 0xc00
sub eax, dword [esp]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movaps xmm3, xmm0
inc esi
add ebx, 0xfffffffc
cmp esi, 0x800
jne 0x10070f96
xor eax, eax
test ecx, ecx
cmovle ecx, eax
mov esi, ecx
mov ecx, 0x7ff
cmp esi, ecx
cmovge esi, ecx
movss xmm1, dword [0x102da9f8]
addss xmm1, xmm3
mulss xmm1, xmm1
minss xmm1, dword [0x102d7c60]
movss xmm0, dword [0x102da9fc]
addss xmm0, xmm3
mulss xmm0, xmm0
xor ecx, ecx
ucomiss xmm1, xmm0
seta cl
minss xmm0, xmm1
movss xmm1, dword [0x102daa00]
addss xmm1, xmm3
mulss xmm1, xmm1
ucomiss xmm0, xmm1
mov edx, 2
cmovbe edx, ecx
minss xmm1, xmm0
movss xmm0, dword [0x102daa04]
addss xmm0, xmm3
mulss xmm0, xmm0
ucomiss xmm1, xmm0
mov ecx, 3
cmovbe ecx, edx
minss xmm0, xmm1
movss xmm1, dword [0x102daa08]
addss xmm1, xmm3
mulss xmm1, xmm1
ucomiss xmm0, xmm1
mov edx, 4
cmovbe edx, ecx
minss xmm1, xmm0
movss xmm0, dword [0x102daa0c]
addss xmm0, xmm3
mulss xmm0, xmm0
ucomiss xmm1, xmm0
mov ecx, 5
cmovbe ecx, edx
minss xmm0, xmm1
movss xmm1, dword [0x102daa10]
addss xmm1, xmm3
mulss xmm1, xmm1
ucomiss xmm0, xmm1
mov edx, 6
cmovbe edx, ecx
mov edi, dword [ebp + 0xc]
mov word [edi + 0x1e], si
addss xmm3, dword [0x102daa14]
minss xmm1, xmm0
mulss xmm3, xmm3
ucomiss xmm1, xmm3
mov ecx, 7
cmovbe ecx, edx
mov dword [edi + 0x20], ecx
movss xmm0, dword [ecx*4 + 0x102daa18]
movss dword [edi + 0x24], xmm0
test esi, esi
je 0x100711f7
mov ebx, esi
movzx ecx, bx
mov edx, 0x400
add esi, edx
cmp ecx, edx
mov ecx, 0x800
cmovb ecx, esi
shl ebx, 2
sub edi, ebx
add edi, 0x9dc0
mov edx, dword [esp + 4]
movss xmm1, dword [edi + eax*4]
mulss xmm1, xmm0
movss dword [edx + eax*4], xmm1
inc eax
cmp ecx, eax
jne 0x100711c9
lea eax, [edx + ecx*4]
shl ecx, 2
mov edx, 0x2000
sub edx, ecx
push edx
push 0
push eax
call fcn.10132b90
add esp, 0xc
jmp 0x100711fb
mov byte [edi + 0x1c], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 0
je 0x10071231
cmp dword [eax + 0x124], 2
je 0x10071231
cmp dword [eax + 0x12304], 2
jne 0x1007123d
mov byte [eax + 0x13c], 0
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [eax + 0x120]
cmp dl, 0x28
mov ecx, 0x28
cmovb ecx, edx
test cl, cl
je 0x10071282
movzx edx, cl
xor esi, esi
xor ecx, ecx
movsx edi, byte [eax + esi + 0x148]
movsx ebx, byte [eax + esi + 0x12328]
add ebx, edi
cmp ebx, 2
jne 0x10071273
inc ecx
jmp 0x1007127b
mov byte [eax + esi + 0x148], 0
inc esi
cmp edx, esi
jne 0x10071259
jmp 0x10071284
xor ecx, ecx
xor edx, edx
test ecx, ecx
setne dl
setne byte [eax + 0x13c]
mov dword [eax + 0x184], edx
jmp 0x10071238
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x78
mov edx, dword [ebp + 0xc]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [edx]
cmp cl, 0x28
mov eax, 0x28
cmovb eax, ecx
cmp dword [edx + 4], 2
jne 0x10071304
cmp word [edx + 0x1e], 0
je 0x1007182e
lea eax, [edx + 0x7dc0]
xor esi, esi
push 0x3000
push esi
push eax
mov edi, edx
call fcn.10132b90
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi + 0x1c], xmm0
movups xmmword [edi + 0x2c], xmm0
movups xmmword [edi + 0x3c], xmm0
mov dword [edi + 0x4c], esi
jmp 0x1007182e
cmp word [edx + 0x1e], 0
je 0x1007182e
mov ecx, dword [ebp + 8]
movss xmm0, dword [ecx + 0x95f8]
ucomiss xmm0, dword [0x102d7c90]
ja 0x1007182e
movzx ebx, al
mov eax, 0xfffffff1
sub eax, ebx
mov dword [ebp - 0x54], eax
mov eax, dword [edx + 0x5c]
mov dword [ebp - 0x24], eax
test eax, eax
jle 0x10071706
lea eax, [ecx + 0x97c0]
mov dword [ebp - 0x44], eax
lea eax, [ecx + 0x99c0]
mov dword [ebp - 0x20], eax
lea eax, [ecx + 0x9bc0]
mov dword [ebp - 0x40], eax
mov eax, dword [edx + 0x58]
lea ecx, [edx + 0xadc0]
mov dword [ebp - 0x68], ecx
lea ecx, [edx + 0x35c0]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x4c], 0
xor edi, edi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x50], ebx
test eax, eax
jle 0x100716f5
mov eax, edi
shl eax, 4
mov dword [ebp - 0x78], eax
mov ecx, edi
shl ecx, 9
mov eax, dword [ebp - 0x68]
add eax, ecx
mov dword [ebp - 0x70], eax
add ecx, dword [ebp - 0x64]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x58], 0
xor esi, esi
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x78]
lea ecx, [esi + eax]
cmp ecx, ebx
mov eax, esi
mov dword [ebp - 0x1c], esi
ja 0x100716d9
cmp byte [edx + edi + 0x14], 0
je 0x100716d9
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x58]
lea eax, [ecx*4]
mov dword [ebp - 0x38], eax
mov edx, edi
mov eax, dword [ebp - 0x70]
lea ebx, [eax + ecx*4]
xor ecx, ecx
xorps xmm0, xmm0
xorps xmm1, xmm1
movss dword [ebp - 0x2c], xmm1
mov dword [ebp - 0x30], 0
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], ecx
xor eax, eax
dec eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x95f0]
mov ecx, eax
shl ecx, 0xb
lea ecx, [ecx + eax*4]
add ecx, dword [esi + 0x95bc]
lea eax, [edi + edx]
mov esi, eax
shl esi, 4
add esi, dword [ebp - 0x1c]
mov edx, esi
shl edx, 4
add edx, ecx
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x54]
shl eax, 7
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp byte [edx + eax], 0
movss dword [ebp - 0x24], xmm0
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x7c], esi
mov esi, dword [ebp + 0xc]
je 0x10071483
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [ebx + ecx*4 - 0x7800]
subss xmm0, dword [ebx + ecx*4]
movss dword [edi + ecx*4], xmm0
inc ecx
mov edx, dword [esi + 0x54]
movzx edx, byte [edx + eax]
cmp ecx, edx
jb 0x10071462
mov ecx, edx
mov eax, dword [ebp - 0x3c]
movzx ecx, cl
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x8a7c4]
lea edi, [esi + eax*4]
add edi, 0x35c0
mov dword [ebp - 0x3c], edi
mov esi, edx
call dword [section..00cfg]
push dword [ebp - 0x5c]
push edi
push dword [ebp - 0x44]
call ecx
add esp, 0xc
mov ecx, dword [esi + 0x8a7c4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
mov edi, dword [ebp - 0x1c]
movzx eax, byte [eax + edi]
mov dword [ebp - 0x5c], eax
call dword [section..00cfg]
push dword [ebp - 0x5c]
push dword [ebp - 0x20]
push dword [ebp - 0x40]
call ecx
add esp, 0xc
movss xmm0, dword [esi + 0x95f8]
mov eax, dword [ebp - 0x48]
divss xmm0, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x7c]
mov eax, dword [eax + esi*4 + 0x16f0]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + esi*4 + 0x1eb0]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x54]
movzx edx, byte [edx + edi]
sub esp, 0x30
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
xor ecx, ecx
mov dword [esp + 0x2c], ecx
lea eax, [ebp - 0x14]
mov dword [esp + 0x28], eax
mov eax, 0x7f800000
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm0
mov eax, dword [ebp - 0x44]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ecx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.10062ae0
add esp, 0x30
fstp dword [ebp - 0x84]
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x2c], xmm0
mov eax, dword [ebp + 8]
movss xmm0, dword [eax + 0x95f8]
mov eax, dword [ebp - 0x48]
divss xmm0, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + esi*4 + 0x16f0]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + esi*4 + 0x1eb0]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x54]
movzx edx, byte [edx + edi]
sub esp, 0x30
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
lea eax, [ebp - 0x18]
mov dword [esp + 0x28], eax
mov eax, 0x7f800000
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm0
mov eax, dword [ebp - 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call fcn.10062ae0
add esp, 0x30
fstp dword [ebp - 0x80]
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x80]
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x60]
inc edi
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + edx + 0x14]
add ebx, 0x200
cmp edi, eax
jb 0x100713ff
mov esi, dword [ebp + 0xc]
movss xmm1, dword [ebp - 0x2c]
ucomiss xmm1, xmm0
jbe 0x100716d1
cmp dword [ebp - 0x30], ecx
jle 0x100716d1
mov dword [ebp - 0x28], ecx
test al, al
mov edi, dword [ebp - 0x34]
je 0x100716b2
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x54]
mov edx, dword [ebp - 0x1c]
mov bl, byte [ecx + edx]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x6c]
mov dword [ebp - 0x38], edx
xor edx, edx
xor esi, esi
test bl, bl
je 0x100716a1
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x38]
movss xmm0, dword [edi + esi*4]
subss xmm0, dword [edi + esi*4 + 0x7800]
movss dword [edi + esi*4], xmm0
inc esi
movzx ebx, byte [ecx + eax]
cmp esi, ebx
jb 0x10071679
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x34]
mov al, byte [eax + edi + 0x14]
jmp 0x100716a3
xor ebx, ebx
inc edx
movzx esi, al
add dword [ebp - 0x38], 0x200
cmp edx, esi
jb 0x1007166d
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x74]
mov byte [edx + eax + 0x28], 1
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x28]
inc dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x50]
jmp 0x100716d9
mov ebx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x34]
mov edx, esi
mov ecx, dword [edx + 0x54]
mov eax, dword [edx + 0x58]
mov esi, dword [ebp - 0x1c]
movzx ecx, byte [ecx + esi]
add dword [ebp - 0x58], ecx
inc esi
cmp esi, eax
jl 0x100713b0
mov esi, dword [edx + 0x5c]
movzx ecx, byte [edx + edi + 0x14]
add edi, ecx
cmp edi, esi
jl 0x10071381
jmp 0x10071710
mov dword [ebp - 0x4c], 0
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x4c], 0
setne al
cmp dword [ebp - 0x54], 0
setns cl
and cl, al
mov byte [edx + 0x1c], cl
movzx edx, cl
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x64], edx
mov edx, dword [ebp + 0xc]
cmp al, cl
mov eax, dword [ebp - 0x24]
je 0x1007182e
test eax, eax
jle 0x1007182e
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x28], eax
lea eax, [edx + 0x35c0]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x28], 0
jle 0x10071815
mov ecx, dword [ebp - 0x20]
mov eax, ecx
shl eax, 4
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x54]
shl ecx, 9
add ecx, dword [ebp - 0x60]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x2c], 0
xor edx, edx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x44]
add eax, edx
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + eax + 0x28], 0
je 0x10071804
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
mov al, byte [eax + ecx + 0x14]
mov byte [ebp - 0x1c], al
test al, al
je 0x10071804
mov al, byte [ebx + edx]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x2c]
lea ecx, [ecx + esi*4]
xor edi, edi
xor esi, esi
test al, al
je 0x100717f3
mov dword [ebp - 0x48], edi
movss xmm0, dword [ecx + esi*4 + 0x7800]
addss xmm0, dword [ecx + esi*4]
movss dword [ecx + esi*4], xmm0
inc esi
movzx eax, byte [ebx + edx]
cmp esi, eax
jb 0x100717c2
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp - 0x20]
mov bl, byte [esi + edi + 0x14]
mov byte [ebp - 0x1c], bl
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x48]
jmp 0x100717f5
xor eax, eax
inc edi
movzx esi, byte [ebp - 0x1c]
add ecx, 0x200
cmp edi, esi
jb 0x100717b9
movzx eax, byte [ebx + edx]
add dword [ebp - 0x2c], eax
inc edx
cmp edx, dword [ebp - 0x28]
jne 0x1007178b
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
movzx eax, byte [eax + ecx + 0x14]
add ecx, eax
mov dword [ebp - 0x20], ecx
cmp ecx, dword [ebp - 0x24]
jl 0x1007175b
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10130483
add esp, 0x78
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [eax + 0x95a0]
movzx eax, byte [eax + str.____________]
cmp cl, al
cmovb eax, ecx
cmp dword [edx + 4], 2
jne 0x10071897
xor eax, eax
xorps xmm0, xmm0
movaps xmm1, xmmword [0x102daa40]
mov ecx, dword [ebp + 0xc]
movups xmmword [ecx + eax + 0xcdd0], xmm0
movups xmmword [ecx + eax + 0xcdc0], xmm1
add eax, 0x20
cmp eax, 0x5400
jne 0x10071875
jmp 0x10071b42
movzx ecx, al
test ecx, ecx
je 0x10071afd
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x14], eax
movzx eax, word [eax]
lea esi, [edx + 0xcddc]
mov dword [ebp - 0x18], esi
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov edi, edx
inc edx
mov esi, dword [ebp - 0x14]
movzx esi, word [esi + edi*2 + 2]
cmp ax, si
jae 0x10071af3
movzx ebx, ax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x20], eax
mov ecx, ebx
shl ecx, 5
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x20], 0
je 0x10071900
mov eax, dword [ebp + 0xc]
cmp byte [eax + edi + 0xec], 0
setne al
jmp 0x10071902
xor eax, eax
movss xmm6, dword [ecx - 4]
movss xmm5, dword [ecx - 0xc]
movss xmm2, dword [ecx - 8]
movss xmm1, dword [ecx - 0x1c]
movss xmm7, dword [ecx - 0x18]
movss xmm0, dword [ecx - 0x14]
movss dword [ebp - 0x10], xmm0
movss xmm3, dword [ecx - 0x10]
mov edx, dword [ebp + 0xc]
movss xmm0, dword [edx + ebx*4 + 0x35c0]
subss xmm0, dword [ecx]
test al, al
je 0x1007194a
mov eax, dword [ebp + 0xc]
movss dword [eax + ebx*4 + 0x35c0], xmm0
mov dword [ebp - 0x30], ebx
movss dword [ebp - 0x2c], xmm6
mulss xmm6, xmm5
movaps xmm4, xmm0
subss xmm4, xmm6
movss xmm6, dword [0x102daa38]
mulss xmm7, xmm6
movaps xmm6, xmm2
mulss xmm6, xmm4
addss xmm6, xmm7
movd eax, xmm6
mulss xmm2, xmm2
mulss xmm4, xmm4
addss xmm4, xmm2
movss xmm2, dword [0x102daa38]
mulss xmm3, xmm2
movss xmm6, dword [0x10299208]
mulss xmm4, xmm6
addss xmm4, xmm3
movd ebx, xmm4
mulss xmm1, xmm2
movaps xmm3, xmm2
movaps xmm2, xmm5
mulss xmm2, xmm0
addss xmm2, xmm1
movd esi, xmm2
movaps xmm1, xmm5
mulss xmm1, xmm5
movaps xmm2, xmm0
mulss xmm2, xmm0
addss xmm2, xmm1
movss xmm1, dword [ebp - 0x10]
mulss xmm1, xmm3
mulss xmm2, xmm6
addss xmm2, xmm1
movd edi, xmm2
mov edx, 0xffff0000
and eax, edx
mov dword [ebp - 0x10], eax
mov dword [ecx - 0x18], eax
and ebx, edx
mov dword [ecx - 0x10], ebx
and esi, edx
mov dword [ecx - 0x1c], esi
and edi, edx
mov dword [ecx - 0x14], edi
movss xmm1, dword [ebp - 0x2c]
mulss xmm1, xmm0
subss xmm5, xmm1
movss xmm4, dword [0x102daa3c]
mulss xmm5, xmm4
movd eax, xmm5
and eax, edx
mov dword [ecx - 8], eax
mulss xmm0, xmm4
movd xmm3, edi
movd edi, xmm0
and edi, edx
mov dword [ecx - 0xc], edi
movss xmm5, dword [0x10299218]
ucomiss xmm3, xmm5
xorps xmm2, xmm2
xorps xmm1, xmm1
jbe 0x10071a6d
movd xmm0, esi
movaps xmm1, xmm4
divss xmm1, xmm3
movd edx, xmm1
mov esi, edx
and esi, 1
add edx, esi
add edx, 0x7fff
and edx, 0xffff0000
movd xmm1, edx
mulss xmm1, xmm0
movd xmm0, ebx
movss dword [ecx - 4], xmm1
ucomiss xmm0, xmm5
jbe 0x10071aa6
movss xmm3, dword [ebp - 0x10]
movaps xmm2, xmm4
divss xmm2, xmm0
movd edx, xmm2
mov esi, edx
and esi, 1
add edx, esi
add edx, 0x7fff
and edx, 0xffff0000
movd xmm2, edx
mulss xmm2, xmm3
movd xmm0, edi
movd xmm3, eax
mulss xmm3, xmm2
mulss xmm1, xmm0
addss xmm1, xmm3
movd eax, xmm1
add eax, 0x8000
and eax, 0xffff0000
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x30]
mov dword [edx + ebx*4 + 0xbdc0], eax
inc ebx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
movzx esi, word [eax + edx*2]
add ecx, 0x20
cmp ebx, esi
mov edi, dword [ebp - 0x24]
jb 0x100718ea
mov ecx, dword [ebp - 0x1c]
mov eax, esi
cmp edx, ecx
jne 0x100718bc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x10071b42
cmp ecx, 0x2a0
jg 0x10071b42
lea eax, [ecx - 0x1f]
shl ecx, 5
mov edx, dword [ebp + 0xc]
add ecx, edx
add ecx, 0xcdbc
xorps xmm0, xmm0
movaps xmm1, xmmword [0x102daa40]
movups xmmword [ecx - 0xc], xmm0
movups xmmword [ecx - 0x1c], xmm1
add eax, 0x1e
add ecx, 0x3c0
cmp eax, 0x282
jl 0x10071b2a
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7c
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [ebx + 0x120]
mov eax, dword [edx + 0x95a0]
movzx eax, byte [eax + str.____________]
mov edx, dword [ebx + 0x12300]
cmp dl, al
cmovb eax, edx
cmp al, cl
cmovae eax, ecx
cmp dword [ebx + 4], 0
je 0x10071e78
cmp dword [ebx + 0x124], 2
je 0x10071e78
cmp dword [ebx + 0x12304], 2
je 0x10071e78
mov ecx, dword [ebx + 0x17c]
test ecx, ecx
jle 0x10071e5c
movzx esi, al
mov eax, dword [ebx + 0x178]
lea edx, [ebx + 0x148c0]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], esi
test eax, eax
jle 0x10071e42
mov eax, dword [ebp - 0x2c]
mov ecx, eax
shl ecx, 4
mov dword [ebp - 0x5c], ecx
shl eax, 9
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
xor edx, edx
xor edi, edi
mov eax, dword [ebp - 0x5c]
lea ecx, [edi + eax]
cmp ecx, 9
ja 0x10071c56
mov al, byte [ebx + ecx + 0x20c]
test al, al
je 0x10071c2d
mov byte [ebx + ecx + 0x20c], 0
mov eax, dword [ebx + ecx*4 + 0x1a10]
mov dword [ebx + ecx*4 + 0x1810], eax
cmp byte [ebx + ecx + 0x123ec], 0
je 0x10071de9
mov byte [ebx + ecx + 0x123ec], 0
mov eax, dword [ebx + ecx*4 + 0x13bf0]
mov dword [ebx + ecx*4 + 0x139f0], eax
jmp 0x10071de9
movzx eax, byte [ebx + ecx + 0x20c]
cmp ecx, esi
ja 0x10071c13
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebx + ecx + 0x123ec]
mov dword [ebp - 0x30], edx
mov edx, eax
add edx, ecx
mov ecx, dword [ebp - 0x38]
cmp edx, 2
mov edx, dword [ebp - 0x30]
jne 0x10071c13
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebx + eax + 0x134]
test eax, eax
je 0x10071cf3
mov ecx, dword [ebx + 0x174]
movzx ecx, byte [ecx + edi]
mov esi, edx
mov edx, dword [ebp - 0x44]
lea edx, [edx + esi*4]
xor ebx, ebx
xorps xmm4, xmm4
xorps xmm5, xmm5
xorps xmm3, xmm3
test ecx, ecx
je 0x10071ce6
xor esi, esi
movss xmm0, dword [edx + esi*4 - 0x121e0]
movss xmm1, dword [edx + esi*4]
movaps xmm2, xmm0
mulss xmm2, xmm0
addss xmm3, xmm2
addss xmm0, xmm1
mulss xmm1, xmm1
addss xmm5, xmm1
mulss xmm0, xmm0
addss xmm4, xmm0
inc esi
cmp ecx, esi
jne 0x10071cb4
inc ebx
add edx, 0x200
cmp ebx, eax
jne 0x10071cae
jmp 0x10071cfc
xorps xmm3, xmm3
xorps xmm5, xmm5
xorps xmm4, xmm4
movss dword [ebp - 0x48], xmm4
movss dword [ebp - 0x4c], xmm5
movss dword [ebp - 0x50], xmm3
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x18], xmm3
mov dword [esp + 0x14], edi
mov esi, dword [ebp - 0x2c]
mov dword [esp + 0x10], esi
mov eax, dword [ebp - 0x30]
mov dword [esp + 0xc], eax
mov ebx, dword [ebp + 0xc]
mov dword [esp + 8], ebx
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0x28], 0xffffffff
call fcn.1006ffe0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x54], eax
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x58], xmm0
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
movss xmm0, dword [ebp - 0x48]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [ebp - 0x4c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov eax, dword [ebp - 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
call fcn.1006ffe0
mov eax, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x20]
ucomiss xmm0, dword [ebp - 0x58]
ja 0x10071dc9
mov eax, dword [ebp - 0x28]
test eax, eax
mov ecx, dword [ebp - 0x38]
je 0x10071e06
mov al, 1
mov byte [ebx + ecx + 0x20c], al
mov byte [ebx + ecx + 0x123ec], al
inc dword [ebp - 0x34]
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebx + 0x174]
mov eax, dword [ebx + 0x178]
movzx ecx, byte [ecx + edi]
add edx, ecx
inc edi
cmp edi, eax
jl 0x10071c01
jmp 0x10071e3c
cmp byte [ebx + ecx + 0x20c], 0
je 0x10071e26
mov byte [ebx + ecx + 0x20c], 0
mov eax, dword [ebx + ecx*4 + 0x1a10]
mov dword [ebx + ecx*4 + 0x1810], eax
cmp byte [ebx + ecx + 0x123ec], 0
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
jne 0x10071c3b
jmp 0x10071de9
mov ecx, dword [ebx + 0x17c]
mov edi, dword [ebp - 0x2c]
movzx edx, byte [ebx + edi + 0x134]
add edi, edx
mov dword [ebp - 0x2c], edi
cmp edi, ecx
jl 0x10071be1
jmp 0x10071e63
mov dword [ebp - 0x34], 0
xor eax, eax
cmp dword [ebp - 0x34], 0
setne al
mov dword [ebx + 0x184], eax
mov dword [ebx + 0x12364], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10130483
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [edx]
mov ecx, dword [ecx + 0x95a0]
movzx ebx, byte [ecx + str.____________]
cmp al, bl
cmovb ebx, eax
xor ecx, ecx
cmp dword [edx + 4], 2
je 0x10072547
cmp dword [edx + 0x68], 0
jne 0x10071f91
xor eax, eax
xorps xmm0, xmm0
movaps xmm1, xmmword [0x102daa40]
movups xmmword [edx + eax + 0xcdd0], xmm0
movups xmmword [edx + eax + 0xcdc0], xmm1
add eax, 0x20
cmp eax, 0x5400
jne 0x10071edf
mov dword [edx + 0x68], 1
lea eax, [edx + 0xbdc0]
lea ecx, [edx + 0x35c0]
push 0x1000
push ecx
push eax
call fcn.10132610
mov edx, dword [ebp + 0xc]
add esp, 0xc
movaps xmm0, xmmword [0x102daa50]
movups xmmword [edx + 0x74], xmm0
movaps xmm0, xmmword [0x102daa60]
movups xmmword [edx + 0x84], xmm0
movaps xmm0, xmmword [0x102daa70]
movups xmmword [edx + 0x94], xmm0
movaps xmm0, xmmword [0x102daa80]
movups xmmword [edx + 0xa4], xmm0
movaps xmm0, xmmword [0x102daa90]
movups xmmword [edx + 0xb4], xmm0
movaps xmm0, xmmword [0x102daaa0]
movups xmmword [edx + 0xc4], xmm0
movaps xmm0, xmmword [0x102daab0]
movups xmmword [edx + 0xd4], xmm0
mov dword [edx + 0xe4], 0x1d
mov dword [edx + 0xe8], 0x1e
movzx ebx, bl
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x97c0]
mov dword [ebp - 0x58], ecx
lea ecx, [eax + 0x99c0]
mov dword [ebp - 0x28], ecx
lea ecx, [eax + 0x9bc0]
mov dword [ebp - 0x60], ecx
lea ecx, [eax + 0x9dc0]
mov dword [ebp - 0x44], ecx
add eax, 0x9fc0
mov dword [ebp - 0x5c], eax
xor eax, eax
mov ecx, dword [edx + eax*4 + 0x74]
lea edx, [ecx + 1]
mov esi, dword [ebp + 0xc]
mov dword [esi + eax*4 + 0x74], edx
mov edx, dword [ebp + 0xc]
inc eax
cmp ecx, 0xf0
jge 0x1007200e
cmp eax, 0x1e
jne 0x10071fc5
xor eax, eax
dec eax
mov edi, edx
xor edx, edx
xor ecx, ecx
mov esi, dword [edi + edx*4 + 0x74]
inc edx
cmp esi, ecx
cmovg eax, edx
cmovg ecx, esi
cmp edx, 0x1e
jne 0x10071fed
xor edx, edx
cmp ecx, 0x41
cmovge edx, eax
mov dword [edi + 0x6c], edx
mov edx, edi
jmp 0x10072011
mov dword [edx + 0x6c], eax
lea eax, [edx + 0x18f0]
lea ecx, [edx + 0x16f0]
push 0x200
push ecx
push eax
call fcn.10132610
mov edx, dword [ebp + 0xc]
add esp, 0xc
xor ecx, ecx
cmp bl, 0xb
jb 0x10072547
lea eax, [edx + 0xbdc0]
mov dword [ebp - 0x50], eax
mov edi, 0xa
xor ecx, ecx
inc ecx
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x2c], ebx
xor eax, eax
dec eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov al, byte [edx + edi + 0x20b0]
mov esi, 0
mov dword [ebp - 0x20], 0
test al, al
jne 0x10072092
mov esi, dword [edx + edi*4 + 0x16f0]
mov dword [ebp - 0x20], esi
mov esi, 0xc
mov dword [ebp - 0x38], esi
test al, al
sete byte [ebp - 0x34]
mov eax, dword [edx + 0x50]
lea esi, [edi + 1]
mov dword [ebp - 0x3c], esi
movzx esi, word [eax + edi*2 + 2]
cmp esi, 0x2a0
ja 0x100724e5
movzx eax, word [eax + edi*2]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x95f0]
mov eax, ecx
shl eax, 0xb
lea eax, [eax + ecx*4]
add eax, dword [ebx + 0x95bc]
mov ebx, eax
mov eax, dword [edx + edi*4 + 0x16f0]
test ecx, ecx
je 0x100720e5
cmp eax, 0xd
jg 0x100720ea
cmp eax, 0xd
jne 0x100720f5
mov ebx, dword [ebp - 0x2c]
xor ecx, ecx
inc ecx
jmp 0x100724e5
mov ecx, dword [ebp - 0x1c]
sub esi, ecx
mov eax, edi
shl eax, 4
add ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x8a7c4]
mov dword [ebp - 0x24], eax
lea eax, [edx + ecx*4]
add eax, 0x35c0
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x24]
call dword [section..00cfg]
push esi
push dword [ebp - 0x30]
push dword [ebp - 0x58]
call dword [ebp - 0x24]
add esp, 0xc
mov edx, dword [ebp + 8]
movss xmm0, dword [edx + 0x95f8]
mov dword [ebp - 0x24], ebx
divss xmm0, dword [ebx + 8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4 + 0x1eb0]
sub esp, 0x30
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x2c], eax
lea ecx, [ebp - 0x14]
mov dword [esp + 0x28], ecx
movss dword [esp + 0x20], xmm0
mov ecx, dword [ebp - 0x20]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], esi
mov ecx, dword [ebp - 0x58]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x24], 0x7f800000
call fcn.10062ae0
add esp, 0x30
fstp dword [ebp - 0x68]
movss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x30], xmm0
test esi, esi
mov ebx, dword [ebp - 0x60]
jle 0x100721d0
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx*4]
xor ecx, ecx
movss xmm0, dword [eax + ecx*4 - 0x8800]
subss xmm0, dword [eax + ecx*4]
movss dword [ebx + ecx*4], xmm0
inc ecx
cmp esi, ecx
jne 0x100721b8
xor eax, eax
mov cl, byte [ebp - 0x34]
mov al, cl
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8a7c4]
call dword [section..00cfg]
push esi
push ebx
push dword [ebp - 0x44]
call ecx
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4 + 0x1eb0]
mov edx, dword [ebp - 0x20]
mov ecx, edx
cmp edx, 0xb
jg 0x10072266
xorps xmm0, xmm0
test esi, esi
jle 0x10072226
xor ecx, ecx
mov edx, dword [ebp - 0x44]
maxss xmm0, dword [edx + ecx*4]
inc ecx
cmp esi, ecx
jne 0x1007221c
mov ecx, 0x130
sub ecx, eax
mulss xmm0, dword [ecx*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si ecx, xmm0
mov edx, 0xb
cmp ecx, 0xd
ja 0x10072253
movzx edx, byte [ecx + 0x102d7ea4]
mov ecx, dword [ebp - 0x38]
cmp edx, ecx
cmovl ecx, edx
cmp edx, dword [ebp - 0x34]
mov edx, 1
cmovb ecx, edx
mov edx, dword [ebp + 8]
movss xmm0, dword [edx + 0x95f8]
mov edx, dword [ebp - 0x24]
divss xmm0, dword [edx + 8]
sub esp, 0x30
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
xor ecx, ecx
mov dword [esp + 0x2c], ecx
lea eax, [ebp - 0x18]
mov dword [esp + 0x28], eax
movss dword [esp + 0x20], xmm0
mov dword [esp + 0x14], esi
mov eax, dword [ebp - 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 0x24], 0x7f800000
call fcn.10062ae0
fstp st(0)
add esp, 0x30
test esi, esi
jle 0x10072360
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx*4]
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
movss xmm1, dword [edx + ecx*4]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x100722ee
jnp 0x100722f7
movss xmm0, dword [eax + ecx*4]
subss xmm0, xmm1
addss xmm0, dword [eax + ecx*4]
movss dword [eax + ecx*4], xmm0
inc ecx
cmp esi, ecx
jne 0x100722dc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8a7c4]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + 0xc]
lea ebx, [edx + eax*4]
add ebx, 0xbdc0
call dword [section..00cfg]
push esi
mov dword [ebp - 0x1c], ebx
push ebx
push dword [ebp - 0x28]
call ecx
add esp, 0xc
cmp dword [ebp - 0x20], 0xc
jge 0x100723e3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4 + 0x1eb0]
test esi, esi
mov ebx, dword [ebp - 0x2c]
jle 0x1007239b
xorps xmm0, xmm0
xor ecx, ecx
mov edx, dword [ebp - 0x28]
maxss xmm0, dword [edx + ecx*4]
inc ecx
cmp esi, ecx
jne 0x10072354
jmp 0x1007239e
mov ecx, dword [ebx + 0x8a7c4]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
lea ebx, [edx + eax*4]
add ebx, 0xbdc0
call dword [section..00cfg]
push esi
mov dword [ebp - 0x1c], ebx
push ebx
push dword [ebp - 0x28]
call ecx
add esp, 0xc
cmp dword [ebp - 0x20], 0xb
mov ebx, dword [ebp - 0x2c]
jg 0x100723e6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4 + 0x1eb0]
xorps xmm0, xmm0
mov ecx, 0x130
mov dword [ebp - 0x54], eax
sub ecx, eax
mulss xmm0, dword [ecx*4 + 0x103f5bd8]
addss xmm0, dword [0x102d7c44]
cvttss2si edx, xmm0
mov ecx, 0xb
cmp edx, 0xd
ja 0x100723ce
movzx ecx, byte [edx + 0x102d7ea4]
mov edx, dword [ebp - 0x38]
cmp ecx, edx
cmovl edx, ecx
cmp ecx, dword [ebp - 0x34]
mov ecx, 1
cmovb edx, ecx
jmp 0x100723f6
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4 + 0x1eb0]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movss xmm0, dword [ecx + 0x95f8]
mov eax, dword [ebp - 0x24]
divss xmm0, dword [eax + 8]
sub esp, 0x30
mov eax, dword [ebp - 0x54]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
movss dword [esp + 0x20], xmm0
mov dword [ebp - 0x38], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
mov edx, dword [ebp - 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0x24], 0x7f800000
call fcn.10062ae0
add esp, 0x30
fstp dword [ebp - 0x64]
movss xmm0, dword [ebp - 0x64]
test esi, esi
jle 0x10072488
xor eax, eax
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x28]
movss xmm2, dword [ecx + eax*4 - 0x200]
subss xmm2, dword [ecx + eax*4]
mulss xmm2, xmm2
addss xmm1, xmm2
inc eax
cmp esi, eax
jne 0x1007246b
jmp 0x1007248b
xorps xmm1, xmm1
mov eax, dword [ebp + 8]
movss xmm2, dword [eax + 0x95f8]
mov eax, dword [ebp - 0x24]
divss xmm2, dword [eax + 8]
mulss xmm2, xmm1
addss xmm0, xmm2
movss xmm1, dword [ebp - 0x30]
ucomiss xmm1, xmm0
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x38]
jb 0x100724d5
cmp esi, dword [ebp - 0x20]
jg 0x100724d5
mov eax, dword [ebp - 0x18]
mov byte [edx + edi + 0xec], 1
mov dword [edx + edi*4 + 0x16f0], esi
inc dword [ebp - 0x48]
mov esi, dword [ebp - 0x20]
jmp 0x100724d8
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov dword [edx + edi*4 + 0x18f0], esi
add dword [ebp - 0x4c], eax
mov edi, dword [ebp - 0x3c]
cmp edi, ebx
jne 0x10072063
cmp dword [ebp - 0x48], 0
je 0x10072545
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x4c]
jge 0x10072547
cmp bl, 0xb
jb 0x1007252d
add ebx, 0xfffffff6
xor eax, eax
cmp byte [edx + eax + 0xf6], 0
je 0x10072528
mov byte [edx + eax + 0xf6], 0
mov ecx, dword [edx + eax*4 + 0x1918]
mov dword [edx + eax*4 + 0x1718], ecx
inc eax
cmp ebx, eax
jne 0x10072508
xorps xmm0, xmm0
movups xmmword [edx + 0x105], xmm0
movups xmmword [edx + 0xfc], xmm0
movups xmmword [edx + 0xec], xmm0
xor ecx, ecx
mov dword [edx + 0x64], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10130483
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [esi]
mov ecx, dword [edi + 0x95a0]
movzx edx, byte [ecx + str.____________]
cmp al, dl
cmovb edx, eax
cmp dword [edi + 0x228], 0
je 0x10072594
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esi + 0x64], 0
je 0x1007258c
mov ecx, edi
xor ebx, ebx
cmp dword [esi + 0x6c], 0
setne bl
mov edi, dword [edi + 0x24]
mov eax, dword [ecx + 0x28]
cmp eax, 2
jl 0x100725b8
lea esi, [ebx + edi*2]
xor ebx, ebx
dec ebx
jmp 0x100725f5
mov esi, ebx
mov ebx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x10], ebx
sub ecx, ebx
mov ebx, 0x1f
cmp ecx, 4
jb 0x100725f2
mov ecx, eax
shl edi, cl
mov cl, 1
sub cl, al
mov ebx, esi
shr ebx, cl
or ebx, edi
bswap ebx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], ebx
mov ebx, 0x1f
mov ecx, dword [ebp + 8]
add dword [ecx + 0x30], 4
jmp 0x100725f5
mov ecx, dword [ebp + 8]
movzx edx, dl
mov dword [ebp - 0x10], edx
add eax, ebx
mov edi, esi
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x28], eax
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx + 0x6c]
test edx, edx
je 0x10072664
cmp eax, 6
jl 0x10072620
shl edi, 5
or edx, edi
mov ebx, 0xfffffffb
jmp 0x10072657
mov ebx, dword [ecx + 0x30]
mov esi, ecx
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x14], ebx
sub ecx, ebx
mov ebx, 0x1b
cmp ecx, 4
jb 0x10072655
mov ecx, eax
shl edi, cl
mov cl, 5
sub cl, al
mov esi, edx
shr esi, cl
or esi, edi
bswap esi
mov ecx, dword [ebp - 0x14]
mov dword [ecx], esi
mov ecx, dword [ebp + 8]
add dword [ecx + 0x30], 4
jmp 0x10072657
mov ecx, esi
add eax, ebx
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x28], eax
mov edi, edx
mov ebx, dword [ebp + 0xc]
cmp dword [ebp - 0x10], 0
je 0x1007258c
xor edx, edx
movzx esi, byte [ebx + edx + 0xec]
cmp eax, 2
jl 0x10072686
add edi, edi
or esi, edi
xor edi, edi
dec edi
jmp 0x100726c7
mov ebx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x14], ebx
sub ecx, ebx
cmp ecx, 4
jb 0x100726bc
mov ecx, eax
shl edi, cl
mov cl, 1
sub cl, al
mov ebx, esi
shr ebx, cl
or ebx, edi
bswap ebx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
add dword [ecx + 0x30], 4
mov edi, 0x1f
jmp 0x100726c7
mov ecx, dword [ebp + 8]
mov edi, 0x1f
mov ebx, dword [ebp + 0xc]
add eax, edi
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x28], eax
inc edx
mov edi, esi
cmp dword [ebp - 0x10], edx
jne 0x10072670
jmp 0x1007258c
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x124], 0
je 0x10072aeb
cmp dword [esi + 0x5c], 0
jle 0x10072aeb
xor eax, eax
cmp dword [esi + 4], 2
sete al
mov ebx, 2
sub ebx, eax
lea ecx, [eax + 0x1e]
mov dword [ebp - 0x3c], ecx
lea ecx, [eax + eax]
mov edx, 5
sub edx, ecx
mov dword [ebp - 0x28], edx
xor ecx, 6
mov dword [ebp - 0x34], ecx
lea ecx, [eax + eax]
add ecx, 0x1a
mov dword [ebp - 0x48], ecx
lea eax, [eax + eax + 0x1b]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x24]
mov edx, dword [eax + 0x28]
lea eax, [esi + 0x2c8]
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x20], ecx
mov ecx, dword [esi + ecx*4 + 0x128]
sub eax, ebx
jle 0x10072770
mov edx, ecx
mov ecx, ebx
shl edi, cl
or edx, edi
mov ebx, dword [ebp - 0x20]
jmp 0x100727ab
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
sub ecx, eax
cmp ecx, 4
jb 0x100727a0
mov ecx, edx
shl edi, cl
mov ecx, ebx
sub ecx, edx
mov ebx, dword [ebp - 0x14]
shr ebx, cl
or ebx, edi
bswap ebx
mov dword [eax], ebx
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
add dword [eax + 0x30], 4
add edx, dword [ebp - 0x3c]
mov eax, edx
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov edi, edx
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x28], eax
cmp dword [esi + ebx*4 + 0x128], 0
je 0x100727cd
cmp eax, 2
jl 0x100727d4
add edi, edi
inc edi
xor edx, edx
dec edx
jmp 0x10072812
mov ecx, edi
jmp 0x10072ad1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x10], edx
sub ecx, edx
mov edx, 0x1f
cmp ecx, 4
jb 0x1007280f
mov ecx, eax
shl edi, cl
mov cl, 1
sub cl, al
xor ebx, ebx
inc ebx
shr ebx, cl
or ebx, edi
bswap ebx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], ebx
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
add dword [ecx + 0x30], 4
xor edi, edi
inc edi
add eax, edx
mov ecx, dword [ebp + 8]
mov edx, edi
mov dword [ecx + 0x24], edi
mov dword [ecx + 0x28], eax
cmp dword [esi + ebx*4 + 0x128], 0
jle 0x10072acf
xor edi, edi
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], ecx
mov ecx, edx
mov edx, ecx
shl ebx, 4
add ebx, esi
mov dword [ebp - 0x10], ebx
mov esi, dword [ebx + edi*4 + 0x148]
mov ebx, eax
mov ecx, dword [ebp - 0x34]
sub ebx, ecx
mov dword [ebp - 0x38], edi
jle 0x10072865
shl edx, cl
or esi, edx
mov eax, dword [ebp - 0x28]
mov ecx, esi
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
jmp 0x100728a1
mov dword [ebp - 0x14], esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
sub ecx, ebx
cmp ecx, 4
jb 0x10072893
mov ecx, eax
shl edx, cl
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov edi, dword [ebp - 0x14]
shr edi, cl
or edi, edx
bswap edi
mov dword [ebx], edi
mov edi, dword [ebp - 0x38]
add dword [esi + 0x30], 4
add eax, dword [ebp - 0x48]
mov ebx, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ebx
mov edx, dword [edx + edi*4 + 0x248]
mov dword [ebp - 0x14], edx
mov edx, ebx
sub edx, eax
jle 0x100728c6
mov ebx, ecx
mov ecx, eax
shl ebx, cl
mov ecx, dword [ebp - 0x14]
or ecx, ebx
mov ebx, edx
jmp 0x100728fb
mov edx, ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
sub ecx, eax
cmp ecx, 4
jb 0x100728f5
mov ecx, ebx
mov dword [ebp - 0x24], eax
mov eax, edx
shl eax, cl
mov ecx, dword [ebp - 0x28]
sub ecx, ebx
mov edx, dword [ebp - 0x14]
shr edx, cl
or edx, eax
bswap edx
mov eax, dword [ebp - 0x24]
mov dword [eax], edx
add dword [esi + 0x30], 4
add ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
lea eax, [edx + edi*4]
add eax, 0x248
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ebx
mov dword [ebp - 0x2c], eax
cmp dword [eax], 0
je 0x10072929
mov eax, dword [edx + edi*4 + 0x1c8]
cmp ebx, 2
jl 0x10072930
add ecx, ecx
or eax, ecx
xor edx, edx
dec edx
jmp 0x10072966
mov eax, ebx
jmp 0x10072ab2
mov edi, ecx
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x14], edx
sub ecx, edx
mov edx, 0x1f
cmp ecx, 4
jb 0x10072966
mov dword [ebp - 0x10], ebx
mov ecx, ebx
shl edi, cl
mov cl, 1
sub cl, bl
mov ebx, eax
shr ebx, cl
or ebx, edi
bswap ebx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], ebx
mov ebx, dword [ebp - 0x10]
add dword [esi + 0x30], 4
mov edi, dword [ebp - 0x1c]
add ebx, edx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ebx
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
test ecx, ecx
jle 0x100729c1
mov dword [ebp - 0x18], 0
xor edx, edx
mov esi, dword [edi + edx*4]
add esi, 0xfffffffc
cmp esi, 8
jb 0x100729c9
inc edx
cmp ecx, edx
jne 0x10072983
xor edx, edx
inc edx
mov dword [ebp - 0x18], edx
test ecx, ecx
mov esi, dword [ebp + 8]
jle 0x100729cc
xor eax, eax
mov edx, dword [edi + eax*4]
xor ebx, ebx
cmp edx, 0xc
setl bl
lea edx, [edx + ebx*8]
add edx, 0xfffffff8
mov dword [edi + eax*4], edx
inc eax
cmp ecx, eax
jne 0x100729a2
mov eax, dword [esi + 0x24]
mov ebx, dword [esi + 0x28]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
jmp 0x100729cc
mov esi, dword [ebp + 8]
cmp ebx, 2
jl 0x100729dc
mov ecx, dword [ebp - 0x18]
lea edi, [ecx + eax*2]
xor edx, edx
dec edx
jmp 0x10072a20
mov dword [ebp - 0x10], ebx
mov ebx, esi
mov esi, dword [esi + 0x30]
mov ecx, dword [ebx + 0x34]
sub ecx, esi
mov edx, 0x1f
cmp ecx, 4
jb 0x10072a18
mov ecx, dword [ebp - 0x10]
shl eax, cl
mov cl, 1
sub cl, byte [ebp - 0x10]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x18]
mov edi, esi
shr edi, cl
or edi, eax
bswap edi
mov eax, dword [ebp - 0x14]
mov dword [eax], edi
add dword [ebx + 0x30], 4
mov edi, esi
jmp 0x10072a1b
mov edi, dword [ebp - 0x18]
mov esi, ebx
mov ebx, dword [ebp - 0x10]
add ebx, edx
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], ebx
mov eax, dword [ebp - 0x2c]
cmp dword [eax], 0
jle 0x10072aae
mov ecx, 4
mov eax, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x24], ecx
or eax, 0x1c
mov dword [ebp - 0x18], eax
xor edx, edx
mov dword [ebp - 0x10], ebx
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x24]
sub eax, ecx
jle 0x10072a62
shl edi, cl
mov ecx, ebx
or ecx, edi
mov dword [ebp - 0x10], eax
jmp 0x10072a9c
mov dword [ebp - 0x14], ebx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
sub ecx, eax
cmp ecx, 4
jb 0x10072a90
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
shl edi, cl
mov ecx, dword [ebp - 0x24]
sub ecx, ebx
mov esi, dword [ebp - 0x14]
shr esi, cl
or esi, edi
bswap esi
mov dword [eax], esi
mov esi, dword [ebp + 8]
add dword [esi + 0x30], 4
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], eax
inc edx
mov edi, ecx
mov ebx, dword [ebp - 0x2c]
cmp edx, dword [ebx]
jl 0x10072a4a
jmp 0x10072ab2
mov eax, ebx
mov ecx, edi
mov edi, dword [ebp - 0x38]
inc edi
add dword [ebp - 0x1c], 0x50
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x20]
cmp edi, dword [esi + ebx*4 + 0x128]
jl 0x10072837
jmp 0x10072ad1
mov ecx, edx
inc ebx
add dword [ebp - 0x30], 0x140
mov edx, eax
mov edi, ecx
cmp ebx, dword [esi + 0x5c]
mov ecx, ebx
mov ebx, dword [ebp - 0x40]
jl 0x10072755
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov edx, dword [ebp + 0xc]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0x98], eax
mov eax, dword [edx + 0x60]
movzx ecx, byte [edx]
cmp eax, ecx
cmovl ecx, eax
mov dword [esp + 0x38], ecx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x70], xmm0
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
mov ecx, dword [edx + 0x5c]
test ecx, ecx
jle 0x10072d87
lea eax, [edx + 0x25c0]
mov dword [esp + 0x30], eax
movaps xmm0, xmmword [0x102a8d80]
mov dword [esp + 0x24], 0
xor esi, esi
mov eax, dword [edx + esi*4 + 0x128]
mov dword [esp + 0xc], eax
test eax, eax
jle 0x10072d79
mov edi, dword [edx + 0x58]
mov eax, esi
shl eax, 7
mov dword [esp + 0x34], eax
xor ecx, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov ebx, esi
shl ebx, 4
add ebx, edx
sub edi, dword [ebx + ecx*4 + 0x148]
test edi, edi
mov eax, 0
cmovle edi, eax
mov eax, dword [ebx + ecx*4 + 0x248]
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x18], ecx
je 0x10072d67
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edi
jle 0x10072c78
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
shl eax, 6
add eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 4
add eax, ecx
add eax, 0xcc8
mov dword [esp + 0x20], eax
xor edx, edx
lea ebx, [esp + 0x3c]
xor esi, esi
inc esi
mov edi, esi
shr edi, 1
cmp edi, 2
mov eax, 1
cmovb edi, eax
mov eax, dword [esp + 0x20]
movss xmm1, dword [eax + edx*4]
movaps xmm2, xmm1
xorps xmm2, xmm0
movss dword [esp + edx*4 + 0x40], xmm2
test edx, edx
lea edx, [edx + 1]
je 0x10072c6e
neg edi
xor ecx, ecx
lea eax, [esp + 0x40]
movss xmm2, dword [eax]
movss xmm3, dword [ebx + ecx*4]
movaps xmm4, xmm1
mulss xmm4, xmm3
movaps xmm5, xmm1
mulss xmm5, xmm2
subss xmm2, xmm4
movss dword [eax], xmm2
subss xmm3, xmm5
movss dword [ebx + ecx*4], xmm3
dec ecx
add eax, 4
cmp edi, ecx
jne 0x10072c3e
inc esi
add ebx, 4
cmp edx, dword [esp + 0x2c]
jne 0x10072c0b
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
cmp edi, esi
mov eax, esi
cmovl eax, edi
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x50]
mov ebx, dword [esp + 0x10]
cmp ebx, esi
cmovge ebx, esi
movzx eax, word [ecx + eax*2]
movzx ebx, word [ecx + ebx*2]
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 0x14]
jle 0x10072d67
dec ebx
xor ecx, ecx
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp dword [esi + edx*4 + 0x1c8], 0
sete cl
lea edx, [ecx + ecx - 1]
cmove ebx, eax
add ecx, ecx
mov eax, dword [esp + 0x24]
add eax, ebx
add ebx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
sub eax, edx
mov edx, dword [esp + 0x30]
lea eax, [edx + eax*4]
mov dword [esp + 0x10], eax
lea esi, [ecx*4 - 4]
mov dword [esp + 0x1c], esi
neg esi
xor edx, edx
mov eax, dword [esp + 0x2c]
cmp eax, edx
mov dword [esp + 0x20], edx
cmovl edx, eax
test edx, edx
mov ecx, dword [ebp + 0xc]
jle 0x10072d3a
movss xmm1, dword [ecx + ebx*4 + 0x35c0]
xor eax, eax
mov edi, dword [esp + 0x10]
movss xmm2, dword [esp + eax*4 + 0x40]
mulss xmm2, dword [edi]
addss xmm1, xmm2
movss dword [ecx + ebx*4 + 0x35c0], xmm1
inc eax
add edi, esi
cmp edx, eax
jne 0x10072d1c
mov edx, dword [esp + 0x20]
inc edx
add ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x10], eax
cmp edx, dword [esp + 0x3c]
jne 0x10072cf9
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + esi*4 + 0x128]
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
inc ecx
cmp ecx, dword [esp + 0xc]
jl 0x10072b9f
mov ecx, dword [edx + 0x5c]
inc esi
sub dword [esp + 0x24], 0xffffff80
cmp esi, ecx
jl 0x10072b7a
mov ecx, dword [esp + 0x98]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x168
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0x160], eax
lea eax, [esp + 0x60]
push 0x100
push 0xff
push eax
call fcn.10132b90
add esp, 0xc
mov eax, dword [edi + 0x60]
movzx ebx, byte [edi]
cmp eax, ebx
cmovl ebx, eax
mov eax, dword [edi + 4]
mov edx, dword [edi + 0x58]
xor ecx, ecx
cmp eax, 2
sete cl
mov ecx, dword [ecx*4 + 0x102dab08]
mov esi, dword [esi + 0x95a0]
movzx ecx, byte [ecx + esi]
cmp ecx, ebx
cmovge ecx, ebx
mov dword [esp + 0x20], ecx
cmp edx, ebx
cmovl ebx, edx
xor ecx, ecx
test edx, edx
cmovs ebx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 7
cmp eax, 2
je 0x10072e44
xor edx, edx
mov esi, dword [ebp + 8]
cmp dword [esi + 0x228], 1
setne dl
lea edx, [edx*8 + 0xc]
mov dword [esp + 8], edx
xor edx, edx
cmp eax, 1
setne dl
add edx, edx
xor esi, esi
inc esi
mov dword [esp + 0x10], eax
cmp eax, 3
cmove edx, esi
mov dword [esp + 0x40], edx
mov esi, dword [edi + 0x50]
mov ebx, dword [esp + 0xc]
movzx eax, word [esi + ebx*2]
mov edx, dword [esp + 0x20]
movzx esi, word [esi + edx*2]
sub eax, esi
mov dword [esp + 0x38], eax
jle 0x10073309
mov eax, ebx
sub eax, edx
mov dword [esp + 0x24], eax
test eax, eax
jle 0x10073309
cmp dword [edi + 0x5c], 0
jle 0x100732f7
mov esi, ebx
mov eax, dword [esp + 0x24]
shr eax, 1
mov ebx, dword [esp + 0x20]
add eax, ebx
mov dword [esp + 0x3c], eax
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0x240]
mov dword [esp + 0x34], eax
xor eax, eax
cmp dword [esp + 8], 0x14
sete al
or eax, 2
cmp dword [esp + 0x10], 2
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x30], eax
mov eax, ebx
shl eax, 4
or eax, 4
mov dword [esp + 0x2c], eax
lea eax, [edi + 0xcc8]
mov dword [esp + 0x28], eax
movss xmm5, dword [0x102d7c64]
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x58]
xorps xmm0, xmm0
cmp ebx, eax
jge 0x10072f7a
cmp esi, ebx
jl 0x10072f7a
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x95f0]
mov edx, ecx
shl edx, 0xb
lea ecx, [edx + ecx*4]
add ecx, dword [esp + 0x2c]
add ecx, dword [esi + 0x95bc]
xorps xmm1, xmm1
mov edx, ebx
xorps xmm0, xmm0
movss xmm3, dword [ecx]
movaps xmm2, xmm3
cmp edx, dword [esp + 0x3c]
jg 0x10072f4e
movaps xmm2, xmm5
movaps xmm4, xmm5
jg 0x10072f56
movaps xmm4, xmm3
addss xmm0, xmm4
addss xmm1, xmm2
lea esi, [edx + 1]
cmp esi, eax
jge 0x10072f70
add ecx, 0x10
cmp edx, dword [esp + 0xc]
mov edx, esi
jl 0x10072f3e
movss dword [esp + 0x5c], xmm1
mov esi, dword [esp + 0xc]
mov eax, dword [edi + 0x50]
movzx eax, word [eax + ebx*2]
movss dword [esp + 0x58], xmm0
mov ecx, dword [esp + 4]
shl ecx, 7
add ecx, eax
lea eax, [edi + ecx*4]
add eax, 0x35c0
lea ecx, [esp + 0x60]
push ecx
push dword [esp + 0xc]
push dword [esp + 0x40]
push eax
push dword [esp + 0x44]
call fcn.100753e0
add esp, 0x14
fstp qword [esp + 0x50]
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x10], xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.1013d821
movsd xmm1, qword [esp + 0x18]
add esp, 8
ucomisd xmm1, qword [0x102daac0]
ja 0x100732c9
movsd xmm0, qword [0x102daac8]
ucomisd xmm0, xmm1
ja 0x100732c9
test ax, ax
movss xmm5, dword [0x102d7c64]
movss xmm3, dword [0x102d7c60]
movss xmm4, dword [0x102daad0]
movss xmm6, dword [0x102daad4]
movss xmm7, dword [0x102daad8]
jg 0x100732d1
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 4]
mov dword [edi + eax*4 + 0x128], ecx
xor esi, esi
mov eax, dword [esp + 8]
xor edx, edx
div ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
cdq
idiv ecx
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x28]
xor ebx, ebx
mov ecx, dword [esp + 0x40]
mov eax, ecx
cmp ecx, 2
jne 0x10073079
xor eax, eax
test ebx, ebx
sete al
movss xmm0, dword [esp + eax*4 + 0x58]
xor eax, eax
ucomiss xmm0, dword [esp + ebx*4 + 0x58]
seta al
mov ecx, dword [esp + 4]
shl ecx, 4
add ecx, edi
mov dword [ecx + ebx*4 + 0x1c8], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + ebx*4 + 0x248], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], ebx
mov dword [ecx + ebx*4 + 0x148], eax
mov dword [esp + 0x4c], esi
lea ebx, [esp + esi*8]
add ebx, 0x60
xor esi, esi
xorps xmm0, xmm0
cvtsd2ss xmm0, qword [ebx + esi*8]
movaps xmm1, xmm0
mulss xmm1, xmm0
minss xmm1, xmm3
movaps xmm2, xmm0
addss xmm2, xmm4
mulss xmm2, xmm2
xor eax, eax
ucomiss xmm1, xmm2
seta cl
minss xmm2, xmm1
movaps xmm1, xmm0
addss xmm1, xmm6
mulss xmm1, xmm1
ucomiss xmm2, xmm1
mov edi, 2
ja 0x100730f2
mov al, cl
mov edi, eax
minss xmm1, xmm2
movaps xmm2, xmm0
addss xmm2, xmm7
mulss xmm2, xmm2
ucomiss xmm1, xmm2
mov eax, 3
ja 0x1007310d
mov eax, edi
minss xmm2, xmm1
movaps xmm1, xmm0
addss xmm1, dword [0x102daadc]
mulss xmm1, xmm1
ucomiss xmm2, xmm1
mov edi, 4
ja 0x1007312c
mov edi, eax
minss xmm1, xmm2
movaps xmm2, xmm0
addss xmm2, dword [0x102b3b80]
mulss xmm2, xmm2
ucomiss xmm1, xmm2
mov eax, 5
ja 0x1007314b
mov eax, edi
minss xmm2, xmm1
movaps xmm1, xmm0
addss xmm1, dword [0x102daae0]
mulss xmm1, xmm1
ucomiss xmm2, xmm1
mov edi, 6
ja 0x1007316a
mov edi, eax
minss xmm1, xmm2
movaps xmm2, xmm0
addss xmm2, dword [0x102daae4]
mulss xmm2, xmm2
ucomiss xmm1, xmm2
mov eax, 7
ja 0x10073189
mov eax, edi
minss xmm2, xmm1
movaps xmm1, xmm0
addss xmm1, dword [0x102daae8]
mulss xmm1, xmm1
ucomiss xmm2, xmm1
mov edi, 8
ja 0x100731a8
mov edi, eax
minss xmm1, xmm2
movaps xmm2, xmm0
addss xmm2, dword [0x102daaec]
mulss xmm2, xmm2
ucomiss xmm1, xmm2
mov eax, 9
ja 0x100731c7
mov eax, edi
minss xmm2, xmm1
movaps xmm1, xmm0
addss xmm1, dword [0x102daaf0]
mulss xmm1, xmm1
ucomiss xmm2, xmm1
mov edi, 0xa
ja 0x100731e6
mov edi, eax
minss xmm1, xmm2
movaps xmm2, xmm0
addss xmm2, dword [0x102daaf4]
mulss xmm2, xmm2
ucomiss xmm1, xmm2
mov eax, 0xb
ja 0x10073205
mov eax, edi
minss xmm2, xmm1
movaps xmm1, xmm0
addss xmm1, dword [0x102daaf8]
mulss xmm1, xmm1
ucomiss xmm2, xmm1
mov edi, 0xc
ja 0x10073224
mov edi, eax
minss xmm1, xmm2
movaps xmm2, xmm0
addss xmm2, dword [0x102daafc]
mulss xmm2, xmm2
ucomiss xmm1, xmm2
mov eax, 0xd
ja 0x10073243
mov eax, edi
minss xmm2, xmm1
movaps xmm1, xmm0
addss xmm1, dword [0x102dab00]
mulss xmm1, xmm1
ucomiss xmm2, xmm1
mov edi, 0xe
ja 0x10073262
mov edi, eax
minss xmm1, xmm2
addss xmm0, dword [0x102dab04]
mulss xmm0, xmm0
ucomiss xmm1, xmm0
mov eax, 0xf
ja 0x1007327e
mov eax, edi
mov dword [edx + esi*4 - 0xa00], eax
movss xmm0, dword [eax*4 + 0x102dab30]
movss dword [edx + esi*4], xmm0
inc esi
cmp dword [esp + 0x10], esi
jne 0x100730af
mov esi, dword [esp + 0x4c]
add esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
inc ebx
add edx, 0x50
cmp ebx, dword [esp + 0x30]
mov edi, dword [ebp + 0xc]
jb 0x10073057
inc dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x20]
jmp 0x100732d1
movss xmm5, dword [0x102d7c64]
mov ecx, dword [esp + 4]
inc ecx
add dword [esp + 0x2c], 0x100
add dword [esp + 0x28], 0x140
mov eax, ecx
mov dword [esp + 4], ecx
cmp ecx, dword [edi + 0x5c]
jl 0x10072f03
jmp 0x100732ff
mov dword [esp + 0x1c], 0
xor ecx, ecx
cmp dword [esp + 0x1c], 0
setne cl
mov dword [edi + 0x124], ecx
mov ecx, dword [esp + 0x160]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret