Function at 0x1006cbc0
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
cmp dword [ebp + 0x18], 1
mov ebx, dword [0x1021969c]
je 0x1006f48f
cmp dword [ebp + 0x14], 0
jle 0x1006f4be
xor eax, eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], eax
push 0x1021093c
push 1
call fcn.100eef70
push dword [0x1021093c]
call fcn.100ef180
lea eax, [esp + 0x1a4]
push eax
push str.Database_Algorithm__DB_:_Topical_Pattern
push 0x1a
push 6
push 0x1a4
push 0x1f9
call fcn.100ef3f0
push 0xb
push dword [esp + 0x1c0]
call fcn.100e3720
lea eax, [esp + 0x1c0]
push eax
push str.Database_Algorithm__DB_:_Best_Pattern
push 0x1a
push 0x202
push 0x1a4
push 0x1f9
call fcn.100ef3f0
push 0xb
push dword [esp + 0x1dc]
call fcn.100e3720
add esp, 0x4c
mov edi, dword [0x10210940]
test edi, edi
je 0x1006cd3c
mov eax, dword [0x10210944]
test eax, eax
jle 0x1006cd29
mov dword [esp + 0x3c], eax
mov dword [esp + 0x19c], ebx
xor esi, esi
mov ebx, esi
shl ebx, 6
cmp dword [0x10282f80], 0
jle 0x1006cce7
mov dword [esp + 0x38], esi
mov eax, 1
mov esi, eax
mov edx, dword [ebx + edi + 0x34]
push dword [edx + esi*4]
call fcn.101bceaa
mov edx, dword [ebx + edi + 0x38]
push dword [edx + esi*4]
call fcn.101bceaa
mov edx, dword [ebx + edi + 0x3c]
push dword [edx + esi*4]
call fcn.101bceaa
add esp, 0xc
inc esi
cmp esi, dword [0x10282f80]
jle 0x1006ccb3
mov esi, dword [esp + 0x38]
push dword [ebx + edi + 0x34]
call fcn.101bceaa
push dword [ebx + edi + 0x38]
call fcn.101bceaa
push dword [ebx + edi + 0x28]
call fcn.101bceaa
push dword [ebx + edi + 0x2c]
call fcn.101bceaa
push dword [ebx + edi + 0x3c]
call fcn.101bceaa
add esp, 0x14
inc esi
cmp esi, dword [esp + 0x3c]
jl 0x1006cc9a
mov ebx, dword [esp + 0x19c]
push edi
call fcn.101bceaa
pop ecx
xor eax, eax
mov dword [0x10210948], eax
mov dword [0x10210944], eax
mov eax, dword [ebp + 0x14]
push 0x40
lea edx, [eax + 1]
push edx
call fcn.101beb7a
mov dword [0x10210940], eax
mov eax, dword [0x10282f80]
push 4
inc eax
push eax
call fcn.101beb7a
mov dword [esp + 0x254], eax
mov eax, dword [0x10282f80]
push 4
inc eax
push eax
call fcn.101beb7a
mov dword [esp + 0x21c], eax
mov eax, dword [0x10282f80]
push 4
inc eax
push eax
call fcn.101beb7a
add esp, 0x20
mov dword [esp + 0x208], eax
cmp dword [0x10282f80], 0
jle 0x1006ce12
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x204]
mov edi, 1
mov esi, 0xa10
mov eax, dword [0x10219190]
push 4
push dword [esi + eax + 0x70]
call fcn.101beb7a
mov dword [ebx + edi*4], eax
mov eax, dword [0x10219190]
push 8
push dword [esi + eax + 0x70]
call fcn.101beb7a
mov edx, dword [esp + 0x218]
mov dword [edx + edi*4], eax
mov eax, dword [0x10219190]
push 4
push dword [esi + eax + 0x70]
call fcn.101beb7a
add esp, 0x18
mov edx, dword [esp + 0x244]
mov dword [edx + edi*4], eax
add esi, 0xa10
inc edi
cmp edi, dword [0x10282f80]
jle 0x1006cdb2
mov ebx, dword [esp + 0x19c]
movsd xmm4, qword [0x101e4210]
movsd xmm0, qword [0x101e4218]
movsd qword [esp + 0x178], xmm4
movaps xmm3, xmm4
movsd qword [esp + 0x170], xmm3
mov dword [esp + 0x19c], ebx
xor esi, esi
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x234], esi
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1d0], esi
pxor xmm2, xmm2
movaps xmm1, xmm2
movsd qword [esp + 0x1f8], xmm1
mov dword [esp + 0x26c], esi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x20c], esi
mov dword [esp + 0x210], esi
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x1d8], esi
inc dword [0x1021094c]
lea eax, [esp + 0x1bc]
push eax
lea edx, [esp + 0x1bc]
push edx
lea ecx, [esp + 0x1bc]
push ecx
lea ebx, [esp + 0x1bc]
push ebx
call dword [0x1021969c]
mov esi, eax
push 0x58
call fcn.101bcde0
add esp, 0x14
mov ebx, eax
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x24], 0xffffffff
xor edi, edi
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x30], edi
test esi, esi
jne 0x1006f483
movsd xmm2, qword [0x1020b998]
movsd xmm3, qword [0x1021f8d8]
movsd xmm1, qword [ebx + 0x10]
movaps xmm0, xmm1
subsd xmm0, xmm2
comisd xmm3, xmm0
jae 0x1006d0f5
mov esi, dword [esp + 0x1d0]
test ecx, ecx
jle 0x1006d0ee
xor edi, edi
mov eax, dword [ebx + 0x30]
push dword [eax + edi*4]
call fcn.101bceaa
mov eax, dword [ebx + 0x4c]
push dword [eax + edi*4]
call fcn.101bceaa
add esp, 8
inc edi
cmp edi, dword [ebx + 0x18]
jl 0x1006cf4b
mov eax, dword [ebx]
push eax
call fcn.101bceaa
push dword [ebx + 4]
call fcn.101bceaa
push dword [ebx + 0x30]
call fcn.101bceaa
push dword [ebx + 0x4c]
call fcn.101bceaa
push dword [ebx + 0x50]
call fcn.101bceaa
push dword [ebx + 0x38]
call fcn.101bceaa
add esp, 0x18
push dword [esp + 0x198]
call fcn.100e3720
push dword [esp + 0x198]
call fcn.100e3720
push dword [0x1021093c]
call fcn.100ef300
add esp, 0xc
cmp dword [0x10282f80], 0
jle 0x1006d026
mov dword [esp + 0x240], ebx
mov ebx, dword [esp + 0x208]
mov dword [esp + 0x1d0], esi
mov edi, 1
mov esi, dword [esp + 0x204]
push dword [esi + edi*4]
call fcn.101bceaa
push dword [ebx + edi*4]
call fcn.101bceaa
mov eax, dword [esp + 0x24c]
push dword [eax + edi*4]
call fcn.101bceaa
add esp, 0xc
inc edi
cmp edi, dword [0x10282f80]
jle 0x1006cfed
mov ebx, dword [esp + 0x240]
mov esi, dword [esp + 0x1d0]
push dword [esp + 0x26c]
call fcn.101bceaa
push dword [esp + 0x248]
call fcn.101bceaa
push dword [esp + 0x23c]
call fcn.101bceaa
push dword [esp + 0x1f8]
call fcn.101bceaa
push dword [esp + 0x214]
call fcn.101bceaa
push dword [esp + 0x21c]
call fcn.101bceaa
push ebx
call fcn.101bceaa
add esp, 0x1c
test esi, esi
je 0x1006d0cb
mov eax, dword [0x10210948]
test eax, eax
jne 0x1006d09f
push 0x100700b0
push 0x40
push esi
push dword [0x10210940]
call fcn.101bec80
add esp, 0x10
mov eax, dword [0x10210948]
mov edx, dword [0x10210940]
mov ebx, dword [ebp + 0xc]
mov dword [0x10210944], esi
shl eax, 6
mov ecx, dword [eax + edx + 0x38]
mov edi, dword [eax + edx + 0x34]
mov eax, dword [eax + edx + 0x3c]
mov edx, dword [ebp + 0x10]
mov dword [ebx], ecx
mov ecx, dword [ebp + 8]
mov dword [ecx], edi
mov dword [edx], eax
jmp 0x1006d0d5
mov dword [0x10210944], 0
xor eax, eax
mov edx, 1
test esi, esi
cmove eax, edx
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
jmp 0x1006cf6c
addsd xmm2, xmm1
comisd xmm2, xmm3
jb 0x1006cf3a
xor edi, edi
mov esi, 0x1021ee00
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x1006d12a
test dl, dl
je 0x1006d126
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x1006d12a
add edi, 2
add esi, 2
test dl, dl
jne 0x1006d10a
xor eax, eax
jmp 0x1006d12f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1006d140
cmp dword [0x1021f8b4], 0xffffffff
je 0x1006cf3a
inc dword [0x10219694]
push 4
push ecx
push dword [esp + 0x1b0]
push dword [esp + 0x240]
call fcn.100db0e0
mov dword [esp + 0x244], eax
push 8
push dword [ebx + 0x18]
push dword [esp + 0x1c0]
push dword [esp + 0x208]
call fcn.100db0e0
mov dword [esp + 0x20c], eax
push 4
push dword [ebx + 0x18]
push dword [esp + 0x1d0]
push dword [esp + 0x298]
call fcn.100db0e0
mov dword [esp + 0x29c], eax
mov edx, dword [0x10282f80]
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x1d8], eax
push 4
inc edx
push edx
call fcn.101beb7a
mov esi, dword [esp + 0x208]
mov edx, dword [0x10210940]
push 4
shl esi, 6
mov dword [esi + edx + 0x34], eax
mov eax, dword [0x10282f80]
inc eax
push eax
call fcn.101beb7a
mov edx, dword [0x10210940]
mov dword [esi + edx + 0x38], eax
mov eax, dword [0x10282f80]
inc eax
push 4
push eax
call fcn.101beb7a
mov edx, dword [0x10210940]
push dword [ebx + 4]
mov dword [esi + edx + 0x3c], eax
call fcn.101beecd
mov edx, dword [0x10210940]
push dword [ebx]
mov dword [esi + edx + 0x28], eax
call fcn.101beecd
add esp, 0x50
cmp dword [0x10282f80], 0
mov edx, dword [0x10210940]
movsd xmm0, qword [ebx + 8]
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
movsd qword [edx + esi + 0x18], xmm0
mov dword [edx + esi + 0x2c], eax
mov eax, dword [ebx + 0x24]
mov dword [edx + esi + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [edx + esi + 0x20], ecx
mov dword [edx + esi + 0x24], edi
mov dword [edx + esi + 0x30], eax
jle 0x1006d2de
mov dword [esp + 0x240], ebx
mov eax, 1
mov edi, 0xa10
mov ebx, eax
mov edx, dword [0x10219190]
push 0x10
push dword [edi + edx + 0x70]
call fcn.101beb7a
mov edx, dword [0x10210940]
push 8
mov ecx, dword [esi + edx + 0x34]
mov dword [ecx + ebx*4], eax
mov edx, dword [0x10219190]
push dword [edi + edx + 0x70]
call fcn.101beb7a
mov edx, dword [0x10210940]
push 4
mov ecx, dword [esi + edx + 0x38]
mov dword [ecx + ebx*4], eax
mov edx, dword [0x10219190]
push dword [edi + edx + 0x70]
call fcn.101beb7a
add esp, 0x18
mov edx, dword [0x10210940]
mov ecx, dword [edx + esi + 0x3c]
mov dword [ecx + ebx*4], eax
add edi, 0xa10
inc ebx
cmp ebx, dword [0x10282f80]
jle 0x1006d26b
mov ebx, dword [esp + 0x240]
xor edi, edi
push 8
push dword [ebx + 0x18]
call fcn.101beb7a
add esp, 8
mov dword [ebx + edi*4 + 0x3c], eax
inc edi
cmp edi, 4
jl 0x1006d2e0
mov eax, dword [ebx + 0x18]
test eax, eax
pxor xmm0, xmm0
movsd qword [esp + 0x1c0], xmm0
jle 0x1006d46b
mov edx, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x214], esi
xor edi, edi
mov eax, dword [esp + 0x234]
mov esi, dword [esp + 0x1ec]
mov dword [eax + edi*4], 0
lea eax, [esi + edi*8]
push eax
push dword [ecx + edi*4]
push dword [edx + edi*4]
call fcn.100b0a90
add esp, 0xc
mov edx, dword [esp + 0x26c]
mov ecx, dword [ebx + 0x3c]
mov dword [edx + edi*4], edi
mov edx, dword [ebx + 0x4c]
mov eax, dword [edx + edi*4]
movsd xmm0, qword [eax]
mov eax, dword [ebx + 0x40]
movsd qword [ecx + edi*8], xmm0
mov esi, dword [edx + edi*4]
movsd xmm1, qword [esi]
mov esi, dword [ebx + 0x44]
movsd qword [eax + edi*8], xmm1
mov dword [esp + 0x258], ecx
mov ecx, dword [edx + edi*4]
movsd xmm2, qword [ecx + 8]
movsd qword [esi + edi*8], xmm2
mov ecx, dword [edx + edi*4]
movsd xmm3, qword [ecx + 8]
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x250], esi
mov esi, dword [ebx + 0x48]
movsd qword [esi + edi*8], xmm3
cmp dword [ecx + edi*4], 1
mov dword [esp + 0x254], esi
jle 0x1006d441
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x240], ebx
mov esi, 1
mov ecx, esi
mov esi, dword [edx + edi*4]
mov ebx, ecx
shl ebx, 4
movsd xmm0, qword [esi + ebx]
inc ecx
mov esi, dword [esp + 0x258]
minsd xmm0, qword [esi + edi*8]
movsd qword [esi + edi*8], xmm0
mov esi, dword [edx + edi*4]
movsd xmm1, qword [esi + ebx]
maxsd xmm1, qword [eax + edi*8]
movsd qword [eax + edi*8], xmm1
mov esi, dword [edx + edi*4]
movsd xmm2, qword [ebx + esi + 8]
mov esi, dword [esp + 0x250]
minsd xmm2, qword [esi + edi*8]
movsd qword [esi + edi*8], xmm2
mov esi, dword [edx + edi*4]
movsd xmm3, qword [ebx + esi + 8]
mov ebx, dword [esp + 0x254]
maxsd xmm3, qword [ebx + edi*8]
movsd qword [ebx + edi*8], xmm3
mov ebx, dword [esp + 0x24c]
cmp ecx, dword [ebx + edi*4]
jl 0x1006d3c7
mov ecx, ebx
mov ebx, dword [esp + 0x240]
movsd xmm0, qword [esp + 0x1c0]
maxsd xmm0, qword [eax + edi*8]
mov eax, dword [ebx + 0x18]
movsd qword [esp + 0x1c0], xmm0
inc edi
cmp edi, eax
jl 0x1006d31e
mov esi, dword [esp + 0x214]
mov edx, dword [esp + 0x26c]
mov ecx, dword [esp + 0x1ec]
call fcn.1006f61c
mov edx, dword [0x10282f80]
test edx, edx
jle 0x1006d60c
mov ecx, dword [0x10219190]
movsd xmm0, qword [0x101e4218]
mov dword [esp + 0x214], esi
mov dword [esp + 0x240], ebx
mov ebx, dword [esp + 0x1a4]
mov eax, 1
xor edi, edi
imul esi, eax, 0xa10
cmp dword [ecx + esi + 0x70], 0
jle 0x1006d5ee
mov edx, dword [0x10210940]
mov ecx, dword [esp + 0x204]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x25c], ecx
mov ebx, edi
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x264], esi
mov dword [esp + 0x260], eax
mov ecx, dword [esp + 0x244]
mov eax, dword [esp + 0x260]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x25c]
mov eax, dword [esp + 0x264]
mov dword [edx + ebx*4], 2
mov esi, 0x101e42a4
mov dword [ecx + ebx*4], 0xffffffff
mov ecx, dword [0x10219190]
mov edi, dword [eax + ecx + 0x9a0]
mov dword [esp + 0x268], edi
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x1006d55b
test dl, dl
je 0x1006d557
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x1006d55b
add edi, 2
add esi, 2
test dl, dl
jne 0x1006d53b
xor eax, eax
jmp 0x1006d560
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d5cb
mov eax, dword [esp + 0x240]
mov eax, dword [eax + 0x18]
test eax, eax
jle 0x1006d5cb
mov edi, dword [esp + 0x234]
mov dword [esp + 0x270], eax
mov dword [esp + 0x23c], ebx
xor esi, esi
mov dword [esp + 0x238], ecx
mov eax, dword [esp + 0x26c]
mov ebx, dword [eax + esi*4]
cmp dword [edi + ebx*4], 2
je 0x1006dcbb
inc esi
cmp esi, dword [esp + 0x270]
jl 0x1006d590
movsd xmm0, qword [0x101e4218]
mov ebx, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x234], edi
mov eax, dword [esp + 0x264]
inc ebx
cmp ebx, dword [ecx + eax + 0x70]
jl 0x1006d4f5
mov eax, dword [esp + 0x260]
mov edx, dword [0x10282f80]
xor edi, edi
mov ebx, eax
inc eax
cmp eax, edx
jle 0x1006d4b6
mov esi, dword [esp + 0x214]
mov dword [esp + 0x1a4], ebx
mov ebx, dword [esp + 0x240]
mov edi, dword [esp + 0x1a0]
mov eax, 1
mov dword [esp + 0x1d4], eax
shl edi, 6
test edx, edx
jle 0x1006d75e
mov ecx, dword [0x10219190]
mov dword [esp + 0x200], edi
mov edi, ecx
mov dword [esp + 0x214], esi
mov dword [esp + 0x240], ebx
xor ecx, ecx
mov dword [esp + 0x15c], ecx
mov eax, 1
mov ebx, edx
mov ecx, dword [0x102222a0]
mov esi, dword [ecx + eax*4]
imul edx, esi, 0xa10
mov ecx, dword [edi + edx + 0x70]
test ecx, ecx
jle 0x1006d703
mov dword [esp + 0x248], esi
mov esi, dword [esp + 0x1d8]
mov dword [esp + 0x21c], edx
xor ebx, ebx
mov dword [esp + 0x1dc], eax
mov edx, dword [esp + 0x248]
mov eax, dword [esp + 0x244]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + ebx*4]
cmp edx, 2
jl 0x1006d6ea
je 0x1006e345
cmp edx, 1
je 0x1006e070
mov eax, dword [0x10210940]
mov edi, dword [esp + 0x214]
mov ecx, dword [esp + 0x248]
mov edx, dword [edi + eax + 0x3c]
mov edi, dword [edx + ecx*4]
mov eax, dword [esp + 0x21c]
mov dword [edi + ebx*4], 1
mov edi, dword [0x10219190]
mov ecx, dword [edi + eax + 0x70]
inc ebx
cmp ebx, ecx
jl 0x1006d690
mov eax, dword [esp + 0x1dc]
mov ebx, dword [0x10282f80]
mov dword [esp + 0x1d8], esi
inc eax
cmp eax, ebx
jle 0x1006d657
mov ecx, dword [esp + 0x15c]
mov edi, dword [esp + 0x200]
mov esi, dword [esp + 0x214]
mov edx, ebx
test ecx, ecx
mov ebx, dword [esp + 0x240]
je 0x1006d75e
cmp dword [esp + 0x1d4], 0
je 0x1006d75e
mov eax, dword [0x10210940]
push 0
push 5
push dword [esp + 0x24c]
push dword [eax + esi + 0x38]
push dword [eax + esi + 0x34]
call fcn.10152120
add esp, 0x14
mov edx, dword [0x10282f80]
test edx, edx
pxor xmm3, xmm3
pxor xmm0, xmm0
movsd qword [esp + 0x160], xmm0
jle 0x1006d822
mov eax, dword [0x10219190]
movsd qword [esp + 0x168], xmm3
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x200], edi
mov edi, eax
mov ecx, 1
mov eax, 0xa10
mov dword [esp + 0x214], esi
mov esi, edx
mov dword [esp + 0x240], ebx
mov ebx, ecx
lea ecx, [eax + edi]
mov edx, dword [ecx + 0x70]
test edx, edx
jle 0x1006d7f8
mov edi, dword [esp + 0x244]
mov dword [esp + 0x1e0], eax
xor esi, esi
mov eax, dword [edi + ebx*4]
cmp dword [eax + esi*4], 1
je 0x1006f23f
inc esi
cmp esi, edx
jl 0x1006d7cb
mov eax, dword [esp + 0x1e0]
mov esi, dword [0x10282f80]
mov dword [esp + 0x244], edi
mov edi, dword [esp + 0x1e4]
add eax, 0xa10
inc ebx
cmp ebx, esi
jle 0x1006d7b1
movsd xmm3, qword [esp + 0x168]
mov edi, dword [esp + 0x200]
mov ebx, dword [esp + 0x240]
mov edx, esi
mov esi, dword [esp + 0x214]
movaps xmm6, xmm3
movsd xmm1, qword [0x1020c060]
mulsd xmm6, xmm1
addsd xmm6, qword [0x101e4218]
movsd xmm2, qword [0x101e4228]
movsd xmm4, qword [0x101e4230]
movsd xmm7, qword [0x101e4238]
andps xmm2, xmm6
movaps xmm5, xmm2
pxor xmm5, xmm6
cmpltsd xmm5, xmm4
andps xmm5, xmm4
orps xmm5, xmm2
movaps xmm0, xmm5
addsd xmm0, xmm6
subsd xmm0, xmm5
movaps xmm4, xmm0
subsd xmm4, xmm6
cmpnlesd xmm4, xmm2
andps xmm4, xmm7
subsd xmm0, xmm4
divsd xmm0, xmm1
pxor xmm1, xmm1
comisd xmm1, xmm0
jbe 0x1006d9a0
cmp dword [esp + 0x1d4], 0
movsd xmm0, qword [esp + 0x160]
subsd xmm0, xmm3
mov ecx, dword [0x10210940]
movsd qword [esp + 0x160], xmm0
je 0x1006d9a6
test edx, edx
jle 0x1006d9a6
mov eax, dword [0x10219190]
mov dword [esp + 0x100], 1
mov dword [esp + 0x180], ecx
mov dword [esp + 0x104], 0xa10
mov dword [esp + 0x200], edi
mov edi, dword [esp + 0x104]
mov dword [esp + 0x214], esi
mov esi, dword [esp + 0x100]
mov dword [esp + 0x240], ebx
xor ebx, ebx
cmp dword [edi + eax + 0x70], 0
jle 0x1006d977
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x184], edx
mov ecx, ebx
mov edx, dword [eax + esi*4]
cmp dword [edx + ecx*4], 1
jne 0x1006d95e
mov ebx, dword [esp + 0x214]
mov edx, dword [esp + 0x180]
mov edx, dword [edx + ebx + 0x34]
mov ebx, dword [edx + esi*4]
mov edx, ecx
shl edx, 4
movsd xmm0, qword [ebx + edx]
subsd xmm0, xmm3
movsd qword [ebx + edx], xmm0
mov edx, dword [esp + 0x1f4]
inc ecx
cmp ecx, dword [edi + edx + 0x70]
jl 0x1006d92d
mov eax, edx
mov edx, dword [esp + 0x184]
xor ebx, ebx
add edi, 0xa10
inc esi
cmp esi, edx
jle 0x1006d90f
mov ecx, dword [esp + 0x180]
mov edi, dword [esp + 0x200]
mov esi, dword [esp + 0x214]
mov ebx, dword [esp + 0x240]
jmp 0x1006d9a6
mov ecx, dword [0x10210940]
movsd xmm0, qword [esp + 0x160]
mulsd xmm0, qword [0x1021f8d8]
movsd xmm1, qword [edi + ecx]
comisd xmm0, xmm1
jbe 0x1006d9da
mov eax, dword [esp + 0x1d0]
cmp eax, dword [ebp + 0x14]
je 0x1006da46
cmp dword [esp + 0x1d4], 0
jne 0x1006d9f0
jmp 0x1006da46
cmp dword [esp + 0x1d4], 0
je 0x1006da46
mov eax, dword [esp + 0x1d0]
cmp eax, dword [ebp + 0x14]
je 0x1006d9f8
movsd xmm1, qword [0x101e4220]
movsd qword [esp + 0xc], xmm1
lea edx, [esi + ecx]
mov dword [esp + 0x14], edx
lea eax, [esi + ecx + 8]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x108]
mov eax, dword [edx + 0x34]
mov edx, dword [edx + 0x38]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x244]
call fcn.1006f6ac
mov ecx, dword [0x10210940]
movsd xmm0, qword [0x1020b978]
mulsd xmm0, qword [ecx + esi + 8]
movsd qword [ecx + esi + 8], xmm0
jmp 0x1006da5e
movsd qword [esp + 0x108], xmm0
movsd qword [ecx + esi], xmm0
pxor xmm0, xmm0
movsd qword [ecx + esi + 8], xmm0
movsd xmm0, qword [esp + 0x170]
movsd xmm1, qword [ecx + esi]
comisd xmm0, xmm1
ja 0x1006da7c
cmp dword [esp + 0x1d0], 0
jne 0x1006da85
movsd qword [esp + 0x170], xmm1
movsd xmm0, qword [edi + ecx]
comisd xmm0, xmm1
jbe 0x1006dc02
mov eax, dword [esp + 0x1d0]
cmp eax, dword [ebp + 0x14]
jne 0x1006dc02
movsd qword [edi + ecx], xmm1
movsd xmm0, qword [ecx + esi + 8]
movsd qword [edi + ecx + 8], xmm0
push dword [ecx + esi + 0x28]
call fcn.101beecd
mov edx, dword [0x10210940]
mov dword [edi + edx + 0x28], eax
push dword [edx + esi + 0x2c]
call fcn.101beecd
add esp, 8
mov edx, dword [0x10210940]
mov dword [edi + edx + 0x2c], eax
mov eax, dword [edx + esi + 0x10]
mov dword [edi + edx + 0x10], eax
movsd xmm0, qword [edx + esi + 0x18]
movsd qword [edi + edx + 0x18], xmm0
mov ecx, dword [edx + esi + 0x20]
mov dword [edi + edx + 0x20], ecx
mov eax, dword [edx + esi + 0x24]
mov dword [edi + edx + 0x24], eax
mov ecx, dword [edx + esi + 0x30]
mov dword [edi + edx + 0x30], ecx
mov ecx, dword [0x10282f80]
test ecx, ecx
jle 0x1006dbc7
mov eax, dword [0x10219190]
mov dword [esp + 0x9c], 1
mov dword [esp + 0x200], edi
mov dword [esp + 0x1c8], 0xa10
xor edi, edi
mov dword [esp + 0x214], esi
mov esi, dword [esp + 0x1c8]
mov dword [esp + 0x240], ebx
mov ebx, dword [esp + 0x9c]
cmp dword [eax + esi + 0x70], 0
jle 0x1006dbb5
mov dword [esp + 0x1c8], esi
mov esi, dword [esp + 0x200]
mov ecx, edi
mov eax, dword [esp + 0x244]
mov edi, dword [eax + ebx*4]
cmp dword [edi + ecx*4], 1
je 0x1006f1ca
mov eax, dword [esi + edx + 0x3c]
mov edi, dword [eax + ebx*4]
mov dword [edi + ecx*4], 1
mov eax, dword [0x10219190]
mov edi, dword [esp + 0x1c8]
inc ecx
cmp ecx, dword [eax + edi + 0x70]
jl 0x1006db6f
mov ecx, dword [0x10282f80]
mov dword [esp + 0x200], esi
mov esi, edi
xor edi, edi
add esi, 0xa10
inc ebx
cmp ebx, ecx
jle 0x1006db58
mov ebx, dword [esp + 0x240]
mov esi, dword [esp + 0x1a0]
mov edi, dword [ebp + 0x14]
movsd xmm0, qword [edx]
xor eax, eax
mov ecx, eax
shl ecx, 6
movsd xmm1, qword [edx + ecx]
comisd xmm1, xmm0
cmova esi, eax
inc eax
cmp eax, edi
jb 0x1006dbd7
mov eax, dword [esp + 0x1d0]
cmp eax, dword [ebp + 0x14]
mov dword [esp + 0x1a0], esi
jl 0x1006dc28
jmp 0x1006dc2f
mov eax, dword [esp + 0x1d0]
cmp eax, dword [ebp + 0x14]
jge 0x1006dc2f
mov eax, dword [esp + 0x1a0]
comisd xmm1, xmm0
cmova eax, dword [esp + 0x1d0]
mov dword [esp + 0x1a0], eax
inc dword [esp + 0x1d0]
cmp dword [esp + 0x19c], 0
jne 0x1006ce9d
cmp dword [ebx + 0x18], 0
jle 0x1006dc64
xor esi, esi
mov eax, dword [ebx + 0x30]
push dword [eax + esi*4]
call fcn.101bceaa
mov eax, dword [ebx + 0x4c]
push dword [eax + esi*4]
call fcn.101bceaa
add esp, 8
inc esi
cmp esi, dword [ebx + 0x18]
jl 0x1006dc45
push dword [ebx]
call fcn.101bceaa
push dword [ebx + 4]
call fcn.101bceaa
push dword [ebx + 0x30]
call fcn.101bceaa
push dword [ebx + 0x4c]
call fcn.101bceaa
push dword [ebx + 0x50]
call fcn.101bceaa
push dword [ebx + 0x38]
call fcn.101bceaa
push dword [ebx + 0x3c]
call fcn.101bceaa
push dword [ebx + 0x40]
call fcn.101bceaa
push dword [ebx + 0x44]
call fcn.101bceaa
push dword [ebx + 0x48]
call fcn.101bceaa
add esp, 0x28
jmp 0x1006ce9d
mov edx, dword [esp + 0x260]
mov eax, dword [esp + 0x244]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x23c]
cmp dword [ecx + eax*4], 2
mov dword [esp + 0x230], ecx
jne 0x1006d5a4
mov edx, dword [esp + 0x268]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1006dd0f
mov eax, edx
add edx, ecx
call fcn.101d74d0
mov edx, dword [esp + 0x240]
push eax
mov ecx, dword [edx + 0x30]
push dword [esp + 0x26c]
push dword [ecx + ebx*4]
call fcn.101be28c
add esp, 0xc
test eax, eax
jne 0x1006d5a4
mov edx, dword [esp + 0x238]
mov eax, dword [esp + 0x264]
mov ecx, dword [eax + edx + 0xd0]
mov edx, dword [esp + 0x1ec]
mov eax, dword [ecx]
movsd xmm0, qword [eax + 0x18]
movsd xmm1, qword [edx + esi*8]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp], xmm0
movsd qword [esp + 0xe8], xmm1
movsd qword [esp + 8], xmm1
call fcn.1006f550
test eax, eax
je 0x1006d5a4
movsd xmm0, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0x178]
movsd xmm2, qword [esp + 0xf0]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm2
call fcn.1006f590
test eax, eax
je 0x1006d5a4
movsd xmm0, qword [0x101e4218]
mov eax, dword [esp + 0x230]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x23c]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x234], edi
mov edx, 1
mov dword [eax + ebx*4], edx
mov eax, dword [esp + 0x25c]
mov dword [edi + esi*4], edx
mov edx, dword [esp + 0x240]
mov edi, dword [esp + 0x1e8]
mov ecx, dword [edx + 0x3c]
mov edx, dword [edx + 0x40]
movsd xmm2, qword [ecx + esi*8]
addsd xmm2, qword [edx + esi*8]
mov dword [eax + ebx*4], esi
shl ebx, 4
mov eax, dword [esp + 0x214]
mov esi, dword [0x10219190]
mov eax, dword [edi + eax + 0x34]
mov edi, dword [esp + 0x264]
mov ecx, dword [esi + edi + 0x2c]
mov edx, dword [esi + edi + 0x24]
movsd xmm1, qword [ecx]
addsd xmm1, qword [edx]
mov ecx, dword [esp + 0x260]
mov edx, dword [eax + ecx*4]
subsd xmm2, xmm1
mulsd xmm2, xmm0
addsd xmm2, qword [esi + edi + 0x78]
movsd qword [edx + ebx], xmm2
mov edx, dword [esp + 0x78]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x240]
mov ecx, dword [ebx + 0x44]
mov ebx, dword [ebx + 0x48]
movsd xmm4, qword [ecx + edx*8]
addsd xmm4, qword [ebx + edx*8]
mov ecx, dword [esi + edi + 0x30]
mov ebx, dword [esi + edi + 0x28]
movsd xmm3, qword [ecx]
addsd xmm3, qword [ebx]
mov ecx, dword [esp + 0x260]
subsd xmm4, xmm3
mulsd xmm4, xmm0
addsd xmm4, qword [esi + edi + 0x80]
mov esi, dword [esp + 0x7c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x240]
mov ebx, dword [eax + 0x38]
movsd qword [esi + edi + 8], xmm4
mov esi, dword [esp + 0x1e8]
movsd xmm5, qword [ebx + edx*8]
mov edi, dword [esp + 0x214]
mov ebx, dword [esp + 0x23c]
mov eax, dword [esi + edi + 0x38]
mov eax, dword [eax + ecx*4]
mov edx, dword [esi + edi + 0x3c]
mov esi, dword [esp + 0x264]
movsd qword [eax + ebx*8], xmm5
mov ecx, dword [edx + ecx*4]
mov dword [ecx + ebx*4], 0
mov ecx, dword [0x10219190]
mov eax, dword [esi + ecx + 0x950]
cmp dword [esi + ecx + 0x948], 1
je 0x1006e063
test eax, eax
jle 0x1006d5cb
mov eax, esi
mov eax, dword [ecx + eax + 0x94c]
mov dword [esp + 0x150], edx
mov dword [esp + 0x23c], ebx
mov dword [esp + 0x238], ecx
xor esi, esi
mov ebx, esi
shl ebx, 4
mov edx, dword [eax + ebx + 8]
test edx, edx
jle 0x1006e039
mov dword [esp + 0x138], ebx
mov dword [esp + 0x98], esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x120], edi
mov ebx, dword [esp + 0x138]
mov esi, dword [esp + 0x238]
mov edi, dword [eax + ebx + 4]
mov edi, dword [edi + ecx*4]
imul ebx, edi, 0xa10
mov esi, dword [ebx + esi + 0x70]
test esi, esi
jle 0x1006e029
mov dword [esp + 0x154], ebx
mov ebx, dword [esp + 0x244]
mov dword [esp + 0x124], ecx
xor eax, eax
mov ecx, dword [esp + 0x120]
mov edx, dword [ebx + edi*4]
cmp dword [edx + eax*4], 0
je 0x1006dff6
test ecx, ecx
jne 0x1006dff6
mov ecx, dword [esp + 0x150]
mov dword [edx], 0
mov esi, dword [ecx + edi*4]
mov ecx, 1
mov dword [esi], 1
mov edx, dword [0x10219190]
mov esi, dword [esp + 0x154]
mov esi, dword [esi + edx + 0x70]
mov dword [esp + 0x238], edx
inc eax
cmp eax, esi
jl 0x1006dfb6
mov edx, dword [esp + 0x264]
mov eax, dword [esp + 0x238]
mov ebx, dword [esp + 0x138]
mov eax, dword [eax + edx + 0x94c]
mov edx, dword [eax + ebx + 8]
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0x124]
inc ecx
cmp ecx, edx
jl 0x1006df71
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x238]
inc esi
cmp esi, dword [edx + ecx + 0x950]
jl 0x1006df47
mov ebx, dword [esp + 0x23c]
mov ecx, edx
jmp 0x1006d5cb
test eax, eax
jne 0x1006df21
jmp 0x1006d5cb
mov edi, dword [esp + 0x204]
mov edx, dword [esp + 0x20c]
movsd xmm3, qword [0x101e4218]
mov ecx, dword [edi + esi*4]
mov edi, dword [esp + 0x210]
mov dword [esp + 0x218], ebx
mov dword [eax + ebx*4], 0
mov ebx, dword [esp + 0x244]
mov eax, dword [ebx + esi*4]
mov ebx, dword [0x10210940]
mov dword [ecx + edi*4], edx
mov ecx, dword [esp + 0x214]
mov dword [eax + edi*4], 1
mov eax, dword [ebx + ecx + 0x34]
mov ecx, dword [esp + 0x240]
mov ebx, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x3c]
movsd xmm1, qword [ebx + edx*8]
addsd xmm1, qword [ecx + edx*8]
mov edx, dword [0x10219190]
mov dword [esp + 0x228], eax
mov eax, dword [eax + esi*4]
shl edi, 4
mov dword [esp + 0x220], edi
imul edi, esi, 0xa10
mov ebx, dword [edx + edi + 0x2c]
movsd xmm0, qword [ebx]
mov ebx, dword [esp + 0x220]
mov ecx, dword [edx + edi + 0x24]
addsd xmm0, qword [ecx]
subsd xmm1, xmm0
mulsd xmm1, xmm3
addsd xmm1, qword [edx + edi + 0x78]
movsd qword [eax + ebx], xmm1
mov eax, dword [esp + 0x240]
mov ecx, dword [eax + 0x48]
mov ebx, dword [eax + 0x44]
mov eax, dword [esp + 0x20c]
movsd xmm4, qword [ecx + eax*8]
addsd xmm4, qword [ebx + eax*8]
mov eax, dword [esp + 0x228]
mov ecx, dword [edx + edi + 0x30]
mov ebx, dword [edx + edi + 0x28]
movsd xmm2, qword [ecx]
addsd xmm2, qword [ebx]
mov ebx, dword [esp + 0x220]
mov ecx, dword [eax + esi*4]
subsd xmm4, xmm2
mulsd xmm4, xmm3
addsd xmm4, qword [edx + edi + 0x80]
mov eax, dword [esp + 0x208]
movsd qword [ecx + ebx + 8], xmm4
mov ebx, dword [eax + esi*4]
mov eax, dword [esp + 0x214]
mov ecx, dword [0x10210940]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x210]
push 0x10
movsd xmm5, qword [ebx + ecx*8]
movsd qword [eax + ecx*8], xmm5
mov edx, dword [edx + edi + 0xd0]
mov eax, dword [edx]
push dword [eax + 0x10]
mov ebx, dword [esp + 0x220]
call fcn.101beb7a
mov dword [esp + 0x22c], eax
mov eax, dword [0x10219190]
mov edx, dword [eax + edi + 0xd0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
shl ecx, 4
push ecx
push dword [eax]
push dword [esp + 0x234]
call fcn.101d7590
add esp, 0x14
mov edx, dword [0x10210940]
mov eax, dword [0x10219190]
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x218], ebx
mov ebx, dword [eax + edi + 0xd0]
mov dword [esp + 0x22c], edi
mov dword [esp], ecx
mov ecx, dword [ebx]
mov ebx, dword [ecx + 0x10]
lea ecx, [esp + 8]
mov dword [esp + 4], ebx
movsd xmm0, qword [edi + eax + 0x78]
movsd qword [ecx], xmm0
movsd xmm1, qword [edi + eax + 0x80]
movsd qword [ecx + 8], xmm1
lea ebx, [esp + 0x20]
mov edi, dword [esp + 0x214]
mov eax, dword [edx + edi + 0x34]
mov eax, dword [eax + esi*4]
mov ecx, dword [esp + 0x220]
pxor xmm2, xmm2
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [eax + ecx]
movsd qword [ebx], xmm3
movsd xmm4, qword [eax + ecx + 8]
movsd qword [ebx + 8], xmm4
mov edx, dword [edx + edi + 0x38]
mov eax, dword [esp + 0x210]
mov ebx, dword [esp + 0x218]
mov edi, dword [edx + esi*4]
movsd xmm5, qword [edi + eax*8]
mov edi, dword [esp + 0x22c]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
mov eax, dword [0x10219190]
push 1
mov edx, dword [edi + eax + 0xd0]
mov ecx, dword [edx]
push dword [ecx + 0x10]
push dword [esp + 0x22c]
call fcn.100ad350
add esp, 0xc
movsd xmm0, qword [0x1021f8d8]
mov edx, dword [esp + 0x224]
movsd xmm1, qword [esp + 0x1f8]
mov ecx, dword [0x10210940]
shl eax, 4
mulsd xmm0, qword [eax + edx]
mov eax, dword [esp + 0x200]
maxsd xmm1, xmm0
comisd xmm1, xmmword [eax + ecx]
movsd qword [esp + 0x1f8], xmm1
jbe 0x1006e322
mov eax, dword [esp + 0x1d0]
xor edx, edx
cmp eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x1d4]
cmove ecx, edx
mov dword [esp + 0x1d4], ecx
push dword [esp + 0x224]
call fcn.101bceaa
pop ecx
mov edi, dword [0x10219190]
mov eax, dword [esp + 0x21c]
mov ecx, dword [edi + eax + 0x70]
jmp 0x1006d6ea
cmp dword [esp + 0x1d4], 0
je 0x1006ea65
mov eax, dword [esp + 0x240]
movsd xmm0, qword [0x101e4210]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x178], xmm0
test eax, eax
jle 0x1006e9a1
mov edi, dword [esp + 0x234]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x218], ebx
xor esi, esi
mov ebx, dword [esp + 0x26c]
mov edx, dword [ebx + esi*4]
cmp dword [edi + edx*4], 0
jne 0x1006e97e
mov eax, dword [0x10219190]
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x140], eax
mov eax, dword [eax + ecx + 0xd0]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1ec]
movsd xmm2, qword [ecx + 0x18]
movsd xmm1, qword [eax + esi*8]
movsd qword [esp + 0x118], xmm2
movsd qword [esp + 0x110], xmm1
movaps xmm0, xmm1
mov dword [esp + 0x144], edx
minsd xmm1, xmm2
movsd qword [esp + 8], xmm1
maxsd xmm0, xmm2
movsd qword [esp], xmm0
call fcn.1006f550
mov edx, dword [esp + 0x144]
test eax, eax
je 0x1006e97e
imul eax, dword [esp + 0x1a4], 0xa10
movsd xmm2, qword [esp + 0x110]
movsd xmm0, qword [esp + 0x178]
mov ecx, dword [esp + 0x140]
movsd xmm4, qword [esp + 0x118]
movsd qword [esp], xmm2
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x20], xmm4
movaps xmm3, xmm4
minsd xmm3, xmm2
movsd qword [esp + 0x18], xmm3
mov dword [esp + 0xc8], eax
mov eax, dword [eax + ecx + 0xd0]
mov ecx, dword [eax]
movsd xmm1, qword [ecx + 0x18]
movsd qword [esp + 0x10], xmm1
mov dword [esp + 0x144], edx
call fcn.1006f590
mov edx, dword [esp + 0x144]
test eax, eax
je 0x1006e97e
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x240]
movsd xmm3, qword [0x101e4218]
mov dword [esp + 0x234], edi
mov dword [esp + 0x26c], ebx
mov ebx, dword [esp + 0x21c]
mov edi, dword [ecx + ebx + 0x24]
mov dword [esp + 0x94], esi
mov esi, dword [ecx + ebx + 0x2c]
movsd xmm1, qword [esi]
addsd xmm1, qword [edi]
mov esi, dword [eax + 0x40]
mov edi, dword [eax + 0x3c]
movsd xmm0, qword [esi + edx*8]
addsd xmm0, qword [edi + edx*8]
mov esi, dword [ecx + ebx + 0x30]
mov ecx, dword [ecx + ebx + 0x28]
movsd xmm4, qword [esi]
addsd xmm4, qword [ecx]
mov ebx, dword [eax + 0x48]
mov ecx, dword [eax + 0x44]
movsd xmm2, qword [ebx + edx*8]
addsd xmm2, qword [ecx + edx*8]
mov eax, dword [eax + 0x50]
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [esp + 0x58], xmm1
subsd xmm4, xmm2
mulsd xmm4, xmm3
movsd qword [esp + 0x50], xmm4
push 0x10
push dword [eax + edx*4]
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x274]
mov edi, dword [esp + 0x23c]
mov dword [esp + 0x14c], edx
call fcn.101beb7a
mov edx, dword [esp + 0x14c]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x248]
mov eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x50]
mov ecx, dword [ecx + edx*4]
shl ecx, 4
push ecx
push dword [eax + edx*4]
push dword [esp + 0x9c]
mov dword [esp + 0x158], edx
call fcn.101d7590
mov edx, dword [esp + 0x158]
add esp, 0x14
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x240]
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x50]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm1
mov dword [esp + 0x144], edx
mov dword [esp], eax
mov eax, dword [ecx + 0x50]
mov ecx, dword [eax + edx*4]
mov dword [esp + 4], ecx
call fcn.100ae570
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x240]
mov ecx, dword [eax + 0x38]
movsd xmm2, qword [ecx + edx*8]
pxor xmm0, xmm0
ucomisd xmm2, xmm0
jp 0x1006e5ec
je 0x1006e650
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x240]
mov dword [esp + 0x144], edx
mov dword [esp], eax
mov eax, dword [ecx + 0x50]
mov edx, dword [eax + edx*4]
mov eax, dword [0x10219190]
mov dword [esp + 4], edx
lea ecx, [esp + 8]
mov edx, dword [esp + 0x21c]
movsd xmm0, qword [eax + edx + 0x78]
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + edx + 0x80]
movsd qword [ecx + 8], xmm1
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], 0
call fcn.100aef80
mov edx, dword [esp + 0x144]
mov ecx, dword [0x10219190]
mov eax, dword [esp + 0x21c]
movsd xmm4, qword [esp + 0x58]
mov dword [esp + 0x94], esi
mov dword [esp + 0x26c], ebx
mov ebx, dword [eax + ecx + 0xd0]
mov ebx, dword [ebx]
movsd xmm1, qword [ebx + 0x18]
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x70], xmm1
mov dword [esp + 0x90], ecx
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x1ec]
movsd xmm0, qword [ebx + esi*8]
mov esi, dword [eax + ecx + 0x2c]
movsd xmm2, qword [esi]
mov esi, dword [esp + 0x240]
mov ebx, dword [esi + 0x40]
movsd xmm3, qword [ebx + edx*8]
mov ebx, dword [eax + ecx + 0x24]
movsd xmm6, qword [ebx]
mov ebx, dword [esi + 0x3c]
movsd xmm5, qword [ebx + edx*8]
mov ebx, dword [eax + ecx + 0x30]
mov eax, dword [eax + ecx + 0x28]
mov ecx, dword [esi + 0x44]
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x10], xmm0
mov dword [esp + 0x144], edx
addsd xmm3, xmm4
minsd xmm2, xmm3
movsd xmm3, qword [esp + 0x50]
addsd xmm5, xmm4
movsd xmm4, qword [ecx + edx*8]
maxsd xmm6, xmm5
movsd xmm5, qword [eax]
subsd xmm2, xmm6
movsd xmm6, qword [ebx]
mov ebx, dword [esi + 0x48]
movsd xmm7, qword [ebx + edx*8]
mov ebx, dword [esp + 0x26c]
mov esi, dword [esp + 0x94]
addsd xmm7, xmm3
minsd xmm6, xmm7
addsd xmm4, xmm3
movaps xmm3, xmm0
maxsd xmm5, xmm4
subsd xmm6, xmm5
mulsd xmm2, xmm6
minsd xmm3, xmm1
minsd xmm2, xmm3
movsd qword [esp + 0x60], xmm2
movsd qword [esp], xmm2
call fcn.1006f500
mov edx, dword [esp + 0x144]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x60]
test eax, eax
je 0x1006e7e8
movsd xmm3, qword [esp + 0x178]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + ecx + 0xd0]
mov ecx, dword [eax]
movsd xmm4, qword [ecx + 0x18]
movsd qword [esp + 0x68], xmm0
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm3
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0x10], xmm4
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
mov dword [esp + 0x144], edx
call fcn.1006f590
mov edx, dword [esp + 0x144]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
test eax, eax
jne 0x1006e804
pxor xmm0, xmm0
movsd qword [esp + 0xa0], xmm0
pxor xmm1, xmm1
movsd qword [esp + 0x48], xmm1
jmp 0x1006e88e
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
movsd qword [esp + 4], xmm1
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x144], edx
mov dword [esp + 0x28], 1
mov dword [esp], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xc], ecx
xor eax, eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x240]
mov ecx, dword [ecx + 0x50]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
call fcn.100d28c0
mov edx, dword [esp + 0x144]
mov eax, dword [0x10219190]
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x48], xmm0
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x21c]
mov eax, dword [esp + 0x90]
movsd xmm0, qword [esp + 0x48]
mov eax, dword [eax + ecx + 0xd0]
mov ecx, dword [eax]
movsd xmm1, qword [ecx + 0x18]
mov eax, dword [esp + 0x1ec]
movsd xmm2, qword [eax + esi*8]
movsd qword [esp + 0x38], xmm1
movsd qword [esp], xmm0
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm2
mov dword [esp + 0x144], edx
call fcn.1006f500
mov edx, dword [esp + 0x144]
test eax, eax
je 0x1006e960
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x178]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + ecx + 0xd0]
mov ecx, dword [eax]
movsd xmm3, qword [esp + 0x48]
movsd xmm4, qword [esp + 0x38]
movsd xmm2, qword [ecx + 0x18]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 0x18], xmm3
movsd qword [esp + 0x20], xmm4
mov dword [esp + 0x144], edx
call fcn.1006f590
mov edx, dword [esp + 0x144]
cmp eax, 2
jge 0x1006ea85
push dword [esp + 0x8c]
call fcn.101bceaa
pop ecx
mov eax, dword [esp + 0x240]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x1f0], edx
inc esi
cmp esi, dword [esp + 0x1f0]
jl 0x1006e394
mov dword [esp + 0x26c], ebx
mov ebx, dword [esp + 0x218]
mov dword [esp + 0x234], edi
mov esi, dword [esp + 0x248]
mov eax, dword [esp + 0x204]
mov edx, dword [eax + esi*4]
mov edx, dword [edx + ebx*4]
cmp edx, 0xffffffff
mov dword [esp + 0x210], ebx
je 0x1006f1b6
mov eax, dword [0x10219190]
mov ecx, dword [esp + 0x21c]
cmp dword [ecx + eax + 0x948], 1
je 0x1006f1a3
mov edi, esi
mov ecx, dword [esp + 0x244]
mov ecx, dword [ecx + edi*4]
cmp dword [ecx + ebx*4], 1
je 0x1006ec77
mov ecx, 0xffffffff
mov eax, dword [esp + 0x234]
mov edi, dword [esp + 0x21c]
mov dword [eax + edx*4], 1
mov dword [esp + 0x20c], edx
mov edx, dword [0x10219190]
cmp dword [edi + edx + 0x948], 1
je 0x1006ec51
mov edi, dword [esp + 0x248]
mov eax, dword [esp + 0x244]
mov eax, dword [eax + edi*4]
mov edi, dword [eax + ebx*4]
cmp edi, 1
je 0x1006eb0d
pxor xmm0, xmm0
movsd qword [esp + 0x1f8], xmm0
cmp edi, 2
jne 0x1006d6b8
mov edi, dword [0x10219190]
jmp 0x1006ea6e
cmp edx, 1
je 0x1006e070
mov eax, dword [esp + 0x21c]
mov ecx, dword [edi + eax + 0x70]
inc dword [esp + 0x15c]
jmp 0x1006d6ea
movsd xmm0, qword [esp + 0x48]
mov ecx, dword [esp + 0x218]
movsd qword [esp + 0x178], xmm0
mov dword [esp + 0x234], edi
mov edi, dword [esp + 0x204]
mov dword [esp + 0x26c], ebx
mov ebx, dword [esp + 0x248]
mov eax, dword [edi + ebx*4]
mov edi, dword [esp + 0x240]
mov dword [esp + 0x1a4], ebx
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0x38]
mov edi, dword [esp + 0x208]
mov edi, dword [edi + ebx*4]
movsd xmm1, qword [eax + edx*8]
mov edx, dword [esp + 0x244]
mov eax, dword [edx + ebx*4]
mov ebx, dword [esp + 0x26c]
movsd qword [edi + ecx*8], xmm1
mov edi, dword [esp + 0x234]
mov dword [eax + ecx*4], 1
mov dword [esp + 0x1ac], esi
jmp 0x1006e960
mov eax, dword [esp + 0x21c]
cmp dword [eax + edx + 0x950], 0
jle 0x1006ec02
mov edi, dword [0x10210940]
mov dword [esp + 0xe4], edi
mov dword [esp + 0x158], ecx
xor eax, eax
mov dword [esp + 0x218], ebx
mov dword [esp + 0x1d8], esi
mov esi, dword [esp + 0x21c]
cmp eax, dword [esp + 0x158]
je 0x1006ebd8
mov ecx, dword [edx + esi + 0x94c]
mov ebx, eax
shl ebx, 4
cmp dword [ecx + ebx + 8], 0
jle 0x1006ebd8
mov edi, dword [esp + 0xe4]
mov dword [esp + 0xf8], eax
xor ecx, ecx
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0x214]
mov eax, dword [esp + 0xfc]
mov ecx, dword [edi + ecx + 0x3c]
mov edi, dword [edx + esi + 0x94c]
mov edx, dword [edi + ebx + 4]
mov edx, dword [edx + eax*4]
mov edi, dword [ecx + edx*4]
inc eax
mov dword [edi], 1
mov edi, dword [esp + 0x244]
mov edx, dword [edi + edx*4]
mov dword [edx], 0
mov edx, dword [0x10219190]
mov edi, dword [esi + edx + 0x94c]
cmp eax, dword [edi + ebx + 8]
jl 0x1006eb96
mov eax, dword [esp + 0xf8]
inc eax
cmp eax, dword [edx + esi + 0x950]
jl 0x1006eb4d
mov ecx, dword [esp + 0x158]
mov ebx, dword [esp + 0x218]
mov dword [esp + 0x21c], esi
mov esi, dword [esp + 0x1d8]
cmp ecx, 0xffffffff
je 0x1006ec61
mov edx, dword [0x10210940]
mov eax, dword [esp + 0x214]
mov ecx, dword [eax + edx + 0x3c]
mov eax, dword [esp + 0x248]
mov edi, dword [ecx + eax*4]
mov ecx, dword [esp + 0x244]
mov dword [edi + ebx*4], 1
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + ebx*4]
cmp edi, 1
pxor xmm0, xmm0
movsd qword [esp + 0x1f8], xmm0
je 0x1006e070
jmp 0x1006ea54
mov eax, edi
cmp dword [eax + edx + 0x950], 0
jne 0x1006ea2a
mov edx, dword [esp + 0x248]
mov eax, dword [esp + 0x244]
mov eax, dword [eax + edx*4]
mov edi, dword [eax + ebx*4]
jmp 0x1006ec36
mov edi, dword [esp + 0x21c]
mov ecx, 0xffffffff
cmp dword [edi + eax + 0x950], 0
jle 0x1006e9fa
mov dword [esp + 0xd0], edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x218], ebx
mov dword [esp + 0x1d8], esi
xor edi, edi
mov dword [esp + 0x148], edi
mov edi, dword [esp + 0x21c]
mov edi, dword [eax + edi + 0x94c]
mov ecx, edi
mov edi, dword [esp + 0x148]
mov esi, edi
shl esi, 4
mov edx, dword [ecx + esi + 8]
test edx, edx
jle 0x1006ed26
mov dword [esp + 0x1cc], edx
mov edx, dword [esp + 0x244]
mov dword [esp + 0x148], edi
xor ebx, ebx
mov dword [esp + 0x14c], eax
mov edi, dword [ecx + esi + 4]
mov edi, dword [edi + ebx*4]
mov eax, dword [edx + edi*4]
cmp dword [eax], 2
je 0x1006ed65
inc ebx
cmp ebx, dword [esp + 0x1cc]
jl 0x1006ecf8
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x244], edx
mov edx, dword [esp + 0x21c]
inc edi
cmp edi, dword [eax + edx + 0x950]
jl 0x1006eccd
mov ecx, dword [esp + 0x158]
mov ebx, dword [esp + 0x218]
mov esi, dword [esp + 0x1d8]
mov eax, dword [esp + 0x204]
mov edx, dword [esp + 0x248]
mov edi, dword [eax + edx*4]
mov edx, dword [edi + ebx*4]
jmp 0x1006e9fa
mov eax, dword [esp + 0xd0]
movsd xmm3, qword [0x101e4218]
imul ecx, edi, 0xa10
mov dword [esp + 0x244], edx
mov edx, dword [esp + 0x240]
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x14c]
mov esi, dword [ecx + ebx + 0x2c]
movsd xmm1, qword [esi]
mov esi, dword [edx + 0x40]
movsd xmm0, qword [esi + eax*8]
mov esi, dword [ecx + ebx + 0x30]
movsd xmm4, qword [esi]
mov dword [esp + 0xe0], edi
mov edi, dword [ecx + ebx + 0x24]
addsd xmm1, qword [edi]
mov edi, dword [edx + 0x3c]
addsd xmm0, qword [edi + eax*8]
subsd xmm1, xmm0
mulsd xmm1, xmm3
mov dword [esp + 0xcc], ecx
mov ecx, dword [ecx + ebx + 0x28]
addsd xmm4, qword [ecx]
mov ebx, dword [edx + 0x48]
mov ecx, dword [edx + 0x44]
movsd xmm2, qword [ebx + eax*8]
addsd xmm2, qword [ecx + eax*8]
mov edx, dword [edx + 0x50]
movsd qword [esp + 0xc0], xmm1
subsd xmm4, xmm2
mulsd xmm4, xmm3
movsd qword [esp + 0xb8], xmm4
push 0x10
push dword [edx + eax*4]
mov edi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0xe0]
call fcn.101beb7a
mov edx, dword [esp + 0x24c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x248]
mov ecx, dword [edi + 0x4c]
mov edi, dword [edi + 0x50]
mov edi, dword [edi + eax*4]
shl edi, 4
push edi
push dword [ecx + eax*4]
push dword [esp + 0xe4]
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x258], edx
call fcn.101d7590
mov edx, dword [esp + 0x258]
add esp, 0x14
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x240]
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm1
mov dword [esp + 0x244], edx
mov dword [esp], eax
mov eax, dword [ecx + 0x50]
mov ecx, dword [esp + 0xd0]
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
call fcn.100ae570
mov edx, dword [esp + 0x244]
mov eax, dword [esp + 0x240]
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0xd0]
movsd xmm2, qword [ecx + eax*8]
pxor xmm0, xmm0
ucomisd xmm2, xmm0
jp 0x1006eefb
je 0x1006ef75
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x240]
mov dword [esp + 0xe0], edi
mov edi, dword [ecx + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [edi + eax*4]
mov edi, dword [0x10219190]
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], ecx
movsd xmm0, qword [edi + eax + 0x78]
lea ecx, [esp + 8]
movsd qword [ecx], xmm0
movsd xmm1, qword [edi + eax + 0x80]
movsd qword [ecx + 8], xmm1
mov edi, dword [esp + 0xe0]
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x244], edx
mov dword [esp + 0x20], 0
call fcn.100aef80
mov edx, dword [esp + 0x244]
mov ecx, dword [0x10219190]
mov dword [esp + 0x28], 1
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0xcc]
mov eax, dword [ecx + edi + 0xd0]
mov edi, dword [eax]
mov ecx, dword [edi]
movsd xmm0, qword [edi + 0x18]
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x1ec]
movsd qword [esp + 4], xmm0
mov dword [esp + 0x244], edx
mov dword [esp], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1ac]
movsd xmm1, qword [edi + ecx*8]
mov edi, dword [esp + 0x240]
mov ecx, dword [edi + 0x50]
mov edi, dword [esp + 0xd0]
mov ecx, dword [ecx + edi*4]
movsd qword [esp + 0x18], xmm1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
lea edi, [esp + 0xa0]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
call fcn.100d28c0
mov ecx, dword [0x10219190]
mov eax, dword [esp + 0xcc]
mov eax, dword [eax + ecx + 0xd0]
mov dword [esp + 0x14c], ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0x1ec]
movsd xmm0, qword [ecx + 0x18]
mov ecx, dword [esp + 0x1ac]
movsd xmm1, qword [eax + ecx*8]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp], xmm0
movsd qword [esp + 0xa8], xmm1
movsd qword [esp + 8], xmm1
call fcn.1006f550
mov edx, dword [esp + 0x244]
test eax, eax
jne 0x1006f0b1
movsd xmm0, qword [0x101e4210]
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x14c]
movsd qword [esp + 0xa0], xmm0
mov ecx, dword [ecx + eax + 0x94c]
mov edi, dword [ecx + esi + 8]
mov dword [esp + 0x1cc], edi
jmp 0x1006ed07
imul ecx, dword [esp + 0x1a4], 0xa10
movsd xmm4, qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0x178]
mov eax, dword [esp + 0x14c]
movsd xmm3, qword [esp + 0xb0]
mov eax, dword [eax + ecx + 0xd0]
mov ecx, dword [eax]
movsd xmm2, qword [ecx + 0x18]
movsd qword [esp + 0x80], xmm4
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 0x18], xmm4
movsd qword [esp + 0x20], xmm3
mov dword [esp + 0x244], edx
call fcn.1006f590
mov edx, dword [esp + 0x244]
movsd xmm4, qword [esp + 0x80]
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xe0], edi
cmp eax, 2
mov edi, dword [esp + 0x21c]
mov ecx, dword [ecx + edi + 0x94c]
mov edi, dword [ecx + esi + 8]
mov dword [esp + 0x1cc], edi
mov edi, dword [esp + 0xe0]
jl 0x1006ed07
mov eax, dword [esp + 0x148]
movsd qword [esp + 0x178], xmm4
mov dword [esp + 0x158], eax
mov dword [esp + 0x210], 0
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1d8], edi
jmp 0x1006ed07
cmp dword [ecx + eax + 0x950], 0
jne 0x1006e9df
jmp 0x1006e9f5
mov edx, esi
mov eax, dword [esp + 0x244]
mov eax, dword [eax + edx*4]
mov edi, dword [eax + ebx*4]
jmp 0x1006ec36
mov dword [esp + 0x200], esi
mov esi, dword [esi + edx + 0x34]
mov edi, dword [esi + ebx*4]
mov esi, dword [esp + 0x214]
mov eax, dword [edx + esi + 0x34]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x13c], ecx
shl ecx, 4
movsd xmm0, qword [ecx + eax]
movsd qword [ecx + edi], xmm0
movsd xmm1, qword [ecx + eax + 8]
movsd qword [ecx + edi + 8], xmm1
mov ecx, dword [edx + esi + 0x38]
mov esi, dword [esp + 0x200]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [esp + 0x13c]
mov edi, dword [esi + edx + 0x38]
mov edi, dword [edi + ebx*4]
movsd xmm2, qword [eax + ecx*8]
mov eax, dword [esi + edx + 0x3c]
movsd qword [edi + ecx*8], xmm2
mov eax, dword [eax + ebx*4]
mov dword [eax + ecx*4], 0
jmp 0x1006db91
push 0x10
mov eax, dword [ecx + 0xd0]
mov edx, dword [eax]
push dword [edx + 0x10]
call fcn.101beb7a
mov dword [esp + 0x194], eax
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x1e8]
mov eax, dword [eax + edx + 0xd0]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
shl eax, 4
push eax
push dword [edx]
push dword [esp + 0x19c]
call fcn.101d7590
add esp, 0x14
mov eax, dword [0x10210940]
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0x190], esi
mov dword [esp], edx
mov dword [esp + 0x244], edi
mov edi, dword [0x10219190]
mov edx, dword [edi + ecx + 0xd0]
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
shl esi, 4
mov dword [esp + 0x188], esi
mov dword [esp + 4], edx
movsd xmm0, qword [ecx + edi + 0x78]
lea edx, [esp + 8]
movsd qword [edx], xmm0
movsd xmm1, qword [ecx + edi + 0x80]
movsd qword [edx + 8], xmm1
pxor xmm2, xmm2
mov edx, dword [esp + 0x214]
mov edi, dword [eax + edx + 0x34]
mov edi, dword [edi + ebx*4]
movsd qword [esp + 0x18], xmm2
movsd xmm3, qword [edi + esi]
lea ecx, [esp + 0x20]
movsd qword [ecx], xmm3
movsd xmm4, qword [edi + esi + 8]
movsd qword [ecx + 8], xmm4
mov edi, dword [esp + 0x244]
mov esi, dword [eax + edx + 0x38]
mov eax, dword [esi + ebx*4]
mov esi, dword [esp + 0x190]
movsd xmm5, qword [eax + esi*8]
movsd qword [esp + 0x30], xmm5
call fcn.100ae4e0
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x1e0]
mov eax, dword [eax + edx + 0xd0]
mov edx, dword [eax]
lea eax, [esp + 0x128]
push eax
push dword [edx + 0x10]
push dword [esp + 0x194]
call fcn.100ae040
add esp, 0xc
mov eax, dword [esp + 0x128]
movsd xmm0, qword [esp + 0x168]
mov edx, dword [esp + 0x18c]
movsd xmm1, qword [esp + 0x160]
shl eax, 4
minsd xmm0, qword [edx + eax]
mov eax, dword [esp + 0x12c]
movsd qword [esp + 0x168], xmm0
shl eax, 4
maxsd xmm1, qword [edx + eax]
cmp dword [esp + 0x1d4], 0
movsd qword [esp + 0x160], xmm1
je 0x1006f457
movsd xmm1, qword [0x1021f8d8]
mov eax, dword [esp + 0x130]
shl eax, 4
movsd xmm0, qword [eax + edx + 8]
comisd xmm0, xmm1
jbe 0x1006f40c
mov eax, dword [0x10210940]
mov edx, dword [esp + 0x214]
mov eax, dword [eax + edx + 0x34]
mov edx, dword [esp + 0x188]
mov eax, dword [eax + ebx*4]
movsd xmm2, qword [eax + edx + 8]
subsd xmm2, xmm0
addsd xmm2, xmm1
movsd qword [eax + edx + 8], xmm2
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x18c]
shl eax, 4
movsd xmm1, qword [eax + edx + 8]
pxor xmm0, xmm0
comisd xmm0, xmm1
jbe 0x1006f457
mov eax, dword [0x10210940]
mov edx, dword [esp + 0x214]
mov eax, dword [eax + edx + 0x34]
mov edx, dword [esp + 0x188]
mov eax, dword [eax + ebx*4]
movsd xmm0, qword [eax + edx + 8]
subsd xmm0, xmm1
movsd qword [eax + edx + 8], xmm0
push dword [esp + 0x18c]
call fcn.101bceaa
pop ecx
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x1e4], edx
lea ecx, [eax + edx]
mov edx, dword [ecx + 0x70]
jmp 0x1006d7d8
mov esi, dword [esp + 0x1d0]
jmp 0x1006cf9d
mov esi, dword [0x10210944]
mov edx, dword [0x10210948]
lea eax, [esi - 1]
cmp edx, eax
jge 0x1006f4d0
xor eax, eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], eax
inc edx
mov dword [0x10210948], edx
jmp 0x1006d077
mov eax, 1
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
xor eax, eax
mov dword [edx], eax
mov dword [ecx], eax
mov dword [ebx], eax
mov eax, 1
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret