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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0x274
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x38]
movsd xmm1, qword [ebx]
movsd xmm2, qword [ebx + 8]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x40]
movsd qword [esp + 0x150], xmm1
movsd qword [esp + 0x158], xmm2
inc dword [0x10219660]
xor edi, edi
mov dword [esp + 0x220], edi
mov dword [esp + 0x224], edi
mov dword [esp + 0x228], edi
movsd xmm0, qword [ecx]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + edx*4]
mov ebx, dword [ecx]
movsd qword [esp + 0xb8], xmm0
mov dword [eax], edi
mov eax, dword [0x10219190]
imul edi, edx, 0xa10
mov edx, dword [edi + eax + 0xd0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x234], ebx
shl ecx, 4
push ecx
call fcn.101bcde0
mov esi, eax
mov eax, dword [0x10219190]
mov edx, dword [eax + edi + 0xd0]
mov ebx, dword [edx]
mov ecx, dword [ebx + 0x10]
shl ecx, 4
push ecx
push dword [ebx]
push esi
call fcn.101d7590
mov ebx, dword [0x10219190]
mov eax, dword [ebx + edi + 0xd0]
mov edx, dword [eax]
mov ebx, dword [edx + 0x10]
movsd xmm0, qword [edx + 0x18]
movsd xmm1, qword [edx + 0x48]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0x1a0], xmm1
movsd xmm2, qword [edx + 0x50]
movsd qword [esp + 0x1a8], xmm2
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x220], ecx
push ecx
call fcn.101bcde0
add esp, 0x14
mov dword [esp + 0x1bc], eax
mov eax, dword [0x10219190]
cmp dword [eax + edi + 0x95c], 0
je 0x1011478f
mov edx, dword [0x1021f8f8]
cmp edx, 3
je 0x101147bc
cmp edx, 2
je 0x101147bc
cmp edx, 1
je 0x101147bc
xor edx, edx
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1c0], edx
mov dword [esp + 0x108], edx
pxor xmm0, xmm0
movsd qword [esp + 0x110], xmm0
jmp 0x101147f4
cmp dword [0x1021f808], 1
je 0x10117fbd
xor edx, edx
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1c0], edx
mov dword [esp + 0x108], edx
pxor xmm0, xmm0
movsd qword [esp + 0x110], xmm0
mov dword [esp], esi
mov dword [esp + 4], ebx
movsd xmm0, qword [edi + eax + 0x78]
lea edx, [esp + 8]
movsd qword [edx], xmm0
movsd xmm1, qword [edi + eax + 0x80]
movsd qword [edx + 8], xmm1
pxor xmm2, xmm2
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [esp + 0x150]
lea eax, [esp + 0x20]
movsd qword [eax], xmm3
movsd xmm4, qword [esp + 0x158]
movsd qword [eax + 8], xmm4
movsd xmm5, qword [esp + 0xb8]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
mov edx, dword [0x10219190]
mov dword [esp + 4], 1
lea ecx, [esp + 8]
pxor xmm2, xmm2
lea eax, [esp + 0x190]
mov dword [esp], eax
movsd xmm0, qword [edx + edi + 0x78]
movsd qword [ecx], xmm0
lea eax, [esp + 0x20]
movsd xmm1, qword [edx + edi + 0x80]
movsd qword [ecx + 8], xmm1
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [esp + 0x150]
movsd qword [eax], xmm3
movsd xmm4, qword [esp + 0x158]
movsd qword [eax + 8], xmm4
movsd xmm5, qword [esp + 0xb8]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
lea eax, [esp + 0x1dc]
push eax
push ebx
push esi
call fcn.100ae040
add esp, 0xc
mov eax, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e4]
shl eax, 4
movsd xmm0, qword [esi + eax]
mov eax, dword [esp + 0x1e8]
movsd qword [esp + 0x160], xmm0
shl edx, 4
movsd xmm1, qword [esi + edx]
mov edx, dword [0x10219190]
movsd qword [esp + 0x168], xmm1
shl ecx, 4
movsd xmm2, qword [esi + ecx + 8]
movsd qword [esp + 0x170], xmm2
shl eax, 4
movsd xmm3, qword [esi + eax + 8]
cmp dword [edi + edx + 0x95c], 0
movsd qword [esp + 0x180], xmm3
je 0x1011496a
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x1011495d
cmp eax, 2
je 0x1011495d
cmp eax, 1
jne 0x1011496a
cmp dword [0x1021f808], 1
je 0x101158eb
mov eax, dword [0x1021f820]
shl eax, 3
push eax
call fcn.101bcde0
mov dword [esp + 0x250], eax
mov eax, dword [0x1021f820]
shl eax, 4
push eax
call fcn.101bcde0
mov dword [esp + 0x248], eax
mov eax, dword [0x1021f820]
shl eax, 3
push eax
call fcn.101bcde0
mov dword [esp + 0x254], eax
mov eax, dword [0x1021f820]
shl eax, 3
push eax
call fcn.101bcde0
mov dword [esp + 0x24c], eax
mov eax, dword [0x1021f820]
shl eax, 5
push eax
call fcn.101bcde0
mov dword [esp + 0x1dc], eax
mov eax, dword [0x1021f820]
shl eax, 3
push eax
call fcn.101bcde0
add esp, 0x18
mov dword [esp + 0x238], eax
xor eax, eax
cmp dword [0x1021f820], 0
mov dword [esp + 0x250], eax
jle 0x10114afb
mov dword [esp + 0x1fc], ebx
mov dword [esp + 0x230], esi
mov esi, eax
mov dword [esp + 0x244], edi
mov edi, dword [esp + 0x1c8]
xor eax, eax
mov ebx, eax
mov edx, dword [0x1021f828]
mov ecx, dword [edx + ebx*4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x24c]
mov dword [ecx + esi*4], edx
mov edx, dword [0x1021f828]
mov ecx, dword [esp + 0x248]
mov edx, dword [edx + ebx*4]
mov edx, dword [edx + 0xc]
mov dword [ecx + esi*4], edx
mov eax, dword [0x1021f828]
mov ecx, dword [esp + 0x240]
mov edx, dword [eax + ebx*4]
movsd xmm0, qword [edx + 0x18]
movsd qword [ecx + esi*8], xmm0
mov edx, dword [eax + ebx*4]
mov ecx, esi
movsd xmm1, qword [edx + 0x48]
shl ecx, 4
movsd qword [edi + ecx], xmm1
movsd xmm2, qword [edx + 0x50]
movsd qword [edi + ecx + 8], xmm2
mov ecx, dword [esp + 0x23c]
mov edx, dword [eax + ebx*4]
mov edx, dword [edx + 0x10]
mov dword [ecx + esi*4], edx
mov edx, dword [esp + 0x238]
mov dword [edx + esi*4], 0
mov edx, dword [0x1021f8f8]
inc esi
cmp edx, 3
je 0x10114ab8
cmp edx, 2
je 0x10114ab8
cmp edx, 1
jne 0x10114ad2
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x98]
mov edx, dword [esp + 0x234]
cmp dword [ecx + edx*4], 1
je 0x101180ba
inc ebx
cmp ebx, dword [0x1021f820]
jl 0x10114a23
mov ebx, dword [esp + 0x1fc]
mov edi, dword [esp + 0x244]
mov dword [esp + 0x250], esi
mov esi, dword [esp + 0x230]
movsd xmm1, qword [esp + 0x168]
subsd xmm1, qword [esp + 0x160]
movaps xmm2, xmm1
divsd xmm2, qword [0x101ebd68]
movsd xmm5, qword [esp + 0x170]
subsd xmm5, qword [esp + 0x180]
movaps xmm3, xmm5
divsd xmm3, qword [0x101ebd78]
movsd xmm4, qword [0x101ebd80]
mulsd xmm3, qword [0x101ebd70]
mulsd xmm4, xmm2
test ebx, ebx
movsd xmm0, qword [esp + 0x150]
movsd xmm6, qword [esp + 0x190]
addsd xmm0, xmm4
movsd qword [esp + 0x150], xmm0
addsd xmm6, xmm4
movsd qword [esp + 0x190], xmm6
jle 0x10114c31
cmp ebx, 8
jl 0x10115a6e
mov eax, ebx
and eax, 7
neg eax
add eax, ebx
xor edx, edx
movaps xmm0, xmm4
unpcklpd xmm0, xmm0
mov ecx, edx
shl ecx, 4
movsd xmm6, qword [ecx + esi]
movhpd xmm6, qword [ecx + esi + 0x10]
addpd xmm6, xmm0
movlpd qword [ecx + esi], xmm6
movhpd qword [ecx + esi + 0x10], xmm6
movsd xmm6, qword [ecx + esi + 0x20]
movhpd xmm6, qword [ecx + esi + 0x30]
addpd xmm6, xmm0
movlpd qword [ecx + esi + 0x20], xmm6
movhpd qword [ecx + esi + 0x30], xmm6
movsd xmm6, qword [ecx + esi + 0x40]
movhpd xmm6, qword [ecx + esi + 0x50]
addpd xmm6, xmm0
movlpd qword [ecx + esi + 0x40], xmm6
movhpd qword [ecx + esi + 0x50], xmm6
movsd xmm6, qword [ecx + esi + 0x60]
movhpd xmm6, qword [ecx + esi + 0x70]
addpd xmm6, xmm0
movlpd qword [ecx + esi + 0x60], xmm6
movhpd qword [ecx + esi + 0x70], xmm6
add edx, 8
cmp edx, eax
jb 0x10114b98
mov edx, eax
shl edx, 4
add edx, esi
cmp eax, ebx
jae 0x10114c31
movsd xmm0, qword [edx]
addsd xmm0, xmm4
movsd qword [edx], xmm0
inc eax
add edx, 0x10
cmp eax, ebx
jb 0x10114c1d
mov eax, dword [0x10219190]
cmp dword [eax + edi + 0x95c], 0
je 0x10114c61
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x10114c54
cmp eax, 2
je 0x10114c54
cmp eax, 1
jne 0x10114c61
cmp dword [0x1021f808], 1
je 0x10115a75
mulsd xmm5, qword [0x101ebd70]
movsd xmm0, qword [0x101ebd88]
movsd xmm6, qword [0x101ebd90]
mov ecx, dword [esp + 0x1b8]
movsd qword [esp + 0x208], xmm0
movsd qword [esp + 0x148], xmm3
movsd qword [esp + 0x140], xmm2
movsd qword [esp + 0x138], xmm5
movaps xmm7, xmm1
divsd xmm1, qword [0x101ebdb0]
addsd xmm7, qword [esp + 0x170]
subsd xmm7, qword [esp + 0x180]
divsd xmm7, qword [0x101ebd78]
movsd qword [esp + 0x130], xmm1
movsd qword [esp + 0x1d0], xmm7
mov dword [esp + 0x1fc], ebx
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x244], edi
mov eax, 0x28
mov dword [esp + 0x1cc], eax
xor edx, edx
mov dword [esp + 0x1d8], edx
pxor xmm4, xmm4
movsd qword [esp + 0x178], xmm4
shl ecx, 4
mov dword [esp + 0x11c], ecx
mov edx, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
lea eax, [esp + 0x200]
shl edx, 4
movsd xmm0, qword [esi + edx]
movsd qword [esp], xmm0
shl ecx, 4
movsd xmm1, qword [esi + ecx]
movsd qword [esp + 8], xmm1
call fcn.10118214
push dword [esp + 0x210]
push esi
push ebx
call fcn.101d7590
add esp, 0xc
movsd xmm0, qword [esp + 0x190]
movsd xmm1, qword [esp + 0x198]
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x244]
movsd qword [esp + 0x1a0], xmm0
movsd qword [esp + 0x1a8], xmm1
cmp dword [eax + edx + 0x95c], 0
je 0x10114dbe
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x10114db1
cmp eax, 2
je 0x10114db1
cmp eax, 1
jne 0x10114dbe
cmp dword [0x1021f808], 1
je 0x10115ba2
movsd xmm2, qword [esp + 0x200]
movsd xmm0, qword [0x1020c100]
comisd xmm0, xmm2
jbe 0x10114e69
pxor xmm1, xmm1
subsd xmm1, xmm0
comisd xmm2, xmm1
jbe 0x10114e69
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x1ec], eax
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0x1f0], edx
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0x1f4], ecx
mov edi, dword [esp + 0x1e8]
mov dword [esp + 0x1f8], edi
mov ecx, dword [0x1021f8f8]
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x244]
cmp dword [eax + edx + 0x95c], 0
je 0x10114f44
cmp ecx, 3
je 0x10114e57
cmp ecx, 2
je 0x10114e57
cmp ecx, 1
jne 0x10114f44
cmp dword [0x1021f808], 1
je 0x10115be8
jmp 0x10114f44
mov eax, dword [esp + 0x1fc]
mov dword [esp], ebx
mov dword [esp + 4], eax
lea edx, [esp + 8]
movsd xmm0, qword [esp + 0x150]
movsd qword [edx], xmm0
movsd xmm1, qword [esp + 0x158]
movsd qword [edx + 8], xmm1
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], 1
call fcn.100aef80
lea eax, [esp + 0x1ec]
push eax
push dword [esp + 0x200]
push ebx
call fcn.100ae040
add esp, 0xc
lea eax, [esp + 0x1a0]
mov dword [esp], eax
mov ecx, 1
lea edx, [esp + 8]
mov dword [esp + 4], ecx
movsd xmm0, qword [esp + 0x150]
movsd qword [edx], xmm0
movsd xmm1, qword [esp + 0x158]
movsd qword [edx + 8], xmm1
movsd xmm2, qword [esp + 0x200]
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], ecx
call fcn.100aef80
mov ecx, dword [0x1021f8f8]
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x244]
cmp dword [eax + edx + 0x95c], 0
je 0x10114f44
cmp ecx, 3
je 0x10114f37
cmp ecx, 2
je 0x10114f37
cmp ecx, 1
jne 0x10114f44
cmp dword [0x1021f808], 1
je 0x10115c2b
movsd xmm4, qword [0x1021fb90]
subsd xmm4, qword [0x101ebd90]
mov eax, dword [esp + 0x1ec]
mov edx, eax
shl edx, 4
movsd xmm0, qword [ebx + edx]
comisd xmm0, xmm4
jbe 0x10115024
movsd xmm3, qword [0x1021fb98]
subsd xmm3, qword [0x101ebd90]
mov edx, dword [esp + 0x1f8]
shl edx, 4
movsd xmm1, qword [ebx + edx + 8]
comisd xmm1, xmm3
jbe 0x10115024
movsd xmm2, qword [0x1021fba8]
addsd xmm2, qword [0x101ebd90]
mov edx, dword [esp + 0x1f4]
shl edx, 4
comisd xmm2, xmmword [ebx + edx + 8]
jbe 0x10115024
mov edi, dword [0x10219190]
mov edx, dword [esp + 0x244]
cmp dword [edx + edi + 0x95c], 0
je 0x1011501d
cmp ecx, 3
je 0x10115009
cmp ecx, 2
jne 0x10114ff0
cmp dword [0x1021f808], 1
je 0x10115dc0
mov edx, 1
jmp 0x10115035
cmp ecx, 1
jne 0x10115057
cmp dword [0x1021f808], 1
je 0x10115dc0
mov edx, 1
jmp 0x10115035
cmp dword [0x1021f808], 1
je 0x10115dc0
mov edx, 1
jmp 0x10115035
mov edx, 1
jmp 0x10115026
xor edx, edx
cmp ecx, 3
je 0x10115035
cmp ecx, 2
je 0x10115035
cmp ecx, 1
jne 0x1011504f
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x98]
mov ecx, dword [esp + 0x234]
cmp dword [edi + ecx*4], 1
je 0x1011807b
test edx, edx
je 0x101155f4
cmp dword [esp + 0x250], 0
jle 0x101151fa
mov dword [esp + 0x230], esi
xor edi, edi
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov ecx, dword [ecx + edi*4]
mov edx, dword [edx + edi*4]
mov esi, dword [edx + 4]
shl eax, 4
shl esi, 4
movsd xmm0, qword [ecx + esi]
comisd xmm0, xmmword [ebx + eax]
jbe 0x10115196
mov eax, dword [esp + 0x1f0]
mov esi, dword [edx]
shl eax, 4
movsd xmm0, qword [ebx + eax]
shl esi, 4
comisd xmm0, xmmword [ecx + esi]
jbe 0x10115196
mov eax, dword [esp + 0x1f4]
mov esi, dword [edx + 0xc]
shl eax, 4
movsd xmm0, qword [ebx + eax + 8]
shl esi, 4
comisd xmm0, xmmword [esi + ecx + 8]
jbe 0x10115196
mov esi, dword [esp + 0x1f8]
mov eax, dword [edx + 8]
shl esi, 4
shl eax, 4
movsd xmm0, qword [eax + ecx + 8]
comisd xmm0, xmmword [ebx + esi + 8]
jbe 0x10115196
mov esi, dword [esp + 0x240]
movsd xmm1, qword [esp + 0xe0]
movsd xmm0, qword [esi + edi*8]
movsd qword [esp + 4], xmm0
movsd qword [esp + 0x1c], xmm1
mov dword [esp], ecx
mov eax, edi
shl eax, 4
add eax, dword [esp + 0x1c8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x23c]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
xor ecx, ecx
lea esi, [esp + 0x1ec]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
lea edx, [esp + 0x118]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
call fcn.100b07a0
cmp dword [esp + 0x118], 2
je 0x10115e11
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x244]
cmp dword [eax + edx + 0x95c], 0
je 0x101151ce
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x101151c1
cmp eax, 2
je 0x101151c1
cmp eax, 1
jne 0x101151ce
cmp dword [0x1021f808], 1
je 0x10115eb5
inc edi
cmp edi, dword [esp + 0x250]
jge 0x101151e4
mov eax, dword [esp + 0x1ec]
jmp 0x1011506e
mov esi, dword [esp + 0x230]
mov eax, dword [esp + 0x1ec]
shl eax, 4
movsd xmm0, qword [ebx + eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x68]
test eax, eax
jle 0x1011551e
mov dword [esp + 0x230], esi
mov esi, dword [ebp + 8]
mov edi, 1
mov edx, dword [esi + 0x10]
cmp dword [edx + edi*4], 0
je 0x1011550e
mov edx, dword [esi + 0x38]
mov edx, dword [edx + edi*4]
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + edi*4]
shl ecx, 4
movsd xmm1, qword [edx + ecx]
comisd xmm1, xmm0
jbe 0x101154b0
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esi + 0x28]
shl eax, 4
movsd xmm0, qword [ebx + eax]
mov eax, dword [ecx + edi*4]
shl eax, 4
comisd xmm0, xmmword [edx + eax]
jbe 0x101154b0
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esi + 0x30]
shl eax, 4
movsd xmm0, qword [ebx + eax + 8]
mov eax, dword [ecx + edi*4]
shl eax, 4
comisd xmm0, xmmword [edx + eax + 8]
jbe 0x101154b0
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx + edi*4]
shl eax, 4
shl ecx, 4
movsd xmm0, qword [edx + ecx + 8]
comisd xmm0, xmmword [ebx + eax + 8]
jbe 0x101154b0
movsd xmm0, qword [esp + 0xe0]
mov eax, dword [esi + 0x40]
comisd xmm0, xmmword [eax + edi*8]
jae 0x10115373
mov dword [esp + 0x10c], 2
xor edx, edx
mov eax, dword [esi + 0x40]
movsd xmm1, qword [eax + edi*8]
comisd xmm1, xmmword [esp + 0xe0]
jb 0x101154b0
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 4], xmm0
movsd qword [esp + 0x1c], xmm1
mov dword [esp], ebx
lea ecx, [esp + 0x1ec]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x1fc]
lea eax, [esp + 0x1a0]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + edi*4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + edi*4]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
lea edx, [esp + 0x10c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
call fcn.100b07a0
cmp dword [esp + 0x10c], 1
jg 0x101154b0
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov eax, dword [0x10219190]
mov edx, dword [esi]
imul ecx, dword [edx + edi*4], 0xa10
mov dword [esp + 0x1bc], ebx
mov ebx, dword [eax + ecx + 0xd0]
mov edx, dword [ebx]
movsd xmm0, qword [edx + 0x48]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [edx + 0x50]
movsd qword [esp + 0x80], xmm1
mov ebx, dword [esi]
imul edx, dword [ebx + edi*4], 0xa10
lea ecx, [esp + 0x78]
mov dword [esp + 4], 1
mov dword [esp], ecx
movsd xmm2, qword [edx + eax + 0x78]
lea ecx, [esp + 8]
movsd qword [ecx], xmm2
movsd xmm3, qword [edx + eax + 0x80]
movsd qword [ecx + 8], xmm3
mov edx, edi
mov eax, dword [esi + 0x44]
shl edx, 4
lea ecx, [esp + 0x20]
pxor xmm4, xmm4
movsd qword [esp + 0x18], xmm4
movsd xmm5, qword [eax + edx]
movsd qword [ecx], xmm5
movsd xmm6, qword [eax + edx + 8]
movsd qword [ecx + 8], xmm6
mov ebx, dword [esp + 0x1bc]
mov eax, dword [esi + 0x48]
movsd xmm7, qword [eax + edi*8]
movsd qword [esp + 0x30], xmm7
call fcn.100ae4e0
movsd xmm1, qword [esp + 0xe0]
mov edx, dword [esi + 0x38]
mov ecx, dword [edx + edi*4]
mov eax, dword [esi + 0x40]
movsd xmm0, qword [eax + edi*8]
movsd qword [esp + 4], xmm0
movsd qword [esp + 0x1c], xmm1
xor eax, eax
mov dword [esp], ecx
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0xc], eax
lea edx, [esp + 0x78]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + edi*4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1fc]
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x10c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
call fcn.100b07a0
cmp dword [esp + 0x10c], 2
je 0x101160ab
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x244]
cmp dword [eax + edx + 0x95c], 0
je 0x101154db
mov edx, dword [0x1021f8f8]
cmp edx, 3
je 0x101154ef
cmp edx, 2
je 0x101154ef
cmp edx, 1
je 0x101154ef
mov edx, dword [esp + 0x1ec]
mov eax, dword [esi + 0x68]
shl edx, 4
movsd xmm0, qword [ebx + edx]
jmp 0x1011550e
cmp dword [0x1021f808], 1
je 0x101160b5
mov edx, dword [esp + 0x1ec]
mov eax, dword [esi + 0x68]
shl edx, 4
movsd xmm0, qword [ebx + edx]
inc edi
cmp edi, eax
jle 0x10115217
mov esi, dword [esp + 0x230]
movsd xmm1, qword [esp + 0x160]
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
movsd xmm2, qword [esp + 0x170]
subsd xmm1, xmm0
shl eax, 4
andps xmm1, xmmword [0x101ebcc0]
movsd xmm0, qword [esp + 0x168]
subsd xmm0, qword [ebx + eax]
andps xmm0, xmmword [0x101ebcc0]
mov ecx, dword [esp + 0x1f8]
addsd xmm1, xmm0
shl edx, 4
subsd xmm2, qword [ebx + edx + 8]
andps xmm2, xmmword [0x101ebcc0]
addsd xmm1, xmm2
shl ecx, 4
movsd xmm3, qword [esp + 0x180]
subsd xmm3, qword [ebx + ecx + 8]
movsd xmm4, qword [esp + 0x208]
andps xmm3, xmmword [0x101ebcc0]
addsd xmm1, xmm3
comisd xmm4, xmm1
jbe 0x101155f4
movsd xmm0, qword [esp + 0x150]
movsd xmm2, qword [esp + 0x158]
movsd xmm3, qword [esp + 0x200]
addsd xmm3, qword [esp + 0xb8]
movsd qword [esp + 0x120], xmm0
movsd qword [esp + 0x128], xmm2
movsd qword [esp + 0x178], xmm3
movsd qword [esp + 0x208], xmm1
movsd xmm0, qword [esp + 0x1d0]
comisd xmm0, xmmword [esp + 0x208]
ja 0x10116397
movsd xmm1, qword [esp + 0x150]
movaps xmm0, xmm1
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1e0]
shl edx, 4
movsd xmm2, qword [edx + esi]
mov eax, dword [ebp + 0x38]
subsd xmm0, qword [eax]
movsd xmm3, qword [0x101ebd98]
shl ecx, 4
comisd xmm3, xmmword [esp + 0x208]
subsd xmm2, qword [ecx + esi]
andps xmm0, xmmword [0x101ebcc0]
jbe 0x10115670
movaps xmm3, xmm2
divsd xmm3, qword [0x101ebda0]
comisd xmm0, xmm3
ja 0x10116397
ja 0x10115681
jmp 0x101156c3
movaps xmm3, xmm2
divsd xmm3, qword [0x101ebda0]
comisd xmm0, xmm3
jbe 0x101156d5
movsd xmm3, qword [esp + 0x130]
movsd xmm4, qword [esp + 0x138]
movsd xmm5, qword [0x101ebd98]
comisd xmm5, xmmword [esp + 0x208]
movsd qword [esp + 0x140], xmm3
movsd qword [esp + 0x148], xmm4
mov dword [esp + 0x1cc], 2
jbe 0x101156d5
mulsd xmm2, qword [0x101ebda8]
comisd xmm0, xmm2
ja 0x10117faa
mov eax, dword [esp + 0x1d8]
cmp eax, dword [esp + 0x1cc]
jne 0x10115723
mov eax, dword [esp + 0x1cc]
movsd xmm2, qword [esp + 0x140]
movsd qword [esp + 0x188], xmm2
shr eax, 1
cvtsi2sd xmm0, eax
mulsd xmm0, qword [esp + 0x148]
movsd qword [esp + 0x1b0], xmm0
mov dword [esp + 0x1d8], 0
jmp 0x10115784
lea edx, [eax + 1]
and eax, 0x80000001
jge 0x10115734
sub eax, 1
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x10115750
cvtsi2sd xmm0, edx
mulsd xmm0, qword [esp + 0x148]
movsd qword [esp + 0x1b0], xmm0
jmp 0x10115770
mov eax, dword [esp + 0x1d8]
neg eax
dec eax
cvtsi2sd xmm0, eax
mulsd xmm0, qword [esp + 0x148]
movsd qword [esp + 0x1b0], xmm0
mov dword [esp + 0x1d8], edx
pxor xmm0, xmm0
movsd qword [esp + 0x188], xmm0
movsd xmm0, qword [esp + 0x188]
movsd xmm2, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1fc]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm2
mov dword [esp], esi
addsd xmm1, xmm0
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x158]
addsd xmm1, xmm2
movsd qword [esp + 0x158], xmm1
mov dword [esp + 4], eax
call fcn.100ae570
movsd xmm0, qword [esp + 0x188]
movsd xmm1, qword [esp + 0x1b0]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm1
mov dword [esp + 4], 1
lea eax, [esp + 0x190]
mov dword [esp], eax
call fcn.100ae570
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x244]
cmp dword [eax + edx + 0x95c], 0
je 0x10114d1c
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x10115840
cmp eax, 2
je 0x10115840
cmp eax, 1
jne 0x10114d1c
cmp dword [0x1021f808], 1
jne 0x10114d1c
movsd xmm0, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0x188]
movsd xmm1, qword [esp + 0xb0]
movsd xmm3, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1b8]
movsd qword [esp + 8], xmm2
movsd qword [esp + 0x10], xmm3
addsd xmm0, xmm2
movsd qword [esp + 0xa8], xmm0
mov dword [esp], eax
addsd xmm1, xmm3
movsd qword [esp + 0xb0], xmm1
mov dword [esp + 4], edx
call fcn.100ae570
movsd xmm0, qword [esp + 0x188]
movsd xmm1, qword [esp + 0x1b0]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm1
mov dword [esp + 4], 1
lea eax, [esp + 0x98]
mov dword [esp], eax
call fcn.100ae570
jmp 0x10114d1c
movsd xmm3, qword [0x101ebd50]
movsd xmm2, qword [esp + 0xb8]
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
subsd xmm3, xmm2
movsd qword [esp + 0x40], xmm3
mov dword [esp + 4], 0x1021fb80
movsd xmm0, qword [esp + 0x150]
lea ecx, [esp + 0xa8]
lea edx, [esp + 8]
movsd qword [edx], xmm0
xor eax, eax
movsd xmm1, qword [esp + 0x158]
movsd qword [edx + 8], xmm1
movsd qword [esp + 0x1c], xmm2
movsd qword [esp + 0x2c], xmm3
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
call fcn.10100b90
imul eax, dword [esp + 0x108], 0xa10
mov edx, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x48], eax
mov dword [esp], edx
mov edx, dword [0x10219190]
mov dword [esp + 4], ecx
movsd xmm0, qword [edx + eax + 0x78]
lea ecx, [esp + 8]
movsd qword [ecx], xmm0
movsd xmm1, qword [edx + eax + 0x80]
movsd qword [ecx + 8], xmm1
lea eax, [esp + 0x20]
pxor xmm2, xmm2
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [esp + 0xa8]
movsd qword [eax], xmm3
movsd xmm4, qword [esp + 0xb0]
movsd qword [eax + 8], xmm4
movsd xmm5, qword [esp + 0x40]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
mov edx, dword [0x10219190]
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], 1
pxor xmm2, xmm2
lea eax, [esp + 0x98]
mov dword [esp], eax
movsd xmm0, qword [edx + ecx + 0x78]
lea eax, [esp + 8]
movsd qword [eax], xmm0
movsd xmm1, qword [edx + ecx + 0x80]
movsd qword [eax + 8], xmm1
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [esp + 0xa8]
lea edx, [esp + 0x20]
movsd qword [edx], xmm3
movsd xmm4, qword [esp + 0xb0]
movsd qword [edx + 8], xmm4
movsd xmm5, qword [esp + 0x40]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
lea eax, [esp + 0xe8]
push eax
push dword [esp + 0x1bc]
push dword [esp + 0x1c8]
call fcn.100ae040
add esp, 0xc
jmp 0x1011496a
xor eax, eax
jmp 0x10114c12
cmp dword [esp + 0x1b8], 0
movsd xmm0, qword [esp + 0xa8]
addsd xmm0, xmm4
movsd xmm6, qword [esp + 0x98]
movsd qword [esp + 0xa8], xmm0
addsd xmm6, xmm4
movsd qword [esp + 0x98], xmm6
jle 0x10114c61
cmp dword [esp + 0x1b8], 8
jl 0x10115b9e
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x244], edi
mov edi, dword [esp + 0x1c0]
mov edx, eax
and edx, 7
neg edx
add edx, eax
xor eax, eax
movaps xmm0, xmm4
unpcklpd xmm0, xmm0
mov ecx, eax
shl ecx, 4
movsd xmm6, qword [edi + ecx]
movhpd xmm6, qword [edi + ecx + 0x10]
addpd xmm6, xmm0
movlpd qword [edi + ecx], xmm6
movhpd qword [edi + ecx + 0x10], xmm6
movsd xmm6, qword [edi + ecx + 0x20]
movhpd xmm6, qword [edi + ecx + 0x30]
addpd xmm6, xmm0
movlpd qword [edi + ecx + 0x20], xmm6
movhpd qword [edi + ecx + 0x30], xmm6
movsd xmm6, qword [edi + ecx + 0x40]
movhpd xmm6, qword [edi + ecx + 0x50]
addpd xmm6, xmm0
movlpd qword [edi + ecx + 0x40], xmm6
movhpd qword [edi + ecx + 0x50], xmm6
movsd xmm6, qword [edi + ecx + 0x60]
movhpd xmm6, qword [edi + ecx + 0x70]
addpd xmm6, xmm0
movlpd qword [edi + ecx + 0x60], xmm6
movhpd qword [edi + ecx + 0x70], xmm6
add eax, 8
cmp eax, edx
jb 0x10115ae4
mov edi, dword [esp + 0x244]
mov eax, edx
shl eax, 4
add eax, dword [esp + 0x1c0]
cmp edx, dword [esp + 0x1b8]
jae 0x10114c61
mov ecx, dword [esp + 0x1b8]
movsd xmm0, qword [eax]
addsd xmm0, xmm4
movsd qword [eax], xmm0
inc edx
add eax, 0x10
cmp edx, ecx
jb 0x10115b85
jmp 0x10114c61
xor edx, edx
jmp 0x10115b65
push dword [esp + 0x11c]
push dword [esp + 0x1c4]
push dword [esp + 0x1cc]
call fcn.101d7590
add esp, 0xc
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x90], xmm1
jmp 0x10114dbe
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xf8], eax
mov edx, dword [esp + 0xec]
mov dword [esp + 0xfc], edx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x100], ecx
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x104], edi
mov ecx, dword [0x1021f8f8]
jmp 0x10114f44
movsd xmm2, qword [esp + 0x200]
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], 0x1021fb80
lea edx, [esp + 8]
mov dword [esp], eax
movsd xmm0, qword [esp + 0x150]
movsd qword [edx], xmm0
xor edi, edi
movsd xmm1, qword [esp + 0x158]
movsd qword [edx + 8], xmm1
movsd qword [esp + 0x1c], xmm2
movsd qword [esp + 0x2c], xmm2
mov dword [esp + 0x18], edi
lea ecx, [esp + 0x60]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
call fcn.10100b90
mov eax, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1b8]
movsd xmm0, qword [esp + 0x60]
subsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0x68]
subsd xmm1, qword [esp + 0xb0]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm1
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.100ae570
mov eax, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1b8]
mov dword [esp], eax
lea ecx, [esp + 8]
mov dword [esp + 4], edx
movsd xmm0, qword [esp + 0x60]
movsd qword [ecx], xmm0
movsd xmm1, qword [esp + 0x68]
movsd qword [ecx + 8], xmm1
movsd xmm2, qword [esp + 0x200]
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], 1
call fcn.100aef80
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x1bc]
push dword [esp + 0x1cc]
call fcn.100ae040
add esp, 0xc
movsd xmm0, qword [esp + 0x60]
subsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0x68]
subsd xmm1, qword [esp + 0xb0]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm1
mov dword [esp + 4], 1
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.100ae570
lea eax, [esp + 0x88]
mov dword [esp], eax
mov ecx, 1
lea edx, [esp + 8]
mov dword [esp + 4], ecx
movsd xmm0, qword [esp + 0x60]
movsd qword [edx], xmm0
movsd xmm1, qword [esp + 0x68]
movsd qword [edx + 8], xmm1
movsd xmm2, qword [esp + 0x200]
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], ecx
call fcn.100aef80
mov ecx, dword [0x1021f8f8]
jmp 0x10114f44
mov edi, dword [esp + 0xf8]
mov edx, dword [esp + 0x1c4]
shl edi, 4
comisd xmm4, xmmword [edx + edi]
ja 0x10115024
mov edi, dword [esp + 0x104]
shl edi, 4
comisd xmm3, xmmword [edx + edi + 8]
ja 0x10115024
mov edi, dword [esp + 0x100]
shl edi, 4
movsd xmm1, qword [edx + edi + 8]
comisd xmm1, xmm2
ja 0x10115024
jmp 0x1011501d
movsd xmm0, qword [esp + 0xe0]
mov edx, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x24c]
movsd qword [esp + 4], xmm0
mov dword [esp], ebx
mov dword [esp + 0x2c], 1
mov dword [esp + 0xc], esi
mov esi, dword [ecx + edi*4]
lea eax, [esp + 0x1a0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x240]
movsd xmm1, qword [eax + edi*8]
movsd qword [esp + 0x1c], xmm1
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x248]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x23c]
mov eax, dword [esi + edi*4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
xor ecx, ecx
mov dword [esp + 0x30], ecx
lea edx, [esp + 0x118]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
call fcn.100b07a0
cmp dword [esp + 0x118], 1
jg 0x10115196
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov edx, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
mov eax, dword [esp + 0xf8]
mov edx, dword [edx + edi*4]
mov esi, dword [ecx + edi*4]
mov ecx, dword [esi + 4]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x1c4]
shl eax, 4
shl ecx, 4
movsd xmm0, qword [edx + ecx]
comisd xmm0, xmmword [esi + eax]
jbe 0x101151ce
mov ecx, dword [esp + 0xfc]
mov eax, esi
mov esi, dword [esp + 0x5c]
shl ecx, 4
movsd xmm0, qword [eax + ecx]
mov eax, dword [esi]
shl eax, 4
comisd xmm0, xmmword [edx + eax]
jbe 0x101151ce
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c4]
shl ecx, 4
movsd xmm0, qword [eax + ecx + 8]
mov eax, dword [esi + 0xc]
shl eax, 4
comisd xmm0, xmmword [eax + edx + 8]
jbe 0x101151ce
mov eax, dword [esp + 0x104]
mov ecx, esi
mov esi, dword [ecx + 8]
mov ecx, dword [esp + 0x1c4]
shl eax, 4
shl esi, 4
movsd xmm0, qword [esi + edx + 8]
comisd xmm0, xmmword [ecx + eax + 8]
jbe 0x101151ce
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x23c]
movsd xmm1, qword [esp + 0x110]
movsd xmm0, qword [esi + edi*8]
mov esi, dword [ecx + edi*4]
movsd qword [esp + 4], xmm0
movsd qword [esp + 0x1c], xmm1
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x14], esi
mov edx, edi
mov dword [esp + 0x18], eax
lea esi, [esp + 0xf8]
mov dword [esp + 0x24], esi
shl edx, 4
add edx, dword [esp + 0x1c8]
mov dword [esp + 0x10], edx
xor eax, eax
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
call fcn.100b07a0
cmp dword [esp + 0x74], 2
je 0x10116006
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov eax, dword [esp + 0x1c4]
movsd xmm0, qword [esp + 0x110]
mov ecx, dword [esp + 0x1b8]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x2c], 1
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x24c]
mov eax, dword [esi + edi*4]
lea edx, [esp + 0x88]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x240]
movsd xmm1, qword [edx + edi*8]
movsd qword [esp + 0x1c], xmm1
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x248]
mov esi, dword [ecx + edi*4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x23c]
mov edx, dword [eax + edi*4]
mov dword [esp + 0x24], esi
xor esi, esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
call fcn.100b07a0
cmp dword [esp + 0x74], 1
jg 0x101151ce
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov edx, 1
jmp 0x101152d3
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x1bc], ebx
mov ebx, dword [edx + edi*4]
mov edx, dword [ecx + edi*4]
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xf8]
shl eax, 4
shl edx, 4
movsd xmm0, qword [ebx + edx]
comisd xmm0, xmmword [ecx + eax]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x1bc]
jbe 0x101154db
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x1c4]
shl ecx, 4
movsd xmm0, qword [edx + ecx]
mov edx, dword [esi + 0x28]
mov edx, dword [edx + edi*4]
mov ecx, dword [esp + 0x54]
shl edx, 4
comisd xmm0, xmmword [ecx + edx]
jbe 0x101154db
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x1c4]
shl ecx, 4
movsd xmm0, qword [edx + ecx + 8]
mov edx, dword [esi + 0x30]
mov edx, dword [edx + edi*4]
mov ecx, dword [esp + 0x54]
shl edx, 4
comisd xmm0, xmmword [ecx + edx + 8]
jbe 0x101154db
mov edx, dword [esi + 0x34]
mov dword [esp + 0x50], edi
mov edi, dword [edx + edi*4]
mov edx, dword [esp + 0x1c4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x104]
shl eax, 4
shl edi, 4
movsd xmm0, qword [ecx + edi + 8]
comisd xmm0, xmmword [edx + eax + 8]
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
jbe 0x101154db
movsd xmm0, qword [esp + 0x110]
mov edx, dword [esi + 0x40]
comisd xmm0, xmmword [edx + edi*8]
jae 0x1011625b
mov dword [esp + 0x70], 2
xor edx, edx
mov eax, dword [esi + 0x40]
movsd xmm1, qword [eax + edi*8]
comisd xmm1, xmmword [esp + 0x110]
jb 0x101154db
mov ecx, dword [esp + 0x1c4]
movsd xmm0, qword [esp + 0x110]
movsd qword [esp + 4], xmm0
movsd qword [esp + 0x1c], xmm1
mov dword [esp], ecx
lea eax, [esp + 0xf8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1b8]
lea ecx, [esp + 0x88]
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + edi*4]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + edi*4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
lea edx, [esp + 0x70]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
call fcn.100b07a0
cmp dword [esp + 0x70], 1
jg 0x101154db
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov edx, dword [esi]
imul ecx, dword [edx + edi*4], 0xa10
pxor xmm4, xmm4
mov dword [esp + 4], 1
mov dword [esp + 0x1bc], ebx
mov ebx, dword [eax + ecx + 0xd0]
mov edx, dword [ebx]
lea ecx, [esp + 0x40]
movsd xmm0, qword [edx + 0x48]
movsd qword [esp + 0x40], xmm0
movsd xmm1, qword [edx + 0x50]
movsd qword [esp + 0x48], xmm1
mov ebx, dword [esi]
imul edx, dword [ebx + edi*4], 0xa10
mov dword [esp], ecx
movsd xmm2, qword [edx + eax + 0x78]
lea ecx, [esp + 8]
movsd qword [ecx], xmm2
movsd xmm3, qword [edx + eax + 0x80]
movsd qword [ecx + 8], xmm3
mov eax, dword [esi + 0x44]
movsd qword [esp + 0x18], xmm4
mov edx, edi
shl edx, 4
movsd xmm5, qword [eax + edx]
lea ecx, [esp + 0x20]
movsd qword [ecx], xmm5
movsd xmm6, qword [eax + edx + 8]
movsd qword [ecx + 8], xmm6
mov ebx, dword [esp + 0x1bc]
mov eax, dword [esi + 0x48]
movsd xmm7, qword [eax + edi*8]
movsd qword [esp + 0x30], xmm7
call fcn.100ae4e0
movsd xmm1, qword [esp + 0x110]
mov edx, dword [esi + 0x38]
mov ecx, dword [edx + edi*4]
mov eax, dword [esi + 0x40]
movsd xmm0, qword [eax + edi*8]
movsd qword [esp + 4], xmm0
movsd qword [esp + 0x1c], xmm1
xor eax, eax
mov dword [esp], ecx
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0xc], eax
lea edx, [esp + 0x40]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + edi*4]
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1b8]
lea edx, [esp + 0xf8]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea edx, [esp + 0x70]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
call fcn.100b07a0
cmp dword [esp + 0x70], 2
je 0x1011638d
mov esi, dword [esp + 0x230]
jmp 0x101155f4
mov edx, 1
jmp 0x101161ba
mov edi, dword [esp + 0x244]
mov dword [esp + 0x1bc], ebx
mov eax, dword [0x10219190]
xor ebx, ebx
mov dword [esp + 0x214], ebx
mov dword [esp + 0x218], ebx
mov edx, dword [eax + edi + 0xd0]
mov eax, dword [edx]
mov ebx, dword [eax + 0x10]
mov ecx, ebx
shl ecx, 4
push ecx
push dword [eax]
push esi
call fcn.101d7590
add esp, 0xc
mov eax, dword [0x10219190]
mov dword [esp], esi
mov dword [esp + 4], ebx
movsd xmm0, qword [eax + edi + 0x78]
lea edx, [esp + 8]
movsd qword [edx], xmm0
movsd xmm1, qword [eax + edi + 0x80]
movsd qword [edx + 8], xmm1
lea ecx, [esp + 0x20]
pxor xmm2, xmm2
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [esp + 0x120]
movsd qword [ecx], xmm3
movsd xmm4, qword [esp + 0x128]
movsd qword [ecx + 8], xmm4
movsd xmm5, qword [esp + 0x178]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
lea eax, [esp + 0x1dc]
push eax
push ebx
push esi
call fcn.100ae040
add esp, 0xc
mov eax, dword [0x10219190]
cmp dword [edi + eax + 0x95c], 0
je 0x1011647e
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x10116471
cmp eax, 2
je 0x10116471
cmp eax, 1
jne 0x1011647e
cmp dword [0x1021f808], 1
je 0x10117161
movsd xmm6, qword [0x101ebdb8]
movsd xmm5, qword [0x101ebdc0]
movsd xmm4, qword [0x101ebdc8]
mov dword [esp + 0x22c], ebx
mov eax, 1
pxor xmm0, xmm0
movsd qword [esp + 0x1d0], xmm0
movaps xmm7, xmm0
movsd qword [esp + 0x170], xmm7
mov ebx, eax
mov edx, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
lea eax, [esp + 0x200]
shl edx, 4
movsd xmm0, qword [esi + edx]
movsd qword [esp], xmm0
shl ecx, 4
movsd xmm1, qword [esi + ecx]
movsd qword [esp + 8], xmm1
call fcn.10118214
cmp ebx, 1
je 0x1011652f
cmp ebx, 2
jne 0x1011650f
movsd xmm0, qword [0x101ebdb8]
movsd qword [esp + 0x1d0], xmm0
jmp 0x10116541
movsd xmm1, qword [esp + 0x1d0]
cmp ebx, 3
pxor xmm0, xmm0
jne 0x10116524
movaps xmm1, xmm0
movsd qword [esp + 0x1d0], xmm1
jmp 0x10116541
movsd xmm0, qword [esp + 0x200]
movsd qword [esp + 0x1d0], xmm0
movsd xmm1, qword [0x101ebd50]
movsd xmm2, qword [esp + 0x1d0]
mov edx, dword [0x10219190]
addsd xmm1, xmm2
pxor xmm0, xmm0
comisd xmm0, xmm2
jbe 0x10116569
movaps xmm2, xmm1
cmp dword [edi + edx + 0x95c], 0
movsd qword [esp + 0x1d0], xmm2
je 0x101165c0
mov edx, dword [0x1021f8f8]
cmp edx, 3
je 0x10116591
cmp edx, 2
je 0x10116591
cmp edx, 1
jne 0x101165c0
cmp dword [0x1021f808], 1
movsd xmm0, qword [0x101ebd50]
subsd xmm0, qword [esp + 0x1d0]
movsd xmm1, qword [esp + 0x170]
jne 0x101165b7
movaps xmm1, xmm0
movsd qword [esp + 0x170], xmm1
mov edx, 0x40
movsd xmm0, qword [edx + 0x1021fb78]
movsd qword [esp + edx + 0x128], xmm0
movsd xmm1, qword [edx + 0x1021fb70]
movsd qword [esp + edx + 0x120], xmm1
movsd xmm2, qword [edx + 0x1021fb68]
movsd qword [esp + edx + 0x118], xmm2
movsd xmm3, qword [edx + 0x1021fb60]
movsd qword [esp + edx + 0x110], xmm3
sub edx, 0x20
jne 0x101165c5
mov edx, dword [0x1021f8f8]
cmp edx, 3
je 0x10116623
cmp edx, 2
je 0x10116623
cmp edx, 1
jne 0x10116667
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x98]
mov edx, dword [esp + 0x234]
cmp dword [ecx + edx*4], 1
jne 0x10116667
movsd xmm1, qword [0x1021fb98]
addsd xmm1, qword [0x1021fba8]
movsd xmm0, qword [0x101ebd58]
mulsd xmm1, xmm0
movsd qword [esp + 0x158], xmm1
movsd qword [esp + 0x168], xmm1
mov edx, dword [esp + 0x22c]
movsd xmm0, qword [esp + 0x1d0]
movsd qword [esp + 0x18], xmm0
mov dword [esp], esi
mov dword [esp + 0x10], 4
mov dword [esp + 4], edx
xor edx, edx
mov dword [esp + 8], edx
lea ecx, [esp + 0x130]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], edx
lea edx, [esp + 0x214]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x218]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x21c]
mov dword [esp + 0x2c], edx
call fcn.100cedc0
mov edx, dword [0x10219190]
cmp dword [edi + edx + 0x95c], 0
je 0x101166fd
mov edx, dword [0x1021f8f8]
cmp edx, 3
je 0x101166f0
cmp edx, 2
je 0x101166f0
cmp edx, 1
jne 0x101166fd
cmp dword [0x1021f808], 1
je 0x10117291
cmp dword [esp + 0x250], 0
jle 0x101169cc
movsd xmm0, qword [esp + 0x1d0]
movsd xmm1, qword [0x101ebde0]
mov dword [esp + 0x1fc], ebx
xor eax, eax
mov ebx, eax
ucomisd xmm0, qword [0x101ebdb8]
jp 0x10116737
je 0x10117f44
pxor xmm2, xmm2
ucomisd xmm0, xmm2
jp 0x10116747
je 0x10117ed9
comisd xmm1, xmm0
jae 0x10116757
comisd xmm0, xmmword [0x101ebde8]
jb 0x101167c7
mov edx, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
movsd xmm2, qword [0x101ebd70]
mov eax, dword [edx + ebx*4]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx + 0xc]
shl edx, 4
movsd xmm4, qword [edx + eax + 8]
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0x1e8]
shl edx, 4
movsd xmm3, qword [edx + eax + 8]
mulsd xmm2, xmm3
shl ecx, 4
subsd xmm2, xmm4
comisd xmm2, xmmword [esi + ecx + 8]
jbe 0x101167c7
mulsd xmm4, qword [0x101ebd70]
mov edx, dword [esp + 0x1e4]
shl edx, 4
movsd xmm2, qword [esi + edx + 8]
subsd xmm4, xmm3
comisd xmm2, xmm4
ja 0x10116809
ucomisd xmm0, qword [0x101ebdb8]
jp 0x101167d7
je 0x1011697c
pxor xmm2, xmm2
ucomisd xmm0, xmm2
jp 0x101167e7
je 0x1011697c
comisd xmm1, xmm0
jae 0x1011697c
comisd xmm0, xmmword [0x101ebde8]
jae 0x1011697c
mov edx, dword [esp + 0x24c]
mov eax, dword [edx + ebx*4]
mov ecx, dword [esp + 0x22c]
movsd qword [esp + 0x1d0], xmm0
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x20], 1
mov dword [esp], esi
xor edx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x23c]
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
lea edx, [esp + 0x220]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x224]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x228]
mov dword [esp + 0x2c], edx
call fcn.100cedc0
movsd xmm1, qword [0x101ebde0]
movsd xmm0, qword [esp + 0x1d0]
test eax, eax
jne 0x1011693f
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x180]
lea edx, [esp + 0x184]
push edx
push ecx
push eax
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
movsd qword [esp + 0x1f4], xmm0
call fcn.100ce700
movsd xmm1, qword [0x101ebde0]
push dword [esp + 0x238]
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
push dword [esp + 0x240]
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
movsd xmm0, qword [esp + 0x1fc]
add esp, 0x2c
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x214], edx
mov edx, dword [esp + 0x184]
mov dword [esp + 0x218], ecx
mov dword [esp + 0x21c], edx
push dword [esp + 0x220]
movsd qword [esp + 0x1d4], xmm0
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
push dword [esp + 0x228]
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
movsd xmm0, qword [esp + 0x1d8]
add esp, 8
mov edx, dword [0x10219190]
cmp dword [edi + edx + 0x95c], 0
je 0x101169ae
mov edx, dword [0x1021f8f8]
cmp edx, 3
je 0x101169a1
cmp edx, 2
je 0x101169a1
cmp edx, 1
jne 0x101169ae
cmp dword [0x1021f808], 1
je 0x10117428
inc ebx
cmp ebx, dword [esp + 0x250]
jl 0x10116727
mov ebx, dword [esp + 0x1fc]
movsd qword [esp + 0x1d0], xmm0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
test eax, eax
jle 0x10116e95
movsd xmm0, qword [0x101ebd88]
movsd xmm3, qword [0x101ebde8]
movsd xmm4, qword [0x101ebde0]
movsd xmm1, qword [0x101ebdb8]
movsd xmm2, qword [0x101ebd70]
movsd qword [esp + 0x1b0], xmm0
movsd xmm0, qword [esp + 0x1d0]
mov edx, 1
mov dword [esp + 0x1fc], ebx
mov ebx, edx
mov dword [esp + 0x230], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x244], edi
mov ecx, dword [esi + 0x10]
cmp dword [ecx + ebx*4], 0
je 0x10116e6e
ucomisd xmm0, xmm1
jp 0x10116a4c
je 0x10117dcd
pxor xmm5, xmm5
ucomisd xmm0, xmm5
jp 0x10116a5c
je 0x10117d59
comisd xmm4, xmm0
jae 0x10116a68
comisd xmm0, xmm3
jb 0x10116ae1
movaps xmm7, xmm2
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov eax, dword [edx + ebx*4]
mov edi, dword [edi + ebx*4]
mov ecx, dword [ecx + ebx*4]
shl edi, 4
movsd xmm6, qword [edi + eax + 8]
mulsd xmm7, xmm6
shl ecx, 4
movsd xmm5, qword [ecx + eax + 8]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x230]
shl ecx, 4
subsd xmm7, xmm5
comisd xmm7, xmmword [eax + ecx + 8]
jbe 0x10116ae1
mulsd xmm5, xmm2
mov ecx, dword [esp + 0x1e4]
shl ecx, 4
movsd xmm7, qword [eax + ecx + 8]
subsd xmm5, xmm6
comisd xmm7, xmm5
jbe 0x10116ae1
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x210], ecx
jmp 0x10116b25
ucomisd xmm0, xmm1
jp 0x10116aed
je 0x10116e2e
pxor xmm5, xmm5
ucomisd xmm0, xmm5
jp 0x10116afd
je 0x10116e2e
comisd xmm4, xmm0
jae 0x10116e2e
comisd xmm0, xmm3
jae 0x10116e2e
mov eax, dword [esp + 0x1dc]
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x210]
movsd xmm5, qword [esp + 0x1b0]
mov edx, dword [edx + ebx*4]
mov edi, dword [ecx + ebx*4]
shl eax, 4
shl edi, 4
addsd xmm5, qword [edx + edi]
mov ecx, dword [esp + 0x230]
comisd xmm5, xmmword [eax + ecx]
jbe 0x10116e2e
mov ecx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x230]
mov edi, dword [esi + 0x28]
shl ecx, 4
movsd xmm5, qword [eax + ecx]
mov eax, dword [edi + ebx*4]
shl eax, 4
movsd xmm6, qword [edx + eax]
subsd xmm6, qword [esp + 0x1b0]
comisd xmm5, xmm6
jbe 0x10116e2e
mov eax, dword [esp + 0x1e8]
movsd xmm5, qword [esp + 0x1b0]
mov ecx, dword [esi + 0x34]
mov edi, dword [ecx + ebx*4]
shl eax, 4
shl edi, 4
addsd xmm5, qword [edx + edi + 8]
mov ecx, dword [esp + 0x230]
comisd xmm5, xmmword [ecx + eax + 8]
jbe 0x10116e2e
mov ecx, dword [esp + 0x1e4]
mov eax, dword [esp + 0x230]
mov edi, dword [esi + 0x30]
shl ecx, 4
movsd xmm5, qword [eax + ecx + 8]
mov eax, dword [edi + ebx*4]
shl eax, 4
movsd xmm6, qword [edx + eax + 8]
subsd xmm6, qword [esp + 0x1b0]
comisd xmm5, xmm6
jbe 0x10116e2e
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x22c]
mov edi, dword [esi + 0x3c]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x1d0], xmm0
mov dword [esp + 0x20], 1
mov dword [esp], eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x220]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x228]
mov dword [esp + 0x2c], eax
call fcn.100cedc0
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
movsd xmm0, qword [esp + 0x1d0]
test eax, eax
jne 0x10116dc1
lea edi, [esp + 0x11c]
lea ecx, [esp + 0x180]
lea eax, [esp + 0x184]
push eax
push ecx
push edi
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
movsd qword [esp + 0x1f4], xmm0
call fcn.100ce700
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
push dword [esp + 0x238]
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
push dword [esp + 0x240]
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
movsd xmm0, qword [esp + 0x1fc]
add esp, 0x2c
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov dword [esp + 0x214], eax
test edx, edx
mov dword [esp + 0x218], ecx
mov dword [esp + 0x21c], edx
jle 0x10116dc1
xor edi, edi
pxor xmm6, xmm6
mov ecx, edi
shl ecx, 4
comisd xmm6, xmmword [eax + ecx]
jb 0x10116dbc
movsd xmm5, qword [ecx + eax + 8]
comisd xmm5, xmm6
jae 0x101177d1
inc edi
cmp edi, edx
jl 0x10116da0
push dword [esp + 0x220]
movsd qword [esp + 0x1d4], xmm0
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
push dword [esp + 0x228]
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
movsd xmm0, qword [esp + 0x1d8]
add esp, 8
mov ecx, dword [0x10219190]
mov eax, dword [esp + 0x244]
cmp dword [eax + ecx + 0x95c], 0
je 0x10116e59
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x10116e5e
cmp eax, 2
je 0x10116e5e
cmp eax, 1
je 0x10116e5e
mov eax, dword [esi + 0x68]
jmp 0x10116e6e
cmp dword [0x1021f808], 1
je 0x101177f8
mov eax, dword [esi + 0x68]
inc ebx
cmp ebx, eax
jle 0x10116a33
mov ebx, dword [esp + 0x1fc]
mov esi, dword [esp + 0x230]
mov edi, dword [esp + 0x244]
movsd qword [esp + 0x1d0], xmm0
mov edx, dword [esp + 0x21c]
movsd xmm1, qword [0x101ebd88]
test edx, edx
jle 0x10116f48
mov ecx, dword [esp + 0x214]
movsd xmm4, qword [esp + 0x1d0]
movsd xmm2, qword [0x101ebdc8]
movsd xmm3, qword [0x101ebdc0]
xor eax, eax
mov dword [esp + 0x244], edi
mov edi, eax
shl edi, 4
movsd xmm6, qword [ecx + edi]
comisd xmm6, xmm3
jae 0x10116f3c
movsd xmm5, qword [edi + ecx + 8]
comisd xmm2, xmm5
jae 0x10116f3c
movaps xmm0, xmm1
movaps xmm7, xmm6
andps xmm0, xmmword [0x101ebcc0]
andps xmm7, xmmword [0x101ebcc0]
comisd xmm0, xmm7
jbe 0x10116f11
movaps xmm1, xmm6
movaps xmm0, xmm7
movaps xmm6, xmm5
andps xmm6, xmmword [0x101ebcc0]
comisd xmm0, xmm6
jbe 0x10116f3c
comisd xmm4, xmmword [0x101ebdd0]
jae 0x10116f39
movsd xmm0, qword [0x101ebdd8]
comisd xmm0, xmm4
jb 0x10116f3c
movaps xmm1, xmm5
inc eax
cmp eax, edx
jl 0x10116ed5
mov edi, dword [esp + 0x244]
movsd xmm0, qword [0x101ebd98]
comisd xmm0, xmm1
jbe 0x10116ffb
movsd xmm0, qword [esp + 0x1d0]
movsd qword [esp + 0x110], xmm1
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm0
mov dword [esp + 4], 1
lea edx, [esp + 0x120]
mov dword [esp], edx
call fcn.100b4280
movsd xmm1, qword [esp + 0x110]
mov edx, dword [esp + 0x22c]
movsd xmm0, qword [esp + 0x1d0]
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm0
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.100b4280
movsd xmm1, qword [esp + 0x110]
mov edx, dword [0x10219190]
cmp dword [edi + edx + 0x95c], 0
je 0x10116ffb
mov edx, dword [0x1021f8f8]
cmp edx, 3
je 0x10116fee
cmp edx, 2
je 0x10116fee
cmp edx, 1
jne 0x10116ffb
cmp dword [0x1021f808], 1
je 0x10117e4a
push dword [esp + 0x214]
call fcn.101bceaa
push dword [esp + 0x21c]
call fcn.101bceaa
add esp, 8
inc ebx
cmp ebx, 2
jle 0x101164bd
push esi
call fcn.101bceaa
push dword [esp + 0x1c0]
call fcn.101bceaa
add esp, 8
mov eax, dword [0x10219190]
cmp dword [edi + eax + 0x95c], 0
je 0x10117065
mov eax, dword [0x1021f8f8]
cmp eax, 3
je 0x10117058
cmp eax, 2
je 0x10117058
cmp eax, 1
jne 0x10117065
cmp dword [0x1021f808], 1
je 0x10117eb9
cmp dword [esp + 0x250], 0
jle 0x101170ab
mov esi, dword [esp + 0x250]
mov edi, dword [esp + 0x238]
xor ebx, ebx
cmp dword [edi + ebx*4], 0
je 0x101170a6
mov eax, dword [esp + 0x24c]
push dword [eax + ebx*4]
call fcn.101bceaa
mov eax, dword [esp + 0x24c]
push dword [eax + ebx*4]
call fcn.101bceaa
add esp, 8
inc ebx
cmp ebx, esi
jl 0x1011707f
push dword [esp + 0x24c]
call fcn.101bceaa
push dword [esp + 0x24c]
call fcn.101bceaa
push dword [esp + 0x248]
call fcn.101bceaa
push dword [esp + 0x1d4]
call fcn.101bceaa
push dword [esp + 0x24c]
call fcn.101bceaa
push dword [esp + 0x24c]
call fcn.101bceaa
add esp, 0x18
movsd xmm0, qword [0x101ebd98]
comisd xmm0, xmmword [esp + 0x208]
jbe 0x1011714f
movsd xmm0, qword [esp + 0x120]
mov edx, dword [ebp + 0x38]
movsd xmm1, qword [esp + 0x128]
mov ecx, dword [ebp + 0x3c]
movsd xmm2, qword [esp + 0x178]
mov eax, dword [ebp + 0x40]
movsd qword [edx], xmm0
movsd qword [edx + 8], xmm1
movsd qword [ecx], xmm2
mov dword [eax], 1
xor eax, eax
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, 1
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], 0x1021fb80
lea edx, [esp + 8]
mov dword [esp], eax
movsd xmm0, qword [esp + 0x120]
movsd qword [edx], xmm0
xor eax, eax
movsd xmm1, qword [esp + 0x128]
movsd qword [edx + 8], xmm1
movsd xmm2, qword [esp + 0x178]
movsd qword [esp + 0x1c], xmm2
movsd qword [esp + 0x2c], xmm2
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
call fcn.10100b90
imul edx, dword [esp + 0x108], 0xa10
mov eax, dword [0x10219190]
mov ecx, dword [eax + edx + 0xd0]
mov dword [esp + 0xb8], edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x1b8], eax
shl eax, 4
push eax
push dword [edx]
push dword [esp + 0x1c8]
call fcn.101d7590
add esp, 0xc
mov eax, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1b8]
mov ecx, dword [0x10219190]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], edx
movsd xmm0, qword [ecx + eax + 0x78]
lea edx, [esp + 8]
movsd qword [edx], xmm0
movsd xmm1, qword [ecx + eax + 0x80]
movsd qword [edx + 8], xmm1
pxor xmm2, xmm2
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [esp + 0x50]
lea ecx, [esp + 0x20]
movsd qword [ecx], xmm3
movsd xmm4, qword [esp + 0x58]
movsd qword [ecx + 8], xmm4
movsd xmm5, qword [esp + 0x178]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
lea eax, [esp + 0xe8]
push eax
push dword [esp + 0x1bc]
push dword [esp + 0x1c8]
call fcn.100ae040
add esp, 0xc
jmp 0x1011647e
mov edx, 0x40
movsd xmm0, qword [edx + 0x1021fb78]
movsd qword [esp + edx + 0x128], xmm0
movsd xmm1, qword [edx + 0x1021fb70]
movsd qword [esp + edx + 0x120], xmm1
movsd xmm2, qword [edx + 0x1021fb68]
movsd qword [esp + edx + 0x118], xmm2
movsd xmm3, qword [edx + 0x1021fb60]
movsd qword [esp + edx + 0x110], xmm3
sub edx, 0x20
jne 0x10117296
movsd xmm0, qword [0x1021fb98]
addsd xmm0, qword [0x1021fba8]
mulsd xmm0, qword [0x101ebd58]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x138], xmm0
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x148], xmm0
mov dword [esp + 0x10], 4
mov dword [esp], edx
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp + 8], ecx
lea edx, [esp + 0x130]
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ecx
lea edx, [esp + 0x220]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x224]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x228]
mov dword [esp + 0x2c], edx
call fcn.100cedc0
test eax, eax
jne 0x10117408
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x180]
lea edx, [esp + 0x184]
push edx
push ecx
push eax
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
call fcn.100ce700
push dword [esp + 0x238]
call fcn.101bceaa
push dword [esp + 0x240]
call fcn.101bceaa
add esp, 0x2c
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x214], edx
mov edx, dword [esp + 0x184]
mov dword [esp + 0x218], ecx
mov dword [esp + 0x21c], edx
push dword [esp + 0x220]
call fcn.101bceaa
push dword [esp + 0x228]
call fcn.101bceaa
add esp, 8
jmp 0x101166fd
movsd xmm2, qword [esp + 0x170]
ucomisd xmm2, qword [0x101ebdb8]
jp 0x10117441
je 0x1011775d
movsd xmm2, qword [esp + 0x170]
pxor xmm3, xmm3
ucomisd xmm2, xmm3
jp 0x1011745a
je 0x101176e4
comisd xmm1, xmmword [esp + 0x170]
jae 0x1011747c
movsd xmm2, qword [esp + 0x170]
comisd xmm2, xmmword [0x101ebde8]
jb 0x101174fa
mov edx, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
movsd xmm2, qword [0x101ebd70]
mov eax, dword [edx + ebx*4]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx + 0xc]
shl edx, 4
movsd xmm4, qword [edx + eax + 8]
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0x1c0]
shl edx, 4
movsd xmm3, qword [edx + eax + 8]
mulsd xmm2, xmm3
mov edx, dword [esp + 0xf4]
shl edx, 4
subsd xmm2, xmm4
comisd xmm2, xmmword [ecx + edx + 8]
jbe 0x101174fa
mulsd xmm4, qword [0x101ebd70]
mov ecx, dword [esp + 0xf0]
shl ecx, 4
subsd xmm4, xmm3
mov edx, dword [esp + 0x1c0]
movsd xmm2, qword [edx + ecx + 8]
comisd xmm2, xmm4
ja 0x1011755c
movsd xmm2, qword [esp + 0x170]
ucomisd xmm2, qword [0x101ebdb8]
jp 0x10117513
je 0x101169ae
movsd xmm2, qword [esp + 0x170]
pxor xmm3, xmm3
ucomisd xmm2, xmm3
jp 0x1011752c
je 0x101169ae
comisd xmm1, xmmword [esp + 0x170]
jae 0x101169ae
movsd xmm2, qword [esp + 0x170]
comisd xmm2, xmmword [0x101ebde8]
jae 0x101169ae
mov edx, dword [esp + 0x24c]
mov eax, dword [edx + ebx*4]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1b8]
movsd xmm2, qword [esp + 0x170]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x1d0], xmm0
mov dword [esp + 0x20], 1
mov dword [esp], ecx
mov ecx, dword [esp + 0x23c]
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
xor edx, edx
mov dword [esp + 8], edx
mov dword [esp + 0x14], edx
lea edx, [esp + 0x220]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x224]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x228]
mov dword [esp + 0x2c], edx
call fcn.100cedc0
movsd xmm1, qword [0x101ebde0]
movsd xmm0, qword [esp + 0x1d0]
test eax, eax
jne 0x101176a2
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x180]
lea edx, [esp + 0x184]
push edx
push ecx
push eax
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
movsd qword [esp + 0x1f4], xmm0
call fcn.100ce700
movsd xmm1, qword [0x101ebde0]
push dword [esp + 0x238]
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
push dword [esp + 0x240]
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
movsd xmm0, qword [esp + 0x1fc]
add esp, 0x2c
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x214], edx
mov edx, dword [esp + 0x184]
mov dword [esp + 0x218], ecx
mov dword [esp + 0x21c], edx
push dword [esp + 0x220]
movsd qword [esp + 0x1d4], xmm0
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
push dword [esp + 0x228]
call fcn.101bceaa
movsd xmm1, qword [0x101ebde0]
movsd xmm0, qword [esp + 0x1d8]
add esp, 8
jmp 0x101169ae
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [edx + ebx*4]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0xe0], ecx
mov ecx, dword [ecx + 8]
shl edx, 4
shl ecx, 4
movsd xmm2, qword [ecx + eax + 8]
mov ecx, dword [esp + 0x1c0]
comisd xmm2, xmmword [ecx + edx + 8]
jbe 0x1011745a
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x1c0]
shl ecx, 4
movsd xmm2, qword [edx + ecx + 8]
mov edx, dword [esp + 0xe0]
mov ecx, dword [edx + 0xc]
shl ecx, 4
comisd xmm2, xmmword [ecx + eax + 8]
ja 0x1011755c
jmp 0x1011745a
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [edx + ebx*4]
mov edx, dword [esp + 0xe8]
mov dword [esp + 0xe4], ecx
mov ecx, dword [ecx + 4]
shl edx, 4
shl ecx, 4
movsd xmm2, qword [eax + ecx]
mov ecx, dword [esp + 0x1c0]
comisd xmm2, xmmword [ecx + edx]
jbe 0x1011745a
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x1c0]
shl ecx, 4
movsd xmm2, qword [edx + ecx]
mov edx, dword [esp + 0xe4]
mov ecx, dword [edx]
shl ecx, 4
comisd xmm2, xmmword [eax + ecx]
ja 0x1011755c
jmp 0x1011745a
movsd xmm6, qword [esp + 0x1b0]
movsd xmm5, qword [ecx + eax]
andps xmm5, xmmword [0x101ebcc0]
minsd xmm6, xmm5
movsd qword [esp + 0x1b0], xmm6
jmp 0x10116dc1
movsd xmm5, qword [esp + 0x170]
ucomisd xmm5, xmm1
jp 0x1011780d
je 0x10117cd5
movsd xmm5, qword [esp + 0x170]
pxor xmm6, xmm6
ucomisd xmm5, xmm6
jp 0x10117826
je 0x10117c66
comisd xmm4, xmmword [esp + 0x170]
jae 0x10117840
movsd xmm5, qword [esp + 0x170]
comisd xmm5, xmm3
jb 0x101178b9
movaps xmm7, xmm2
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
mov eax, dword [ecx + ebx*4]
mov dword [esp + 0x108], ecx
mov ecx, dword [edi + ebx*4]
shl ecx, 4
movsd xmm5, qword [ecx + eax + 8]
mulsd xmm7, xmm5
mov ecx, dword [edx + ebx*4]
shl ecx, 4
movsd xmm6, qword [ecx + eax + 8]
mov ecx, dword [esp + 0xf4]
shl ecx, 4
subsd xmm7, xmm6
mov eax, dword [esp + 0x1c0]
comisd xmm7, xmmword [eax + ecx + 8]
jbe 0x101178b9
mulsd xmm6, xmm2
mov ecx, dword [esp + 0xf0]
shl ecx, 4
movsd xmm7, qword [eax + ecx + 8]
subsd xmm6, xmm5
comisd xmm7, xmm6
jbe 0x101178b9
mov eax, dword [esp + 0xe8]
mov ecx, dword [esi + 0x2c]
jmp 0x10117925
movsd xmm5, qword [esp + 0x170]
ucomisd xmm5, xmm1
jp 0x101178ce
je 0x10116e59
movsd xmm5, qword [esp + 0x170]
pxor xmm6, xmm6
ucomisd xmm5, xmm6
jp 0x101178e7
je 0x10116e59
comisd xmm4, xmmword [esp + 0x170]
jb 0x101178fa
mov eax, dword [esi + 0x68]
jmp 0x10116e6e
movsd xmm5, qword [esp + 0x170]
comisd xmm5, xmm3
jb 0x10117911
mov eax, dword [esi + 0x68]
jmp 0x10116e6e
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0x108]
movsd xmm5, qword [esp + 0x1b0]
mov edx, dword [edi + ebx*4]
mov ecx, dword [ecx + ebx*4]
shl eax, 4
shl ecx, 4
addsd xmm5, qword [edx + ecx]
mov ecx, dword [esp + 0x1c0]
comisd xmm5, xmmword [eax + ecx]
jbe 0x10116e59
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x1c0]
mov edi, dword [esi + 0x28]
shl ecx, 4
movsd xmm5, qword [eax + ecx]
mov eax, dword [edi + ebx*4]
shl eax, 4
movsd xmm6, qword [edx + eax]
subsd xmm6, qword [esp + 0x1b0]
comisd xmm5, xmm6
jbe 0x10116e59
mov eax, dword [esp + 0xf4]
movsd xmm5, qword [esp + 0x1b0]
mov ecx, dword [esi + 0x34]
mov edi, dword [ecx + ebx*4]
shl eax, 4
shl edi, 4
addsd xmm5, qword [edx + edi + 8]
mov ecx, dword [esp + 0x1c0]
comisd xmm5, xmmword [ecx + eax + 8]
jbe 0x10116e59
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0x1c0]
mov edi, dword [esi + 0x30]
shl ecx, 4
movsd xmm5, qword [eax + ecx + 8]
mov eax, dword [edi + ebx*4]
shl eax, 4
movsd xmm6, qword [edx + eax + 8]
subsd xmm6, qword [esp + 0x1b0]
comisd xmm5, xmm6
ja 0x10117a01
mov eax, dword [esi + 0x68]
jmp 0x10116e6e
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1b8]
movsd xmm5, qword [esp + 0x170]
mov edi, dword [esi + 0x3c]
movsd qword [esp + 0x18], xmm5
movsd qword [esp + 0x1d0], xmm0
mov dword [esp + 0x20], 1
mov dword [esp], eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x220]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x228]
mov dword [esp + 0x2c], eax
call fcn.100cedc0
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
movsd xmm0, qword [esp + 0x1d0]
test eax, eax
jne 0x10117bca
lea edi, [esp + 0x11c]
lea ecx, [esp + 0x180]
lea eax, [esp + 0x184]
push eax
push ecx
push edi
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
push dword [esp + 0x234]
movsd qword [esp + 0x1f4], xmm0
call fcn.100ce700
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
push dword [esp + 0x238]
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
push dword [esp + 0x240]
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
movsd xmm0, qword [esp + 0x1fc]
add esp, 0x2c
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x180]
mov dword [esp + 0x214], edx
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x21c], eax
test eax, eax
jle 0x10117bca
xor edi, edi
pxor xmm6, xmm6
mov ecx, edi
shl ecx, 4
comisd xmm6, xmmword [edx + ecx]
jb 0x10117bc5
movsd xmm5, qword [ecx + edx + 8]
comisd xmm5, xmm6
jae 0x10117c3f
inc edi
cmp edi, eax
jl 0x10117bad
push dword [esp + 0x220]
movsd qword [esp + 0x1d4], xmm0
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
push dword [esp + 0x228]
call fcn.101bceaa
movsd xmm2, qword [0x101ebd70]
movsd xmm1, qword [0x101ebdb8]
movsd xmm4, qword [0x101ebde0]
movsd xmm3, qword [0x101ebde8]
movsd xmm0, qword [esp + 0x1d8]
add esp, 8
mov eax, dword [esi + 0x68]
jmp 0x10116e6e
movsd xmm6, qword [esp + 0x1b0]
movsd xmm5, qword [ecx + edx]
andps xmm5, xmmword [0x101ebcc0]
minsd xmm6, xmm5
movsd qword [esp + 0x1b0], xmm6
jmp 0x10117bca
mov eax, dword [esp + 0xf4]
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + ebx*4]
mov edi, dword [esi + 0x34]
shl eax, 4
mov dword [esp + 0x108], ecx
mov ecx, dword [edi + ebx*4]
mov edi, dword [esp + 0x1c0]
shl ecx, 4
movsd xmm5, qword [edx + ecx + 8]
comisd xmm5, xmmword [edi + eax + 8]
jbe 0x10117826
mov ecx, dword [esp + 0xf0]
mov eax, edi
mov edi, dword [esi + 0x30]
shl ecx, 4
movsd xmm5, qword [eax + ecx + 8]
mov eax, dword [edi + ebx*4]
shl eax, 4
comisd xmm5, xmmword [edx + eax + 8]
jbe 0x10117826
mov eax, dword [esp + 0xe8]
mov ecx, dword [esi + 0x2c]
jmp 0x10117925
mov eax, dword [esp + 0xe8]
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x108], ecx
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 0xbc], edi
mov edi, dword [edi + ebx*4]
mov dword [esp + 0xb8], ecx
mov edx, eax
shl edx, 4
shl edi, 4
movsd xmm5, qword [ecx + edi]
mov ecx, dword [esp + 0x1c0]
comisd xmm5, xmmword [edx + ecx]
mov ecx, dword [esp + 0xbc]
jbe 0x10117826
mov edx, dword [esp + 0xec]
mov edi, dword [esp + 0x1c0]
shl edx, 4
movsd xmm5, qword [edi + edx]
mov edi, dword [esi + 0x28]
mov edx, dword [edi + ebx*4]
mov edi, dword [esp + 0xb8]
shl edx, 4
comisd xmm5, xmmword [edi + edx]
ja 0x10117925
jmp 0x10117826
mov eax, dword [esp + 0x1e8]
mov edx, dword [esi + 0x38]
mov ecx, dword [edx + ebx*4]
mov edi, dword [esi + 0x34]
mov edi, dword [edi + ebx*4]
shl eax, 4
shl edi, 4
movsd xmm5, qword [ecx + edi + 8]
mov edi, dword [esp + 0x230]
comisd xmm5, xmmword [edi + eax + 8]
jbe 0x10116a5c
mov edi, dword [esp + 0x1e4]
mov eax, dword [esp + 0x230]
shl edi, 4
movsd xmm5, qword [eax + edi + 8]
mov eax, dword [esi + 0x30]
mov edi, dword [eax + ebx*4]
shl edi, 4
comisd xmm5, xmmword [ecx + edi + 8]
jbe 0x10116a5c
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x210], ecx
jmp 0x10116b25
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x18c], ecx
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 0x210], edi
mov edi, dword [edi + ebx*4]
mov dword [esp + 0x188], ecx
mov edx, eax
shl edx, 4
shl edi, 4
movsd xmm5, qword [ecx + edi]
mov ecx, dword [esp + 0x230]
comisd xmm5, xmmword [edx + ecx]
mov edx, dword [esp + 0x18c]
jbe 0x10116a5c
mov edi, dword [esp + 0x1e0]
shl edi, 4
movsd xmm5, qword [ecx + edi]
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx + ebx*4]
mov edi, dword [esp + 0x188]
shl ecx, 4
comisd xmm5, xmmword [edi + ecx]
ja 0x10116b25
jmp 0x10116a5c
movsd xmm0, qword [esp + 0x170]
movsd qword [esp + 0x110], xmm1
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm0
mov dword [esp + 4], 1
lea edx, [esp + 0x50]
mov dword [esp], edx
call fcn.100b4280
movsd xmm1, qword [esp + 0x110]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1b8]
movsd xmm0, qword [esp + 0x170]
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm0
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.100b4280
jmp 0x10116ffb
push dword [esp + 0x1c0]
call fcn.101bceaa
push dword [esp + 0x1c8]
call fcn.101bceaa
add esp, 8
jmp 0x10117065
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [edx + ebx*4]
mov edx, dword [esp + 0x1e8]
mov dword [esp + 0x1cc], ecx
mov ecx, dword [ecx + 8]
shl edx, 4
shl ecx, 4
movsd xmm2, qword [ecx + eax + 8]
comisd xmm2, xmmword [esi + edx + 8]
jbe 0x10116747
mov edx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1cc]
shl edx, 4
movsd xmm2, qword [esi + edx + 8]
mov edx, dword [ecx + 0xc]
shl edx, 4
comisd xmm2, xmmword [edx + eax + 8]
ja 0x10116809
jmp 0x10116747
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [edx + ebx*4]
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [ecx + 4]
shl edx, 4
shl ecx, 4
movsd xmm2, qword [eax + ecx]
comisd xmm2, xmmword [esi + edx]
jbe 0x10116747
mov edx, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1d8]
shl edx, 4
movsd xmm2, qword [esi + edx]
mov edx, dword [ecx]
shl edx, 4
comisd xmm2, xmmword [eax + edx]
ja 0x10116809
jmp 0x10116747
mov edi, dword [esp + 0x244]
mov dword [esp + 0x1bc], ebx
jmp 0x10117020
mov edx, dword [eax + edi + 0x958]
imul ecx, edx, 0xa10
mov eax, dword [ecx + eax + 0xd0]
mov eax, dword [eax]
mov dword [esp + 0x108], edx
mov edx, dword [eax + 0x10]
shl edx, 4
mov dword [esp + 0x40], ecx
push edx
call fcn.101bcde0
mov dword [esp + 0x1c4], eax
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x44]
mov ecx, dword [eax + edx + 0xd0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
shl eax, 4
push eax
push dword [edx]
push dword [esp + 0x1cc]
call fcn.101d7590
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x50]
mov ecx, dword [eax + edx + 0xd0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm1, qword [eax + 0x48]
movsd qword [esp + 0x120], xmm0
movsd qword [esp + 0xa8], xmm1
movsd xmm2, qword [eax + 0x50]
movsd qword [esp + 0xb0], xmm2
mov dword [esp + 0x1c8], edx
shl edx, 4
push edx
call fcn.101bcde0
add esp, 0x14
mov dword [esp + 0x1c4], eax
mov eax, dword [0x10219190]
jmp 0x101147f4
mov ecx, dword [esp + 0x1f4]
movsd xmm2, qword [0x1021fb98]
addsd xmm2, qword [0x1021fba8]
mulsd xmm2, qword [0x101ebd58]
addsd xmm2, qword [0x101ebd90]
shl ecx, 4
movsd xmm1, qword [ebx + ecx + 8]
comisd xmm1, xmm2
ja 0x101155f4
jmp 0x1011504f
mov edx, dword [0x1021f828]
mov ecx, dword [edx + ebx*4]
mov edx, dword [ecx + 0x10]
shl edx, 4
push edx
call fcn.101bcde0
mov edx, dword [esp + 0x250]
mov dword [edx + esi*4], eax
mov ecx, dword [0x1021f828]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx + 0x10]
shl edx, 4
push edx
push dword [ecx]
push eax
call fcn.101d7590
mov ecx, dword [0x1021f828]
movsd xmm4, qword [0x101ebd60]
mov edx, dword [ecx + ebx*4]
mov ecx, dword [esp + 0x24c]
mov edx, dword [edx + 0x10]
pxor xmm3, xmm3
mov dword [ecx + esi*4], edx
mov edx, dword [0x1021f828]
mov eax, dword [edx + ebx*4]
movsd xmm0, qword [eax + 0x18]
mov eax, dword [esp + 0x250]
movsd qword [eax + esi*8], xmm0
mov edx, dword [edx + ebx*4]
movsd xmm1, qword [edx + 0x48]
mov eax, esi
shl eax, 4
add eax, edi
movsd qword [eax], xmm1
movsd xmm2, qword [edx + 0x50]
movsd xmm5, qword [0x1021f8d8]
mulsd xmm5, qword [0x101ebd58]
movsd qword [eax + 8], xmm2
movsd qword [esp + 0xd0], xmm3
movsd qword [esp + 0xe0], xmm4
movsd qword [esp + 0xe8], xmm5
movsd qword [esp + 0xd8], xmm5
mov dword [esp + 0x50], eax
lea eax, [esp + 0xd0]
lea edx, [esp + 0xe0]
push edx
xor edx, edx
push eax
push edx
push edx
push edx
push dword [ecx + esi*4]
push edx
mov ecx, dword [esp + 0x278]
push dword [ecx + esi*4]
call fcn.100af100
lea edx, [esp + 0x100]
push edx
lea ecx, [esp + 0xf4]
xor edx, edx
push ecx
push edx
push edx
push edx
push 1
push edx
push dword [esp + 0x8c]
call fcn.100af100
push 0x10
call fcn.101bcde0
mov edx, dword [esp + 0x29c]
mov dword [edx + esi*4], eax
push eax
mov ecx, dword [esp + 0x294]
push dword [ecx + esi*4]
mov edx, dword [esp + 0x2a8]
push dword [edx + esi*4]
call fcn.100ae040
add esp, 0x60
mov edx, dword [esp + 0x238]
mov dword [edx + esi*4], 1
inc esi
jmp 0x10114ad2