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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0x674
mov ebx, eax
mov edx, dword [0x1020ed34]
mov dword [esp + 0x660], edx
mov eax, dword [0x1021917c]
cmp eax, dword [0x1020c7e0]
jle 0x1015c07e
movsd xmm0, qword [0x101f37d0]
movsd qword [0x102199f0], xmm0
mov dword [0x1020c7e0], eax
mov dword [0x102199f8], 0
cmp dword [0x10219d48], 0
je 0x1015f31f
cmp dword [0x1021fb74], 0
jne 0x1015c0af
mov ecx, dword [esp + 0x660]
call fcn.101bc753
xor eax, eax
add esp, 0x674
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push dword [0x1021fb78]
call fcn.100ef300
push 8
push dword [0x10282f80]
call fcn.101beb7a
mov dword [esp + 0x628], eax
push 8
push dword [0x10282f80]
call fcn.101beb7a
mov dword [esp + 0x62c], eax
push 8
push dword [0x10282f80]
call fcn.101beb7a
mov dword [esp + 0x630], eax
push 4
push dword [0x10282f80]
call fcn.101beb7a
mov dword [esp + 0x634], eax
push 4
push dword [0x10282f80]
call fcn.101beb7a
mov dword [esp + 0x638], eax
push 4
push dword [0x10282f80]
call fcn.101beb7a
mov dword [esp + 0x63c], eax
push 8
push dword [ebx + 0xf8]
call fcn.101beb7a
mov dword [esp + 0x5d4], eax
push 8
mov edx, dword [ebx + 0xf8]
mov eax, 1
test edx, edx
cmovle edx, eax
push edx
call fcn.101beb7a
add esp, 0x44
mov dword [esp + 0x5a4], eax
cmp dword [0x1021f61c], 0
je 0x1015c1dd
mov esi, dword [ebx + 0x68]
mov dword [esp + 0x7c], 0
test esi, esi
jle 0x1015c1e5
mov ecx, dword [0x1021f618]
movsd xmm2, qword [0x1020c140]
movsd xmm1, qword [0x101f37d8]
mov edx, dword [ebx]
mov eax, 1
pxor xmm0, xmm0
mov dword [esp + 0x50], esi
subsd xmm0, xmm2
cmp ecx, dword [edx + eax*4]
jne 0x1015c1d4
mov esi, dword [ebx + 0x48]
movsd xmm3, qword [esi + eax*8]
subsd xmm3, xmm1
comisd xmm2, xmm3
jbe 0x1015c1d4
mov edi, dword [esp + 0x7c]
mov esi, 1
comisd xmm3, xmm0
cmova edi, esi
mov dword [esp + 0x7c], edi
inc eax
cmp eax, dword [esp + 0x50]
jle 0x1015c1a9
jmp 0x1015c1e5
mov dword [esp + 0x7c], 0
mov edi, dword [0x10282f80]
test edi, edi
jle 0x1015c6e5
mov eax, dword [0x10219190]
movsd xmm2, qword [0x101f37d8]
movsd xmm1, qword [0x101f37e0]
movsd xmm0, qword [0x101f37e8]
mov esi, 1
pxor xmm0, xmm0
xor ecx, ecx
imul edx, esi, 0xa10
cmp dword [eax + edx + 0x84c], 0
jne 0x1015c6d3
cmp dword [eax + edx + 0x70], 0
jle 0x1015c6d3
mov dword [esp + 0x80], edx
mov edi, ecx
mov edx, dword [ebx + 8]
mov eax, dword [edx + esi*4]
mov edx, dword [eax + edi*4]
mov ecx, dword [ebx + 0x10]
cmp dword [ecx + edx*4], 0
je 0x1015c663
mov eax, dword [ebx + 0x50]
cmp dword [eax + edx*4], 0xffffffff
je 0x1015c663
cmp dword [esp + 0x7c], 0
mov eax, dword [ebx + 0x48]
movsd xmm1, qword [eax + edx*8]
divsd xmm1, qword [0x101f37d8]
mulsd xmm1, qword [0x101f37e0]
je 0x1015c2ae
addsd xmm1, qword [0x101f37e0]
comisd xmm1, xmmword [0x101f37e8]
jb 0x1015c2ae
subsd xmm1, qword [0x101f37e8]
mov eax, dword [esp + 0x614]
movsd qword [eax + esi*8 - 8], xmm1
jmp 0x1015c2bb
mov eax, dword [esp + 0x614]
movsd qword [eax + esi*8 - 8], xmm1
mov eax, dword [ebx + 0x4c]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x610]
mov dword [eax + esi*4 - 4], ecx
mov ecx, dword [esp + 0x60c]
mov dword [ecx + esi*4 - 4], 1
cmp dword [ebx + 0xf8], 0
jne 0x1015c36d
mov eax, dword [ebx + 0x44]
shl edx, 4
movsd xmm4, qword [edx + eax]
movsd xmm5, qword [edx + eax + 8]
cmp dword [esp + 0x7c], 0
je 0x1015c31e
movaps xmm1, xmm4
movaps xmm3, xmm5
movsd xmm4, qword [ebp + 0xc]
movsd xmm2, qword [0x1021f8d8]
movaps xmm5, xmm2
subsd xmm4, xmm1
subsd xmm5, xmm3
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x80]
subsd xmm4, qword [edx + eax + 0x78]
mov ecx, dword [esp + 0x61c]
movsd qword [ecx + esi*8 - 8], xmm4
subsd xmm5, qword [edx + eax + 0x80]
mov ecx, dword [esp + 0x618]
movsd qword [ecx + esi*8 - 8], xmm5
mov ecx, dword [esp + 0x5a4]
movsd xmm1, qword [ecx]
addsd xmm1, qword [edx + eax + 0x50]
movsd qword [ecx], xmm1
jmp 0x1015c6b6
mov eax, dword [ebx + 0x50]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x608]
mov dword [esp + 0x70], ecx
mov dword [eax + esi*4 - 4], ecx
mov eax, dword [0x10219190]
mov ecx, dword [esp + 0x80]
mov ecx, dword [ecx + eax + 0x9fc]
test ecx, ecx
je 0x1015c537
mov eax, ecx
mov ecx, dword [eax + 0x10]
shl ecx, 4
push ecx
mov dword [esp + 0x68], edx
call fcn.101bcde0
mov edx, dword [esp + 0x68]
mov dword [esp + 0x64], eax
pxor xmm0, xmm0
mov eax, dword [0x10219190]
mov ecx, dword [esp + 0x84]
mov ecx, dword [eax + ecx + 0x9fc]
mov eax, dword [ecx + 0x10]
shl eax, 4
push eax
push dword [ecx]
push dword [esp + 0x6c]
mov dword [esp + 0x74], edx
call fcn.101d7590
mov edx, dword [esp + 0x74]
add esp, 0x10
pxor xmm0, xmm0
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], esi
mov esi, dword [0x10219190]
shl edx, 4
xor eax, eax
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x6c], edx
mov dword [esp], edi
mov edi, dword [esi + ecx + 0x9fc]
mov edi, dword [edi + 0x10]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
movsd xmm1, qword [ecx + esi + 0x78]
lea edi, [esp + 0xc]
movsd qword [edi], xmm1
movsd xmm2, qword [ecx + esi + 0x80]
movsd qword [edi + 8], xmm2
movsd qword [esp + 0x20], xmm0
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x44]
movsd xmm3, qword [edx + eax]
movsd qword [ecx], xmm3
movsd xmm4, qword [edx + eax + 8]
movsd qword [ecx + 8], xmm4
mov eax, dword [esp + 0x64]
mov edx, dword [ebx + 0x4c]
mov esi, dword [edx + eax*4]
mov edi, dword [esp + 0x74]
mov edx, dword [ebx + 0x48]
movsd xmm5, qword [edx + eax*8]
movsd qword [esp + 0x3c], xmm5
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x68]
call fcn.100ae6e0
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x4e0]
push ecx
mov eax, dword [eax + edx + 0x9fc]
push dword [eax + 0x10]
push dword [esp + 0x68]
pxor xmm0, xmm0
call fcn.100ae040
mov edx, dword [0x10219190]
mov ecx, dword [esp + 0x8c]
mov eax, dword [edx + ecx + 0x9fc]
movsd xmm1, qword [eax + 0x18]
subsd xmm1, qword [edx + ecx + 0x48]
mov eax, dword [esp + 0x4f0]
addsd xmm1, qword [edx + ecx + 0x50]
mov edx, dword [esp + 0x6c]
shl eax, 4
movsd xmm2, qword [edx + eax]
push edx
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x68], xmm1
pxor xmm0, xmm0
call fcn.101bceaa
movsd xmm1, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x60]
add esp, 0x10
pxor xmm0, xmm0
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x608]
mov ecx, dword [edx + esi*4 - 4]
mov dword [esp + 0x70], ecx
jmp 0x1015c567
mov ecx, dword [esp + 0x80]
movsd xmm1, qword [ecx + eax + 0x50]
mov ecx, dword [ebx + 0x38]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax + edx*4]
shl eax, 4
movsd xmm2, qword [eax + ecx]
mov eax, dword [esp + 0x78]
shl edx, 4
mov dword [esp + 0x6c], edx
cmp dword [esp + 0x7c], 0
mov edx, dword [esp + 0x5a4]
mov ecx, dword [esp + 0x70]
addsd xmm1, qword [edx + ecx*8]
movsd qword [edx + ecx*8], xmm1
mov edx, dword [esp + 0x598]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x608]
mov ecx, dword [eax + esi*4 - 4]
movsd xmm1, qword [edx + ecx*8]
maxsd xmm1, xmm2
movsd qword [edx + ecx*8], xmm1
mov edx, dword [esp + 0x6c]
mov ecx, dword [ebx + 0x44]
movsd xmm5, qword [edx + ecx]
movsd xmm6, qword [edx + ecx + 8]
mov edx, dword [eax + esi*4 - 4]
mov eax, dword [esp + 0x78]
je 0x1015c601
movaps xmm2, xmm5
movaps xmm4, xmm6
mov ecx, dword [0x1021f6a0]
movsd xmm1, qword [ecx + edx*8]
mov ecx, dword [0x1021f69c]
addsd xmm1, qword [ecx + edx*8]
movaps xmm5, xmm1
mov ecx, dword [0x1021f698]
movsd xmm3, qword [ecx + edx*8]
subsd xmm5, xmm2
mov ecx, dword [0x1021f694]
addsd xmm3, qword [ecx + edx*8]
movaps xmm6, xmm3
subsd xmm6, xmm4
mov ecx, dword [ebx + 0xec]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x61c]
shl edx, 4
subsd xmm5, qword [edx + ecx]
mov edx, dword [esp + 0x80]
subsd xmm5, qword [eax + edx + 0x78]
mov ecx, dword [esp + 0x608]
movsd qword [edi + esi*8 - 8], xmm5
mov edi, dword [ecx + esi*4 - 4]
mov ecx, dword [ebx + 0xec]
shl edi, 4
subsd xmm6, qword [edi + ecx + 8]
subsd xmm6, qword [eax + edx + 0x80]
mov edx, dword [esp + 0x618]
mov edi, dword [esp + 0x74]
movsd qword [edx + esi*8 - 8], xmm6
jmp 0x1015c6b6
mov eax, dword [esp + 0x614]
mov edx, dword [esp + 0x618]
mov ecx, dword [esp + 0x61c]
movsd qword [eax + esi*8 - 8], xmm0
mov eax, dword [esp + 0x610]
movsd qword [edx + esi*8 - 8], xmm0
movsd qword [ecx + esi*8 - 8], xmm0
xor edx, edx
mov ecx, dword [esp + 0x60c]
mov dword [eax + esi*4 - 4], edx
mov eax, dword [esp + 0x608]
mov dword [ecx + esi*4 - 4], edx
mov dword [eax + esi*4 - 4], 0xffffffff
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x80]
inc edi
cmp edi, dword [eax + edx + 0x70]
jl 0x1015c243
lea esi, [esi]
mov edi, dword [0x10282f80]
xor ecx, ecx
inc esi
cmp esi, edi
jle 0x1015c21b
cmp edi, 3
je 0x1015f1d7
test edi, edi
jle 0x1015c711
mov eax, dword [0x10219190]
mov ecx, 1
mov edx, 0xa10
cmp dword [edx + eax + 0x9fc], 0
jne 0x1015f1cd
add edx, 0xa10
inc ecx
cmp ecx, edi
jle 0x1015c6f8
xor eax, eax
movsd xmm0, qword [0x10220278]
pxor xmm1, xmm1
comisd xmm0, xmm1
ja 0x1015c755
test eax, eax
jne 0x1015c755
movsd xmm2, qword [ebp + 0x1c]
movsd xmm1, qword [ebp + 0x14]
movsd xmm0, qword [ebp + 0xc]
movsd qword [esp + 0x4c8], xmm0
movsd qword [esp + 0x4d0], xmm1
movsd qword [esp + 0x4d8], xmm2
jmp 0x1015c798
lea ecx, [esp + 0x4c8]
lea edx, [esp + 0x4d0]
lea eax, [esp + 0x4d8]
push eax
push edx
push ecx
push dword [esp + 0x618]
push dword [esp + 0x620]
push dword [esp + 0x628]
push dword [esp + 0x630]
push dword [esp + 0x638]
call fcn.10110f20
add esp, 0x20
cmp dword [0x1021f60c], 0
je 0x1015ca27
mov eax, dword [ebx + 0xf8]
shl eax, 3
push eax
call fcn.101bcde0
mov dword [esp + 0x5ac], eax
push 8
push dword [ebx + 0xf8]
call fcn.101beb7a
add esp, 0xc
mov edi, eax
movsd xmm0, qword [0x101f37f0]
pxor xmm2, xmm2
movsd qword [esp + 0x4d8], xmm2
movaps xmm1, xmm2
cmp dword [ebx + 0xf8], 0
jle 0x1015ca0d
movsd xmm5, qword [0x101f37f8]
xor esi, esi
mov eax, dword [0x1021f6cc]
test eax, eax
jne 0x1015c9b9
movsd xmm6, qword [0x101f3800]
mov edx, dword [ebx + 0xe8]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x598]
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x58], xmm2
mov dword [esp + 0xc], 4
mov dword [esp + 0x28], 1
shl ecx, 4
movsd xmm4, qword [edx + ecx]
addsd xmm4, xmm6
movsd qword [esp + 0x450], xmm4
movsd qword [esp + 0x480], xmm4
movsd xmm7, qword [eax + esi*8]
movsd qword [esp + 0x460], xmm7
movsd qword [esp + 0x470], xmm7
mov edx, dword [ebx + 0xe8]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x30], 0
shl edx, 4
movsd xmm5, qword [edx + ecx + 8]
subsd xmm5, xmm6
movsd qword [esp + 0x458], xmm5
movsd qword [esp + 0x468], xmm5
mov eax, dword [ebx + 0xe8]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 8]
mov edx, dword [ecx]
shl eax, 4
movsd xmm3, qword [eax + edx + 8]
addsd xmm3, xmm6
movsd xmm6, qword [0x101f37f8]
movsd qword [esp + 0x478], xmm3
movsd qword [esp + 0x488], xmm3
lea edx, [esp + 0x450]
addsd xmm4, xmm7
mulsd xmm4, xmm6
movsd qword [esp + 0x4a8], xmm4
mov dword [esp], edx
addsd xmm5, xmm3
mulsd xmm5, xmm6
movsd xmm3, qword [0x101f37d0]
movsd qword [esp + 0x4b0], xmm5
mov ecx, dword [ebx + 0xe8]
mov eax, dword [ecx + esi*4]
mov edx, dword [eax]
movsd xmm4, qword [eax + 0x18]
movsd qword [esp + 4], xmm3
movsd qword [esp + 0x18], xmm4
lea ecx, [esp + 0x4a8]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x10]
add eax, 0x48
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x500]
mov dword [esp + 0x2c], eax
call fcn.100d28c0
movsd xmm2, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x50]
movsd xmm0, qword [0x101f37f0]
test eax, eax
je 0x1015c992
pxor xmm3, xmm3
movsd qword [esp + 0x500], xmm3
pxor xmm3, xmm3
jmp 0x1015c99b
movsd xmm3, qword [esp + 0x500]
mov eax, dword [ebx + 0xe8]
mov edx, dword [eax + esi*4]
movsd xmm4, qword [edi + esi*8]
addsd xmm4, qword [edx + 0x18]
subsd xmm4, xmm3
movsd qword [edi + esi*8], xmm4
jmp 0x1015c9d8
cmp eax, 1
jne 0x1015c9d3
mov eax, dword [ebx + 0xe8]
mov edx, dword [eax + esi*4]
movsd xmm4, qword [edx + 0x18]
movsd qword [edi + esi*8], xmm4
jmp 0x1015c9d8
movsd xmm4, qword [edi + esi*8]
mov eax, dword [esp + 0x5a4]
mov edx, dword [esp + 0x5a8]
movsd xmm3, qword [eax + esi*8]
addsd xmm2, xmm3
divsd xmm3, xmm4
mulsd xmm3, xmm0
movsd qword [edx + esi*8], xmm3
addsd xmm1, xmm4
inc esi
cmp esi, dword [ebx + 0xf8]
jl 0x1015c7fc
divsd xmm2, xmm1
mulsd xmm2, xmm0
movsd qword [esp + 0x4d8], xmm2
push edi
call fcn.101bceaa
pop ecx
jmp 0x1015ca30
xor eax, eax
mov dword [esp + 0x5a8], eax
cmp dword [0x10219d50], 0
je 0x1015efc7
mov edx, dword [ebx + 0x68]
xor esi, esi
test edx, edx
jle 0x1015ca65
mov eax, dword [ebx + 0x10]
mov ecx, 1
cmp dword [eax + ecx*4], 0
je 0x1015ca60
mov edi, dword [ebx + 0x50]
mov edi, dword [edi + ecx*4]
inc edi
cmp edi, esi
cmovge esi, edi
inc ecx
cmp ecx, edx
jle 0x1015ca4e
push 4
push esi
call fcn.101beb7a
mov dword [esp + 0x520], eax
push 4
push esi
call fcn.101beb7a
mov dword [esp + 0x5ec], eax
push 4
push esi
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x514], eax
mov edx, dword [ebx + 0x68]
test edx, edx
jle 0x1015cacb
mov ecx, dword [esp + 0x518]
mov eax, 1
mov edi, dword [ebx + 0x10]
cmp dword [edi + eax*4], 0
je 0x1015cac6
mov edi, dword [ebx + 0x50]
mov edi, dword [edi + eax*4]
cmp edi, 0xffffffff
je 0x1015cac6
mov dword [ecx + edi*4], 1
mov edx, dword [ebx + 0x68]
inc eax
cmp eax, edx
jle 0x1015caa8
xor edi, edi
test esi, esi
jle 0x1015cb08
mov edx, dword [esp + 0x514]
mov ecx, dword [esp + 0x5dc]
mov dword [esp + 0x524], ebx
mov ebx, dword [esp + 0x518]
xor eax, eax
cmp dword [ebx + eax*4], 0
je 0x1015cafc
mov dword [ecx + edi*4], eax
mov dword [edx + eax*4], edi
inc edi
inc eax
cmp eax, esi
jl 0x1015caef
mov ebx, dword [esp + 0x524]
push 4
push edi
call fcn.101beb7a
mov dword [esp + 0x5f4], eax
push 4
push edi
call fcn.101beb7a
mov dword [esp + 0x64c], eax
push 4
push edi
call fcn.101beb7a
mov dword [esp + 0x650], eax
push 4
push edi
call fcn.101beb7a
mov dword [esp + 0x654], eax
push 4
push edi
call fcn.101beb7a
mov dword [esp + 0x658], eax
push 4
push edi
call fcn.101beb7a
mov dword [esp + 0x618], eax
push 4
push edi
call fcn.101beb7a
mov dword [esp + 0x608], eax
push 8
push edi
call fcn.101beb7a
mov esi, eax
push 8
push edi
call fcn.101beb7a
mov dword [esp + 0x614], eax
push 8
push edi
call fcn.101beb7a
mov dword [esp + 0x618], eax
push 8
push edi
call fcn.101beb7a
mov dword [esp + 0x61c], eax
push 8
push edi
call fcn.101beb7a
mov dword [esp + 0x620], eax
push 8
push edi
call fcn.101beb7a
mov dword [esp + 0x624], eax
push 8
push edi
call fcn.101beb7a
mov dword [esp + 0x628], eax
push 8
push edi
call fcn.101beb7a
add esp, 0x78
mov dword [esp + 0x5b4], eax
push 8
push edi
call fcn.101beb7a
mov dword [esp + 0x5b8], eax
push 4
push edi
call fcn.101beb7a
add esp, 0x10
mov dword [esp + 0x5ac], eax
test edi, edi
jle 0x1015ccc8
movsd xmm1, qword [0x101f3828]
movsd xmm0, qword [0x101f3830]
xor eax, eax
pxor xmm2, xmm2
mov edx, dword [esp + 0x5ac]
mov ecx, dword [esp + 0x5dc]
mov dword [edx + eax*4], 1
mov ecx, dword [ecx + eax*4]
mov edx, dword [ebx + 0xe4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [0x1021f530]
mov edx, dword [edx + ecx*4]
mov ecx, dword [esp + 0x5d0]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x5b4]
mov ecx, dword [esp + 0x5bc]
movsd qword [edx + eax*8], xmm1
mov edx, dword [esp + 0x5c4]
movsd qword [ecx + eax*8], xmm1
mov ecx, dword [esp + 0x5cc]
movsd qword [edx + eax*8], xmm1
mov edx, dword [esp + 0x5b0]
movsd qword [ecx + eax*8], xmm1
mov ecx, dword [esp + 0x5b8]
movsd qword [edx + eax*8], xmm0
mov edx, dword [esp + 0x5c0]
movsd qword [ecx + eax*8], xmm0
mov ecx, dword [esp + 0x5c8]
movsd qword [edx + eax*8], xmm0
movsd qword [ecx + eax*8], xmm0
movsd qword [esi + eax*8], xmm2
inc eax
cmp eax, edi
jl 0x1015cc26
mov edx, dword [ebx + 0x68]
test edx, edx
jle 0x1015d2a5
movsd xmm0, qword [0x101f37e0]
mov dword [esp + 0x4c4], esi
mov dword [esp + 0x5d8], edi
mov eax, 1
mov edi, eax
mov ecx, dword [ebx + 0x10]
cmp dword [ecx + edi*4], 0
je 0x1015d28e
mov ecx, dword [ebx + 0x50]
mov eax, dword [ecx + edi*4]
cmp eax, dword [ebx + 0xf8]
jge 0x1015d28e
test eax, eax
jl 0x1015d28e
mov ecx, dword [esp + 0x514]
mov esi, dword [ebx]
mov edx, dword [esi + edi*4]
mov esi, dword [ecx + eax*4]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x5e8]
mov edx, dword [edx + esi*4]
lea edx, [edx*4 + 4]
push edx
mov edx, dword [esp + 0x5f0]
push dword [edx + esi*4]
call fcn.101bcb76
mov edx, dword [esp + 0x5f4]
mov ecx, dword [esp + 0x5f0]
mov dword [edx + esi*4], eax
mov edx, dword [ecx + esi*4]
lea edx, [edx*8 + 8]
push edx
mov edx, dword [esp + 0x648]
push dword [edx + esi*4]
call fcn.101bcb76
mov edx, dword [esp + 0x64c]
mov ecx, dword [esp + 0x5f8]
mov dword [edx + esi*4], eax
mov edx, dword [ecx + esi*4]
lea edx, [edx*8 + 8]
push edx
mov edx, dword [esp + 0x64c]
push dword [edx + esi*4]
call fcn.101bcb76
mov edx, dword [esp + 0x650]
mov ecx, dword [esp + 0x600]
mov dword [edx + esi*4], eax
mov edx, dword [ecx + esi*4]
lea edx, [edx*8 + 8]
push edx
mov edx, dword [esp + 0x650]
push dword [edx + esi*4]
call fcn.101bcb76
mov edx, dword [esp + 0x654]
mov ecx, dword [esp + 0x608]
mov dword [edx + esi*4], eax
mov edx, dword [ecx + esi*4]
lea edx, [edx*4 + 4]
push edx
mov edx, dword [esp + 0x654]
push dword [edx + esi*4]
call fcn.101bcb76
add esp, 0x28
mov edx, dword [esp + 0x630]
mov ecx, dword [esp + 0x5e8]
mov dword [esp + 0x54], esi
mov dword [edx + esi*4], eax
mov eax, dword [ecx + esi*4]
mov edx, dword [esp + 0x5ec]
mov ecx, dword [0x1021f534]
mov esi, dword [edx + esi*4]
mov edx, dword [esp + 0x50]
mov ecx, dword [ecx + edx*4]
mov edx, edi
mov dword [esi + eax*4], ecx
mov esi, dword [ebx + 0x44]
shl edx, 4
movsd xmm2, qword [esi + edx]
movsd xmm3, qword [esi + edx + 8]
cmp dword [esp + 0x7c], 0
mov esi, dword [esp + 0x54]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + edi*4]
je 0x1015ce8a
mov ecx, dword [0x1021f6a0]
movsd xmm0, qword [ecx + edx*8]
mov ecx, dword [0x1021f69c]
subsd xmm0, xmm2
movaps xmm2, xmm0
addsd xmm2, qword [ecx + edx*8]
mov ecx, dword [0x1021f698]
movsd xmm1, qword [ecx + edx*8]
subsd xmm1, xmm3
movaps xmm3, xmm1
mov ecx, dword [0x1021f694]
addsd xmm3, qword [ecx + edx*8]
imul eax, dword [esp + 0x50], 0xa10
mov ecx, dword [ebx + 0xec]
shl edx, 4
subsd xmm2, qword [ecx + edx]
mov edx, dword [0x10219190]
subsd xmm2, qword [eax + edx + 0x78]
mov edx, dword [esp + 0x5e8]
mov ecx, dword [edx + esi*4]
mov edx, dword [esp + 0x63c]
mov edx, dword [edx + esi*4]
movsd qword [edx + ecx*8], xmm2
mov ecx, dword [ebx + 0x50]
mov edx, dword [ecx + edi*4]
mov ecx, dword [ebx + 0xec]
mov dword [esp + 0x58], eax
shl edx, 4
subsd xmm3, qword [edx + ecx + 8]
mov edx, dword [0x10219190]
subsd xmm3, qword [eax + edx + 0x80]
mov eax, dword [esp + 0x5e8]
cmp dword [esp + 0x7c], 0
mov edx, dword [eax + esi*4]
mov ecx, dword [esp + 0x638]
mov ecx, dword [ecx + esi*4]
movsd qword [ecx + edx*8], xmm3
mov edx, dword [ebx + 0x48]
movsd xmm0, qword [edx + edi*8]
divsd xmm0, qword [0x101f37d8]
mov edx, dword [esp + 0x634]
mulsd xmm0, qword [0x101f37e0]
mov ecx, dword [eax + esi*4]
mov edx, dword [edx + esi*4]
movsd qword [edx + ecx*8], xmm0
mov ecx, dword [esp + 0x58]
je 0x1015cf9a
mov edx, eax
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x634]
mov eax, dword [edi + esi*4]
mov dword [esp + 0x58], ecx
mov ecx, dword [edx + esi*4]
movsd xmm0, qword [eax + ecx*8]
addsd xmm0, qword [0x101f37e0]
movsd qword [eax + ecx*8], xmm0
mov ecx, dword [esp + 0x58]
mov eax, dword [edi + esi*4]
mov edi, dword [esp + 0x5c]
mov edx, dword [edx + esi*4]
movsd xmm0, qword [eax + edx*8]
comisd xmm0, xmmword [0x101f37e8]
jb 0x1015cf9f
subsd xmm0, qword [0x101f37e8]
movsd qword [eax + edx*8], xmm0
mov edx, dword [esp + 0x5e8]
mov edx, dword [edx + esi*4]
jmp 0x1015cf9f
mov edx, eax
mov edx, dword [edx + esi*4]
mov eax, dword [esp + 0x630]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x524], ebx
mov ebx, dword [ebx + 0x4c]
mov ebx, dword [ebx + edi*4]
mov dword [eax + edx*4], ebx
mov edx, dword [0x10219190]
mov ebx, dword [esp + 0x524]
mov eax, dword [ecx + edx + 0x9fc]
test eax, eax
je 0x1015efab
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x4c4]
movsd xmm0, qword [edi + esi*8]
addsd xmm0, qword [eax + 0x18]
subsd xmm0, qword [ecx + edx + 0x48]
addsd xmm0, qword [ecx + edx + 0x50]
movsd qword [edi + esi*8], xmm0
mov edi, dword [esp + 0x5c]
cmp dword [ecx + edx + 0x9fc], 0
je 0x1015ef34
pxor xmm0, xmm0
pxor xmm1, xmm1
mov ecx, dword [esp + 0x5cc]
movsd xmm3, qword [ecx + esi*8]
mov edx, dword [ebx + 0x28]
mov edx, dword [edx + edi*4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + edi*4]
mov ecx, dword [ebx + 0x50]
mov ecx, dword [ecx + edi*4]
mov dword [esp + 0x5c], edi
mov edi, dword [ebx + 0xec]
shl edx, 4
movsd xmm2, qword [eax + edx]
mov eax, dword [esp + 0x5cc]
shl ecx, 4
subsd xmm2, qword [edi + ecx]
subsd xmm2, xmm1
mov edi, dword [esp + 0x5c8]
mov ecx, dword [esp + 0x5c]
minsd xmm3, xmm2
movsd qword [eax + esi*8], xmm3
movsd xmm5, qword [edi + esi*8]
mov edx, dword [ebx + 0x2c]
mov edx, dword [edx + ecx*4]
mov eax, dword [ebx + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebx + 0xec]
shl edx, 4
movsd xmm4, qword [edi + edx]
mov edi, dword [esp + 0x5c8]
shl eax, 4
subsd xmm4, qword [ecx + eax]
mov edx, dword [esp + 0x5c4]
mov eax, dword [esp + 0x5c]
addsd xmm4, xmm1
maxsd xmm5, xmm4
movsd qword [edi + esi*8], xmm5
movsd xmm7, qword [edx + esi*8]
mov edx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x30]
mov ecx, dword [edi + eax*4]
mov edx, dword [edx + eax*4]
mov edi, dword [ebx + 0x50]
mov eax, dword [edi + eax*4]
mov edi, dword [ebx + 0xec]
shl ecx, 4
movsd xmm6, qword [ecx + edx + 8]
mov ecx, dword [esp + 0x5c4]
shl eax, 4
subsd xmm6, qword [eax + edi + 8]
subsd xmm6, xmm0
minsd xmm7, xmm6
mov eax, dword [esp + 0x5c0]
mov edi, dword [esp + 0x5c]
movsd qword [ecx + esi*8], xmm7
movsd xmm3, qword [eax + esi*8]
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + edi*4]
mov ecx, dword [ecx + edi*4]
mov edx, dword [ebx + 0x50]
mov edi, dword [edx + edi*4]
mov edx, dword [ebx + 0xec]
shl eax, 4
movsd xmm2, qword [eax + ecx + 8]
mov eax, dword [esp + 0x5c0]
shl edi, 4
subsd xmm2, qword [edi + edx + 8]
mov edi, dword [esp + 0x5bc]
mov edx, dword [esp + 0x5c]
addsd xmm2, xmm0
maxsd xmm3, xmm2
movsd qword [eax + esi*8], xmm3
movsd xmm5, qword [edi + esi*8]
mov ecx, dword [ebx + 0x28]
mov edi, dword [ecx + edx*4]
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + edx*4]
mov ecx, dword [ebx + 0x50]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx + 0xec]
shl edi, 4
movsd xmm4, qword [eax + edi]
shl ecx, 4
subsd xmm4, qword [edx + ecx]
mov edi, dword [esp + 0x5bc]
mov eax, dword [esp + 0x5b8]
subsd xmm4, xmm1
minsd xmm5, xmm4
mov ecx, dword [esp + 0x5c]
movsd qword [edi + esi*8], xmm5
movsd xmm2, qword [eax + esi*8]
mov edx, dword [ebx + 0x2c]
mov eax, dword [edx + ecx*4]
mov edi, dword [ebx + 0x38]
mov edx, dword [edi + ecx*4]
mov edi, dword [ebx + 0x50]
mov edi, dword [edi + ecx*4]
mov ecx, dword [ebx + 0xec]
shl eax, 4
movsd xmm6, qword [edx + eax]
mov eax, dword [esp + 0x5b8]
mov edx, dword [esp + 0x5b4]
shl edi, 4
subsd xmm6, qword [ecx + edi]
mov edi, dword [esp + 0x5c]
addsd xmm6, xmm1
maxsd xmm2, xmm6
movsd qword [eax + esi*8], xmm2
movsd xmm2, qword [edx + esi*8]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + edi*4]
mov ecx, dword [edx + edi*4]
mov edx, dword [ebx + 0x50]
mov edi, dword [edx + edi*4]
mov edx, dword [ebx + 0xec]
shl eax, 4
movsd xmm1, qword [eax + ecx + 8]
mov ecx, dword [esp + 0x5b4]
shl edi, 4
subsd xmm1, qword [edi + edx + 8]
mov eax, dword [esp + 0x5b0]
mov edx, dword [esp + 0x5c]
subsd xmm1, xmm0
minsd xmm2, xmm1
movsd qword [ecx + esi*8], xmm2
movsd xmm4, qword [eax + esi*8]
mov ecx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x34]
mov eax, dword [edi + edx*4]
mov edi, dword [ecx + edx*4]
mov ecx, dword [ebx + 0x50]
mov edx, dword [ecx + edx*4]
mov ecx, dword [ebx + 0xec]
shl eax, 4
movsd xmm3, qword [eax + edi + 8]
mov eax, dword [esp + 0x5b0]
mov edi, dword [esp + 0x5c]
shl edx, 4
subsd xmm3, qword [edx + ecx + 8]
addsd xmm3, xmm0
mov edx, dword [esp + 0x5e8]
maxsd xmm4, xmm3
movsd qword [eax + esi*8], xmm4
inc dword [edx + esi*4]
mov edx, dword [ebx + 0x68]
inc edi
cmp edi, edx
jle 0x1015ccf0
mov esi, dword [esp + 0x4c4]
mov edi, dword [esp + 0x5d8]
test edi, edi
jle 0x1015ef1f
mov eax, dword [0x1021f6cc]
test eax, eax
jne 0x1015d386
movsd xmm0, qword [0x101f37f0]
test edi, edi
pxor xmm1, xmm1
pxor xmm2, xmm2
jbe 0x1015d4a5
movsd xmm3, qword [0x101f3840]
mov eax, dword [esp + 0x5c8]
mov edx, dword [esp + 0x5cc]
mov dword [esp + 0x524], ebx
xor ecx, ecx
pxor xmm6, xmm6
movsd xmm5, qword [eax + ecx*8]
comisd xmm3, xmm5
jbe 0x1015d328
mov ebx, dword [esp + 0x5c0]
movsd qword [ebx + ecx*8], xmm6
mov ebx, dword [esp + 0x5c4]
movsd qword [ebx + ecx*8], xmm6
movsd qword [eax + ecx*8], xmm6
movsd qword [edx + ecx*8], xmm6
pxor xmm5, xmm5
jmp 0x1015d349
subsd xmm5, qword [edx + ecx*8]
mov ebx, dword [esp + 0x5c0]
movsd xmm4, qword [ebx + ecx*8]
mov ebx, dword [esp + 0x5c4]
subsd xmm4, qword [ebx + ecx*8]
mulsd xmm5, xmm4
movsd xmm4, qword [esi + ecx*8]
addsd xmm1, xmm5
addsd xmm2, xmm4
ucomisd xmm5, xmm6
jp 0x1015d35e
je 0x1015d368
mulsd xmm4, xmm0
divsd xmm4, xmm5
jmp 0x1015d36c
pxor xmm4, xmm4
movsd qword [esi + ecx*8], xmm4
inc ecx
cmp ecx, edi
jb 0x1015d2f5
mov ebx, dword [esp + 0x524]
jmp 0x1015d4a5
cmp eax, 1
jne 0x1015d3fa
movsd xmm0, qword [0x101f37f0]
test edi, edi
pxor xmm1, xmm1
pxor xmm2, xmm2
jbe 0x1015d4a5
xor eax, eax
pxor xmm5, xmm5
mov edx, dword [esp + 0x5dc]
mov edx, dword [edx + eax*4]
mov ecx, dword [ebx + 0xe4]
imul ecx, dword [ecx + edx*4], 0x740
movsd xmm4, qword [esi + eax*8]
addsd xmm2, xmm4
movsd xmm3, qword [ecx + 0x10223b60]
addsd xmm1, xmm3
ucomisd xmm3, xmm5
jp 0x1015d3dd
je 0x1015d3e7
mulsd xmm4, xmm0
divsd xmm4, xmm3
jmp 0x1015d3eb
pxor xmm4, xmm4
movsd qword [esi + eax*8], xmm4
inc eax
cmp eax, edi
jb 0x1015d3a9
jmp 0x1015d4a5
mov edx, esi
and edx, 0xf
je 0x1015d40f
test dl, 7
jne 0x1015d8a4
mov edx, 1
lea eax, [edx + 8]
cmp edi, eax
jl 0x1015d8a4
mov eax, edi
sub eax, edx
and eax, 7
neg eax
add eax, edi
pxor xmm2, xmm2
test edx, edx
jbe 0x1015d442
xor ecx, ecx
pxor xmm0, xmm0
addsd xmm2, qword [esi + ecx*8]
movsd qword [esi + ecx*8], xmm0
inc ecx
cmp ecx, edx
jb 0x1015d433
pxor xmm1, xmm1
addpd xmm2, xmmword [esi + edx*8]
addpd xmm2, xmmword [esi + edx*8 + 0x10]
addpd xmm2, xmmword [esi + edx*8 + 0x20]
addpd xmm2, xmmword [esi + edx*8 + 0x30]
movaps xmmword [esi + edx*8], xmm1
movaps xmmword [esi + edx*8 + 0x10], xmm1
movaps xmmword [esi + edx*8 + 0x20], xmm1
movaps xmmword [esi + edx*8 + 0x30], xmm1
add edx, 8
cmp edx, eax
jb 0x1015d446
movaps xmm0, xmm2
addsd xmm1, xmm1
unpckhpd xmm0, xmm2
addsd xmm2, xmm0
cmp eax, edi
jae 0x1015d49d
pxor xmm0, xmm0
addsd xmm2, qword [esi + eax*8]
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, edi
jb 0x1015d48e
movsd xmm0, qword [0x101f37f0]
mov eax, dword [esp + 0x5ec]
mov edx, dword [esp + 0x63c]
mov ecx, dword [esp + 0x638]
mulsd xmm0, xmm2
divsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0x4f0], xmm0
mov dword [esp], eax
mov eax, dword [esp + 0x634]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x630]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5e8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5d0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x5cc]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x5c8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c4]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x5c0]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x5ac]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edi
call fcn.100ea090
push closesocket
push dword [0x10282f98]
call fcn.100e3720
movsd xmm0, qword [esp + 0x4f8]
add esp, 8
comisd xmm0, xmmword [0x102199f0]
jbe 0x1015d6a3
mov ecx, dword [0x1021f524]
movsd qword [0x102199f0], xmm0
inc dword [0x102199f8]
test ecx, ecx
jle 0x1015d5ae
mov edx, dword [0x1021f528]
mov dword [esp + 0x524], ebx
xor eax, eax
mov ebx, dword [edx + eax*4]
cmp dword [ebx], 1
je 0x1015d8b3
inc eax
cmp eax, ecx
jl 0x1015d59d
mov eax, dword [esp + 0x5ec]
mov edx, dword [esp + 0x63c]
mov ecx, dword [esp + 0x638]
mov ebx, dword [esp + 0x634]
movsd qword [esp + 0x38], xmm0
mov dword [esp], eax
mov eax, dword [esp + 0x630]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x5e8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5d0]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x5cc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x5c4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x5c0]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x5ac]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edi
call dword [0x10219d50]
mov eax, dword [0x10219b1c]
imul edx, eax, 0x168
add edx, 0x168
mov dword [esp + 0x49c], eax
push edx
push dword [0x10219b18]
call fcn.101bcb76
imul edx, dword [esp + 0x4a4], 0x168
imul ecx, dword [0x1022002c], 0x168
mov dword [0x10219b18], eax
push 1
add edx, eax
mov eax, dword [0x10220028]
lea ebx, [eax + ecx - 0x168]
push ebx
push edx
call fcn.10134490
add esp, 0x14
inc dword [0x10219b1c]
push dword [0x10282f98]
call fcn.100e3720
pop ecx
test edi, edi
jle 0x1015d722
mov dword [esp + 0x4c4], esi
mov esi, dword [esp + 0x630]
mov dword [esp + 0x5d8], edi
xor ebx, ebx
mov edi, dword [esp + 0x634]
mov eax, dword [esp + 0x5ec]
push dword [eax + ebx*4]
call fcn.101bceaa
mov eax, dword [esp + 0x640]
push dword [eax + ebx*4]
call fcn.101bceaa
mov eax, dword [esp + 0x640]
push dword [eax + ebx*4]
call fcn.101bceaa
push dword [edi + ebx*4]
call fcn.101bceaa
push dword [esi + ebx*4]
call fcn.101bceaa
add esp, 0x14
inc ebx
cmp ebx, dword [esp + 0x5d8]
jl 0x1015d6d1
mov esi, dword [esp + 0x4c4]
push dword [esp + 0x5ec]
call fcn.101bceaa
push dword [esp + 0x51c]
call fcn.101bceaa
push dword [esp + 0x5e4]
call fcn.101bceaa
push dword [esp + 0x520]
call fcn.101bceaa
push dword [esp + 0x64c]
call fcn.101bceaa
push dword [esp + 0x64c]
call fcn.101bceaa
push dword [esp + 0x64c]
call fcn.101bceaa
push dword [esp + 0x64c]
call fcn.101bceaa
push dword [esp + 0x608]
call fcn.101bceaa
push dword [esp + 0x5f4]
call fcn.101bceaa
push esi
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
push dword [esp + 0x5f8]
call fcn.101bceaa
add esp, 0x50
push dword [esp + 0x61c]
call fcn.101bceaa
push dword [esp + 0x61c]
call fcn.101bceaa
push dword [esp + 0x61c]
call fcn.101bceaa
push dword [esp + 0x61c]
call fcn.101bceaa
push dword [esp + 0x61c]
call fcn.101bceaa
push dword [esp + 0x61c]
call fcn.101bceaa
push dword [esp + 0x5b0]
call fcn.101bceaa
push dword [esp + 0x5c4]
call fcn.101bceaa
push dword [esp + 0x5c4]
call fcn.101bceaa
push dword [0x1021fb78]
call fcn.100ef180
add esp, 0x28
mov ecx, dword [esp + 0x660]
call fcn.101bc753
xor eax, eax
add esp, 0x674
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
pxor xmm1, xmm1
pxor xmm2, xmm2
jmp 0x1015d486
mov ebx, dword [esp + 0x524]
mov edx, dword [edx + eax*4]
test edx, edx
je 0x1015d5ae
mov ecx, dword [edx + 0xa8]
test ecx, ecx
jle 0x1015ee6b
mov eax, dword [edx + 0x94]
mov dword [esp + 0x50], eax
mov dword [esp + 0x524], ebx
xor eax, eax
mov ebx, dword [esp + 0x50]
cmp dword [ebx + eax*4], 3
je 0x1015ee05
inc eax
cmp eax, ecx
jl 0x1015d8ea
mov ebx, dword [esp + 0x524]
xor eax, eax
pxor xmm5, xmm5
test edi, edi
jle 0x1015d5ae
movsd qword [esp + 0x4f8], xmm5
movsd qword [esp + 0x4f0], xmm0
mov dword [esp + 0x5e4], eax
mov dword [esp + 0x4c4], esi
xor ecx, ecx
mov dword [esp + 0x5d8], edi
mov edi, edx
mov dword [esp + 0x524], ebx
mov esi, ecx
mov ebx, dword [esp + 0x5dc]
mov eax, dword [esp + 0x524]
push esi
mov ebx, dword [ebx + esi*4]
mov eax, dword [eax + 0xe4]
push dword [0x102199f8]
push dword [edi + 4]
mov ebx, dword [eax + ebx*4]
push str._s__03d__03d.emf
lea eax, [esp + 0x60]
push eax
call fcn.101bc928
add esp, 0x14
imul eax, ebx, 0x740
mov ebx, dword [esp + 0x5bc]
movsd xmm1, qword [ebx + esi*8]
minsd xmm1, qword [eax + 0x10223b38]
mov ebx, dword [esp + 0x5b8]
movsd xmm0, qword [ebx + esi*8]
maxsd xmm0, qword [eax + 0x10223b28]
mov ebx, dword [esp + 0x5b4]
movsd xmm3, qword [ebx + esi*8]
minsd xmm3, qword [eax + 0x10223b40]
mov ebx, dword [esp + 0x5b0]
movsd xmm2, qword [ebx + esi*8]
maxsd xmm2, qword [eax + 0x10223b30]
movsd qword [esp + 0x528], xmm1
movsd qword [esp + 0x538], xmm0
movsd qword [esp + 0x540], xmm3
movsd qword [esp + 0x530], xmm2
subsd xmm0, xmm1
mov dword [esp + 0x594], eax
mov eax, dword [edi + 0x10]
subsd xmm2, xmm3
maxsd xmm0, xmm2
mulsd xmm0, qword [0x101f3848]
cmp eax, 0xffffffff
je 0x1015edc9
mov dword [esp + 0x508], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x50c], eax
mov ebx, dword [edi + 0x18]
mov dword [esp + 0x510], ebx
movsd xmm1, qword [esp + 0x528]
movsd xmm2, qword [esp + 0x530]
movsd xmm4, qword [esp + 0x540]
movaps xmm3, xmm0
addsd xmm3, qword [esp + 0x538]
subsd xmm1, xmm0
mov dword [esp + 0x64c], esi
addsd xmm2, xmm0
cvttsd2si eax, xmm1
cvttsd2si ecx, xmm2
cvttsd2si ebx, xmm3
subsd xmm4, xmm0
lea edx, [esp + 0x5e0]
push edx
lea edx, [esp + 0x50c]
cvttsd2si esi, xmm4
push edx
push esi
push ebx
push ecx
push eax
push 1
lea eax, [esp + 0x6c]
push eax
mov esi, dword [esp + 0x66c]
call fcn.100ebab0
add esp, 0x20
test eax, eax
jne 0x1015e92e
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x508], eax
mov ebx, dword [edi + 0x20]
mov dword [esp + 0x50c], ebx
mov eax, dword [edi + 0x24]
mov dword [esp + 0x510], eax
mov eax, dword [edi + 0x30]
cmp eax, 0xffffffff
je 0x1015eda2
mov dword [esp + 0x51c], 0xffffffff
mov dword [esp + 0x588], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x58c], eax
mov ebx, dword [edi + 0x38]
mov dword [esp + 0x590], ebx
mov eax, dword [esp + 0x594]
mov ebx, dword [eax + 0x10223bd0]
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
shl eax, 4
push eax
call fcn.101bcde0
mov ebx, eax
mov eax, dword [esp + 0x598]
mov eax, dword [eax + 0x10223bd0]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
shl eax, 4
push eax
push dword [edx]
push ebx
call fcn.101d7590
add esp, 0x10
mov eax, dword [esp + 0x594]
mov eax, dword [eax + 0x10223bd0]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x520], eax
mov dword [esp], ebx
mov dword [esp + 4], eax
pxor xmm0, xmm0
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x10], xmm0
call fcn.100ae570
lea eax, [esp + 0x588]
xor edx, edx
push edx
push dword [esp + 0x520]
push eax
lea eax, [esp + 0x514]
push eax
push edx
push 1
push dword [esp + 0x538]
push ebx
push dword [esp + 0x600]
call fcn.100ec620
push ebx
call fcn.101bceaa
add esp, 0x28
mov eax, dword [esp + 0x5e8]
xor ebx, ebx
xor edx, edx
cmp dword [eax + esi*4], 0
jle 0x1015e5bb
mov eax, dword [0x10219190]
mov dword [esp + 0x648], ebx
mov dword [esp + 0x64c], esi
mov esi, edx
xor ecx, ecx
mov dword [esp + 0x650], edi
mov edi, ecx
mov ebx, dword [esp + 0x5ec]
mov edx, dword [esp + 0x64c]
mov ebx, dword [ebx + edx*4]
mov edx, dword [ebx + edi*4]
mov ebx, dword [0x1021f544]
mov ebx, dword [ebx + edx*4]
imul ebx, dword [ebx], 0xa10
cmp dword [eax + ebx + 0x9fc], 0
je 0x1015ea41
mov eax, dword [esp + 0x648]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0x30
push eax
push esi
call fcn.101bcb76
mov esi, eax
mov eax, dword [0x10219190]
mov eax, dword [ebx + eax + 0x88]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
shl eax, 4
inc dword [esp + 0x650]
push eax
call fcn.101bcde0
mov edx, dword [esp + 0x654]
lea edx, [edx + edx*2]
mov dword [esp + 0x5fc], edx
shl edx, 4
mov dword [esp + 0x600], edx
mov dword [esi + edx - 0x30], eax
mov edx, dword [0x10219190]
mov edx, dword [edx + ebx + 0x88]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x10]
shl edx, 4
push edx
push dword [ecx]
push eax
call fcn.101d7590
add esp, 0x18
mov edx, dword [0x10219190]
mov eax, dword [edx + ebx + 0x88]
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x5f4]
mov dword [esp + 0x640], edi
mov dword [esi + eax - 0x20], ecx
mov ecx, dword [edx + ebx + 0x88]
mov ecx, dword [ecx]
movsd xmm0, qword [ecx + 0x18]
mov ecx, dword [esp + 0x63c]
movsd qword [esi + eax - 0x28], xmm0
mov eax, dword [edx + ebx + 0xd0]
mov eax, dword [eax]
movsd xmm1, qword [eax + 0x48]
movsd qword [esp + 0x568], xmm1
pxor xmm7, xmm7
movsd xmm2, qword [eax + 0x50]
mov eax, dword [esp + 0x64c]
movsd qword [esp + 0x570], xmm2
mov ecx, dword [ecx + eax*4]
movsd xmm3, qword [ecx + edi*8]
addsd xmm3, qword [edx + ebx + 0x78]
mov ecx, dword [esp + 0x638]
mov ecx, dword [ecx + eax*4]
movsd xmm4, qword [ecx + edi*8]
addsd xmm4, qword [edx + ebx + 0x80]
mov edi, dword [esp + 0x5f4]
mov ecx, dword [esi + edi - 0x30]
mov edi, dword [esi + edi - 0x20]
movsd qword [esp + 0x5f8], xmm3
movsd qword [esp + 0x600], xmm4
mov dword [esp], ecx
mov dword [esp + 8], edi
xor ecx, ecx
lea edi, [esp + 0xc]
mov dword [esp + 4], ecx
movsd xmm5, qword [ebx + edx + 0x78]
movsd qword [edi], xmm5
movsd xmm6, qword [ebx + edx + 0x80]
movsd qword [edi + 8], xmm6
movsd qword [esp + 0x20], xmm7
mov dword [esp + 0x1c], ecx
movsd xmm0, qword [esp + 0x5f8]
lea ecx, [esp + 0x28]
movsd qword [ecx], xmm0
movsd xmm1, qword [esp + 0x600]
movsd qword [ecx + 8], xmm1
mov ecx, dword [esp + 0x630]
mov edi, dword [esp + 0x640]
mov edx, dword [ecx + eax*4]
mov edx, dword [edx + edi*4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x634]
mov eax, dword [edx + eax*4]
movsd xmm2, qword [eax + edi*8]
divsd xmm2, qword [0x101f37e0]
mulsd xmm2, qword [0x101f37d8]
movsd qword [esp + 0x3c], xmm2
call fcn.100ae6e0
mov dword [esp + 8], 1
lea eax, [esp + 0x568]
xor ecx, ecx
lea edx, [esp + 0xc]
mov dword [esp], eax
mov eax, dword [0x10219190]
mov dword [esp + 4], ecx
movsd xmm0, qword [eax + ebx + 0x78]
movsd qword [edx], xmm0
movsd xmm1, qword [eax + ebx + 0x80]
movsd qword [edx + 8], xmm1
pxor xmm2, xmm2
movsd qword [esp + 0x20], xmm2
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x28]
movsd xmm3, qword [esp + 0x5f8]
movsd qword [eax], xmm3
movsd xmm4, qword [esp + 0x600]
movsd qword [eax + 8], xmm4
mov edx, dword [esp + 0x630]
mov eax, dword [esp + 0x64c]
mov edx, dword [edx + eax*4]
mov edx, dword [edx + edi*4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x634]
mov eax, dword [edx + eax*4]
movsd xmm5, qword [eax + edi*8]
divsd xmm5, qword [0x101f37e0]
mulsd xmm5, qword [0x101f37d8]
movsd qword [esp + 0x3c], xmm5
call fcn.100ae6e0
mov eax, dword [0x10219190]
cmp dword [eax + ebx + 0x9fc], 0
je 0x1015e9b6
mov edx, dword [esp + 0x650]
mov ecx, dword [esp + 0x5f4]
mov dword [esp + 0x5d4], ebx
mov ebx, dword [edx + 0x3c]
mov dword [esi + ecx - 0x1c], ebx
mov ebx, dword [edx + 0x40]
mov dword [esi + ecx - 0x18], ebx
mov ebx, dword [edx + 0x44]
mov dword [esi + ecx - 0x14], ebx
mov ebx, dword [esp + 0x5d4]
mov ecx, dword [edx + 0x50]
cmp ecx, 0xffffffff
je 0x1015e994
mov edx, dword [esp + 0x5f4]
mov dword [esp + 0x5d4], ebx
mov dword [esi + edx - 0x10], ecx
mov ecx, dword [esp + 0x650]
mov ebx, dword [ecx + 0x54]
mov dword [esi + edx - 0xc], ebx
mov ebx, dword [ecx + 0x58]
mov dword [esi + edx - 8], ebx
mov ebx, dword [esp + 0x5d4]
mov dword [esi + edx - 4], 0xffffffff
cmp dword [eax + ebx + 0x9fc], 0
je 0x1015e10d
mov eax, dword [esp + 0x5f0]
shl eax, 4
add eax, 0x30
push eax
push esi
call fcn.101bcb76
mov esi, eax
mov eax, dword [0x10219190]
mov eax, dword [ebx + eax + 0x3a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
shl eax, 4
inc dword [esp + 0x650]
push eax
call fcn.101bcde0
mov edx, dword [esp + 0x654]
lea edx, [edx + edx*2]
shl edx, 4
mov dword [esp + 0x5a8], edx
mov dword [esi + edx - 0x30], eax
mov edx, dword [0x10219190]
mov edx, dword [edx + ebx + 0x3a0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x10]
shl edx, 4
push edx
push dword [ecx]
push eax
call fcn.101d7590
mov edx, dword [esp + 0x5b4]
add esp, 0x18
mov eax, dword [0x10219190]
mov ecx, dword [eax + ebx + 0x3a0]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x644], esi
mov dword [esp + 0x59c], edx
mov dword [esp + 0x5a0], ecx
mov dword [esi + edx - 0x20], ecx
mov ecx, dword [eax + ebx + 0x3a0]
mov ecx, dword [ecx]
movsd xmm0, qword [ecx + 0x18]
mov ecx, dword [esp + 0x63c]
movsd qword [esi + edx - 0x28], xmm0
pxor xmm5, xmm5
mov edx, dword [esp + 0x64c]
mov ecx, dword [ecx + edx*4]
movsd xmm1, qword [ecx + edi*8]
addsd xmm1, qword [eax + ebx + 0x78]
mov ecx, dword [esp + 0x638]
mov ecx, dword [ecx + edx*4]
movsd xmm2, qword [ecx + edi*8]
addsd xmm2, qword [eax + ebx + 0x80]
mov ecx, dword [esp + 0x59c]
mov esi, dword [esi + ecx - 0x30]
mov ecx, dword [esp + 0x5a0]
movsd qword [esp + 0x5f8], xmm1
movsd qword [esp + 0x600], xmm2
mov dword [esp], esi
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
movsd xmm3, qword [ebx + eax + 0x78]
lea ecx, [esp + 0xc]
movsd qword [ecx], xmm3
movsd xmm4, qword [ebx + eax + 0x80]
movsd qword [ecx + 8], xmm4
movsd qword [esp + 0x20], xmm5
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x28]
movsd xmm6, qword [esp + 0x5f8]
movsd qword [eax], xmm6
movsd xmm7, qword [esp + 0x600]
movsd qword [eax + 8], xmm7
mov eax, dword [esp + 0x630]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + edi*4]
mov esi, dword [esp + 0x644]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x634]
mov edx, dword [eax + edx*4]
movsd xmm0, qword [edx + edi*8]
divsd xmm0, qword [0x101f37e0]
mulsd xmm0, qword [0x101f37d8]
movsd qword [esp + 0x3c], xmm0
call fcn.100ae6e0
mov edx, dword [esp + 0x59c]
mov eax, dword [esp + 0x650]
mov ecx, dword [eax + 0x5c]
mov dword [esi + edx - 0x1c], ecx
mov ecx, dword [eax + 0x60]
mov dword [esi + edx - 0x18], ecx
mov ecx, dword [eax + 0x64]
mov dword [esi + edx - 0x14], ecx
mov eax, dword [eax + 0x70]
cmp eax, 0xffffffff
je 0x1015ede5
mov ecx, dword [esp + 0x650]
mov dword [esi + edx - 0x10], eax
mov eax, dword [ecx + 0x74]
mov dword [esi + edx - 0xc], eax
mov eax, dword [ecx + 0x78]
mov dword [esi + edx - 4], 0xffffffff
mov dword [esi + edx - 8], eax
mov eax, dword [0x10219190]
cmp dword [eax + ebx + 0x42c], 0
jle 0x1015e36c
mov dword [esp + 0x640], edi
xor eax, eax
mov edi, eax
mov ecx, dword [esp + 0x648]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, 0x30
push ecx
push esi
call fcn.101bcb76
mov esi, eax
mov ecx, dword [0x10219190]
mov ecx, dword [ebx + ecx + 0xcc]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx + 0x10]
shl ecx, 4
inc dword [esp + 0x650]
push ecx
call fcn.101bcde0
mov ecx, dword [esp + 0x654]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [esp + 0x630], ecx
mov dword [esi + ecx - 0x30], eax
mov ecx, dword [0x10219190]
mov ecx, dword [ecx + ebx + 0xcc]
mov edx, dword [ecx + edi*4]
mov ecx, dword [edx + 0x10]
shl ecx, 4
push ecx
push dword [edx]
push eax
call fcn.101d7590
mov edx, dword [esp + 0x63c]
add esp, 0x18
mov eax, dword [0x10219190]
mov ecx, dword [eax + ebx + 0xcc]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x644], esi
mov dword [esp + 0x624], edx
mov dword [esp + 0x628], edi
mov dword [esp + 0x62c], ecx
mov dword [esi + edx - 0x20], ecx
mov ecx, dword [eax + ebx + 0xcc]
mov ecx, dword [ecx + edi*4]
movsd xmm0, qword [ecx + 0x18]
mov ecx, dword [esp + 0x64c]
movsd qword [esi + edx - 0x28], xmm0
pxor xmm5, xmm5
mov edx, dword [esp + 0x63c]
mov edi, dword [edx + ecx*4]
mov edx, dword [esp + 0x640]
movsd xmm1, qword [edi + edx*8]
addsd xmm1, qword [eax + ebx + 0x78]
mov edi, dword [esp + 0x638]
mov edi, dword [edi + ecx*4]
movsd xmm2, qword [edi + edx*8]
addsd xmm2, qword [eax + ebx + 0x80]
mov edi, dword [esp + 0x624]
mov esi, dword [esi + edi - 0x30]
mov edi, dword [esp + 0x62c]
movsd qword [esp + 0x5f8], xmm1
movsd qword [esp + 0x600], xmm2
mov dword [esp], esi
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp + 8], edi
movsd xmm3, qword [ebx + eax + 0x78]
lea edi, [esp + 0xc]
movsd qword [edi], xmm3
movsd xmm4, qword [ebx + eax + 0x80]
movsd qword [edi + 8], xmm4
movsd qword [esp + 0x20], xmm5
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x28]
movsd xmm6, qword [esp + 0x5f8]
movsd qword [eax], xmm6
movsd xmm7, qword [esp + 0x600]
movsd qword [eax + 8], xmm7
mov eax, dword [esp + 0x630]
mov edi, dword [esp + 0x628]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + edx*4]
mov esi, dword [esp + 0x644]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x634]
mov ecx, dword [eax + ecx*4]
movsd xmm0, qword [ecx + edx*8]
divsd xmm0, qword [0x101f37e0]
mulsd xmm0, qword [0x101f37d8]
movsd qword [esp + 0x3c], xmm0
call fcn.100ae6e0
mov edx, dword [esp + 0x624]
mov ecx, dword [0x10219190]
cmp dword [ecx + ebx + 0x9fc], 0
mov dword [esp + 0x620], ecx
je 0x1015e973
mov eax, dword [esp + 0x650]
mov ecx, dword [eax + 0x5c]
mov dword [esi + edx - 0x1c], ecx
mov ecx, dword [eax + 0x60]
mov dword [esi + edx - 0x18], ecx
mov ecx, dword [eax + 0x64]
mov dword [esi + edx - 0x14], ecx
mov ecx, eax
mov ecx, dword [ecx + 0x30]
cmp ecx, 0xffffffff
je 0x1015e958
mov dword [esi + edx - 0x10], ecx
mov ecx, dword [eax + 0x34]
mov dword [esi + edx - 0xc], ecx
mov ecx, dword [eax + 0x38]
mov dword [esi + edx - 4], 0xffffffff
mov dword [esi + edx - 8], ecx
mov ecx, dword [esp + 0x620]
inc edi
cmp edi, dword [ecx + ebx + 0x42c]
jl 0x1015e126
mov edi, dword [esp + 0x640]
mov eax, ecx
cmp dword [eax + ebx + 0xa0c], 0
jle 0x1015e58c
mov dword [esp + 0x640], edi
xor eax, eax
mov edi, ebx
mov ebx, eax
mov ecx, dword [esp + 0x648]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, 0x30
push ecx
push esi
call fcn.101bcb76
mov esi, eax
mov ecx, dword [0x10219190]
mov ecx, dword [edi + ecx + 0xa04]
mov ecx, dword [ecx + ebx*4]
mov ecx, dword [ecx + 0x10]
shl ecx, 4
inc dword [esp + 0x650]
push ecx
call fcn.101bcde0
mov ecx, dword [esp + 0x654]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [esp + 0x660], ecx
mov dword [esi + ecx - 0x30], eax
mov ecx, dword [0x10219190]
mov ecx, dword [ecx + edi + 0xa04]
mov edx, dword [ecx + ebx*4]
mov ecx, dword [edx + 0x10]
shl ecx, 4
push ecx
push dword [edx]
push eax
call fcn.101d7590
add esp, 0x18
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x654]
mov ecx, dword [eax + edi + 0xa04]
mov ecx, dword [ecx + ebx*4]
mov ecx, dword [ecx + 0x10]
pxor xmm4, xmm4
movsd qword [esi + edx - 0x28], xmm4
mov dword [esp + 0x644], esi
mov dword [esp + 0x658], ebx
mov dword [esp + 0x65c], ecx
mov dword [esi + edx - 0x20], ecx
mov edx, dword [esp + 0x63c]
mov ecx, dword [esp + 0x64c]
mov ebx, dword [edx + ecx*4]
mov edx, dword [esp + 0x640]
movsd xmm0, qword [ebx + edx*8]
addsd xmm0, qword [eax + edi + 0x78]
mov ebx, dword [esp + 0x638]
mov ebx, dword [ebx + ecx*4]
movsd xmm1, qword [ebx + edx*8]
addsd xmm1, qword [eax + edi + 0x80]
mov ebx, dword [esp + 0x654]
mov esi, dword [esi + ebx - 0x30]
mov ebx, dword [esp + 0x65c]
movsd qword [esp + 0x5f8], xmm0
movsd qword [esp + 0x600], xmm1
mov dword [esp], esi
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
movsd xmm2, qword [edi + eax + 0x78]
lea ebx, [esp + 0xc]
movsd qword [ebx], xmm2
movsd xmm3, qword [edi + eax + 0x80]
movsd qword [ebx + 8], xmm3
movsd qword [esp + 0x20], xmm4
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x28]
movsd xmm5, qword [esp + 0x5f8]
movsd qword [eax], xmm5
movsd xmm6, qword [esp + 0x600]
movsd qword [eax + 8], xmm6
mov eax, dword [esp + 0x630]
mov ebx, dword [esp + 0x658]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + edx*4]
mov esi, dword [esp + 0x644]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x634]
mov ecx, dword [eax + ecx*4]
movsd xmm7, qword [ecx + edx*8]
divsd xmm7, qword [0x101f37e0]
mulsd xmm7, qword [0x101f37d8]
movsd qword [esp + 0x3c], xmm7
call fcn.100ae6e0
mov edx, dword [esp + 0x650]
mov eax, dword [esp + 0x654]
mov ecx, dword [edx + 0x7c]
mov dword [esi + eax - 0x1c], ecx
mov ecx, dword [edx + 0x80]
mov dword [esi + eax - 0x18], ecx
mov ecx, dword [edx + 0x84]
mov dword [esi + eax - 0x14], ecx
xor ecx, ecx
mov dword [esi + eax - 4], 0xfffffffe
mov dword [esi + eax - 8], ecx
inc ebx
mov dword [esi + eax - 0xc], ecx
mov dword [esi + eax - 0x10], ecx
mov eax, dword [0x10219190]
cmp ebx, dword [eax + edi + 0xa0c]
jl 0x1015e387
mov edi, dword [esp + 0x640]
mov ebx, dword [esp + 0x5e8]
mov edx, dword [esp + 0x64c]
inc edi
cmp edi, dword [ebx + edx*4]
jl 0x1015dbe2
mov ebx, dword [esp + 0x648]
mov edi, dword [esp + 0x650]
mov edx, esi
mov esi, dword [esp + 0x64c]
push 0x101520e0
push 0x30
push ebx
push edx
mov dword [esp + 0x654], edx
call fcn.101bec80
mov edx, dword [esp + 0x654]
add esp, 0x10
test ebx, ebx
jle 0x1015e66c
mov dword [esp + 0x648], ebx
mov dword [esp + 0x64c], esi
mov dword [esp + 0x650], edi
xor eax, eax
mov ebx, eax
mov edi, edx
mov esi, eax
push esi
lea edx, [ebx + ebx*2]
shl edx, 4
lea eax, [edi + edx + 0x14]
lea ecx, [edi + edx + 0x20]
push dword [edx + edi + 0x2c]
push ecx
push eax
push esi
push 1
push dword [edx + edi + 0x10]
push dword [edi + edx]
push dword [esp + 0x600]
call fcn.100ec620
add esp, 0x24
inc ebx
cmp ebx, dword [esp + 0x648]
jl 0x1015e5ff
mov ebx, dword [esp + 0x648]
mov edx, edi
xor eax, eax
mov esi, ebx
mov ebx, eax
mov edi, edx
lea ecx, [ebx + ebx*2]
shl ecx, 4
push dword [edi + ecx]
call fcn.101bceaa
pop ecx
inc ebx
cmp ebx, esi
jl 0x1015e648
mov esi, dword [esp + 0x64c]
mov edx, edi
mov edi, dword [esp + 0x650]
push edx
call fcn.101bceaa
pop ecx
mov eax, dword [esp + 0x5e8]
cmp dword [eax + esi*4], 0
jle 0x1015e838
mov dword [esp + 0x650], edi
xor ebx, ebx
xor edx, edx
mov edi, dword [esp + 0x5ec]
mov eax, dword [edi + esi*4]
mov edi, dword [eax + ebx*4]
mov eax, dword [0x1021f544]
mov edi, dword [eax + edi*4]
imul edi, dword [edi], 0xa10
mov eax, dword [0x10219190]
mov ecx, dword [eax + edi + 0xd0]
mov ecx, dword [ecx]
movsd xmm0, qword [ecx + 0x48]
movsd qword [esp + 0x548], xmm0
movsd xmm1, qword [ecx + 0x50]
mov ecx, dword [esp + 0x63c]
movsd qword [esp + 0x550], xmm1
mov ecx, dword [ecx + esi*4]
movsd xmm2, qword [eax + edi + 0x78]
addsd xmm2, qword [ecx + ebx*8]
movsd xmm3, qword [eax + edi + 0x80]
mov ecx, dword [esp + 0x638]
mov ecx, dword [ecx + esi*4]
addsd xmm3, qword [ecx + ebx*8]
movsd qword [esp + 0x558], xmm2
movsd qword [esp + 0x560], xmm3
mov dword [esp + 8], 1
lea ecx, [esp + 0x548]
mov dword [esp], ecx
mov dword [esp + 4], edx
movsd xmm4, qword [edi + eax + 0x78]
lea ecx, [esp + 0xc]
movsd qword [ecx], xmm4
movsd xmm5, qword [edi + eax + 0x80]
movsd qword [ecx + 8], xmm5
pxor xmm6, xmm6
movsd qword [esp + 0x20], xmm6
mov dword [esp + 0x1c], edx
lea eax, [esp + 0x28]
movsd xmm7, qword [esp + 0x558]
movsd qword [eax], xmm7
movsd xmm0, qword [esp + 0x560]
movsd qword [eax + 8], xmm0
mov eax, dword [esp + 0x630]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x634]
mov eax, dword [eax + esi*4]
movsd xmm1, qword [eax + ebx*8]
divsd xmm1, qword [0x101f37e0]
mulsd xmm1, qword [0x101f37d8]
movsd qword [esp + 0x3c], xmm1
call fcn.100ae6e0
xor edx, edx
cmp dword [esp + 0x5e4], 0
je 0x1015e820
mov eax, dword [esp + 0x5e0]
movsd xmm0, qword [esp + 0x4f8]
movsd qword [esp + 0x1c], xmm0
mov dword [esp], eax
mov eax, dword [0x10219190]
mov dword [esp + 8], str.Arial
add eax, edi
pxor xmm1, xmm1
movsd qword [esp + 0x2c], xmm1
mov dword [esp + 0x10], 0x190
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
lea edi, [esp + 0x4b8]
mov dword [esp + 0x24], edi
lea eax, [esp + 0x548]
mov dword [esp + 0x28], eax
call fcn.100ec3d0
xor edx, edx
mov eax, dword [esp + 0x5e8]
inc ebx
cmp ebx, dword [eax + esi*4]
jl 0x1015e68f
mov edi, dword [esp + 0x650]
cmp dword [edi + 0xa8], 0
jle 0x1015e90f
movsd xmm0, qword [esp + 0x538]
addsd xmm0, qword [esp + 0x528]
movsd xmm1, qword [0x101f37f8]
movsd xmm2, qword [esp + 0x540]
addsd xmm2, qword [esp + 0x530]
mulsd xmm0, xmm1
movsd qword [esp + 0x538], xmm0
mulsd xmm2, xmm1
movsd qword [esp + 0x540], xmm2
movsd xmm2, qword [esp + 0x538]
mov dword [esp + 0x64c], esi
xor ebx, ebx
xor esi, esi
lea ecx, [ebx*8]
lea eax, [ecx + ebx*4]
mov ecx, dword [edi + 0xa0]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x588], ecx
mov ecx, dword [edi + 0xa0]
mov ecx, dword [eax + ecx + 4]
mov dword [esp + 0x58c], ecx
mov ecx, dword [edi + 0xa0]
mov eax, dword [eax + ecx + 8]
movsd qword [esp + 0x578], xmm2
mov dword [esp + 0x590], eax
mov eax, dword [edi + 0x94]
mov eax, dword [eax + ebx*4]
cmp eax, 1
je 0x1015ef08
cmp eax, 2
je 0x1015ee76
inc ebx
cmp ebx, dword [edi + 0xa8]
jl 0x1015e89f
mov esi, dword [esp + 0x64c]
push dword [esp + 0x5e0]
call fcn.100eba70
push dword [edi + 0xc]
push dword [edi + 8]
lea eax, [esp + 0x5c]
push eax
call fcn.100eb800
add esp, 0x10
inc esi
cmp esi, dword [esp + 0x5d8]
jl 0x1015d942
movsd xmm0, qword [esp + 0x4f0]
mov esi, dword [esp + 0x4c4]
mov edi, dword [esp + 0x5d8]
jmp 0x1015d5ae
mov dword [esi + edx - 4], 0xfffffffe
xor ecx, ecx
mov dword [esi + edx - 8], ecx
mov dword [esi + edx - 0xc], ecx
mov dword [esi + edx - 0x10], ecx
jmp 0x1015e34e
mov eax, dword [esp + 0x650]
mov ecx, dword [eax + 0x3c]
mov dword [esi + edx - 0x1c], ecx
mov ecx, dword [eax + 0x40]
mov dword [esi + edx - 0x18], ecx
mov ecx, dword [eax + 0x44]
mov dword [esi + edx - 0x14], ecx
jmp 0x1015e326
mov ecx, dword [esp + 0x5f4]
mov dword [esi + ecx - 4], 0xfffffffe
xor edx, edx
mov dword [esi + ecx - 8], edx
mov dword [esi + ecx - 0xc], edx
mov dword [esi + ecx - 0x10], edx
jmp 0x1015df05
mov edx, dword [esp + 0x650]
mov ecx, dword [esp + 0x5f4]
mov dword [esp + 0x5d4], ebx
mov ebx, dword [edx + 0x5c]
mov dword [esi + ecx - 0x1c], ebx
mov ebx, dword [edx + 0x60]
mov dword [esi + ecx - 0x18], ebx
mov ebx, dword [edx + 0x64]
mov dword [esi + ecx - 0x14], ebx
mov ebx, dword [esp + 0x5d4]
cmp dword [edx + 0x50], 0xffffffff
je 0x1015ea26
mov ecx, edx
mov edx, dword [esp + 0x5f4]
mov dword [esp + 0x5d4], ebx
mov ebx, dword [ecx + 0x70]
mov dword [esi + edx - 0x10], ebx
mov ebx, dword [ecx + 0x74]
mov dword [esi + edx - 0xc], ebx
mov ebx, dword [ecx + 0x78]
mov dword [esi + edx - 4], 0xffffffff
mov dword [esi + edx - 8], ebx
mov ebx, dword [esp + 0x5d4]
jmp 0x1015df05
mov dword [esi + ecx - 4], 0xfffffffe
xor edx, edx
mov dword [esi + ecx - 8], edx
mov dword [esi + ecx - 0xc], edx
mov dword [esi + ecx - 0x10], edx
jmp 0x1015df05
xor eax, eax
mov dword [esp + 0x490], eax
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x648]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0x30
push eax
push esi
call fcn.101bcb76
mov esi, eax
mov eax, dword [0x10219190]
mov eax, dword [ebx + eax + 0x88]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
shl eax, 4
inc dword [esp + 0x650]
push eax
call fcn.101bcde0
mov edx, dword [esp + 0x654]
lea edx, [edx + edx*2]
shl edx, 4
mov dword [esp + 0x4a8], edx
mov dword [edx + esi - 0x30], eax
mov edx, dword [0x10219190]
mov edx, dword [edx + ebx + 0x88]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x10]
shl edx, 4
push edx
push dword [ecx]
push eax
call fcn.101d7590
add esp, 0x18
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x49c]
mov dword [esp + 0x644], esi
lea ecx, [esi + edx - 0x30]
mov edx, dword [eax + ebx + 0x88]
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x4a0], ecx
mov dword [esp + 0x4a4], edx
mov dword [ecx + 0x10], edx
pxor xmm4, xmm4
mov ecx, dword [esp + 0x63c]
mov edx, dword [esp + 0x64c]
mov ecx, dword [ecx + edx*4]
movsd xmm0, qword [ecx + edi*8]
addsd xmm0, qword [eax + ebx + 0x78]
mov ecx, dword [esp + 0x638]
mov ecx, dword [ecx + edx*4]
movsd xmm1, qword [ecx + edi*8]
addsd xmm1, qword [eax + ebx + 0x80]
mov ecx, dword [esp + 0x49c]
mov esi, dword [ecx + esi - 0x30]
mov ecx, dword [esp + 0x4a4]
movsd qword [esp + 0x5f8], xmm0
movsd qword [esp + 0x600], xmm1
mov dword [esp], esi
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
movsd xmm2, qword [ebx + eax + 0x78]
lea ecx, [esp + 0xc]
movsd qword [ecx], xmm2
movsd xmm3, qword [ebx + eax + 0x80]
movsd qword [ecx + 8], xmm3
movsd qword [esp + 0x20], xmm4
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x28]
movsd xmm5, qword [esp + 0x5f8]
movsd qword [eax], xmm5
movsd xmm6, qword [esp + 0x600]
movsd qword [eax + 8], xmm6
mov eax, dword [esp + 0x630]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + edi*4]
mov esi, dword [esp + 0x644]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x634]
mov edx, dword [eax + edx*4]
movsd xmm7, qword [edx + edi*8]
divsd xmm7, qword [0x101f37e0]
mulsd xmm7, qword [0x101f37d8]
movsd qword [esp + 0x3c], xmm7
call fcn.100ae6e0
mov edx, dword [esp + 0x49c]
movsd xmm0, qword [0x101f37d0]
mov eax, dword [edx + esi - 0x30]
mov edx, dword [edx + esi - 0x20]
movsd qword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], edx
xor eax, eax
lea edx, [esp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
movsd xmm1, qword [0x102202d0]
movsd qword [edx], xmm1
movsd xmm2, qword [0x102202d8]
movsd qword [edx + 8], xmm2
mov dword [esp + 0x2c], 1
lea edx, [esp + 0x494]
mov dword [esp + 0x30], edx
lea edx, [esp + 0x498]
mov dword [esp + 0x34], edx
lea edx, [esp + 0x490]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call fcn.100f2b90
test eax, eax
jne 0x1015ed28
mov eax, dword [esp + 0x49c]
push dword [eax + esi - 0x30]
call fcn.101bceaa
mov eax, dword [esp + 0x498]
mov ecx, dword [esp + 0x4a0]
mov edx, dword [eax]
mov dword [ecx + esi - 0x30], edx
mov eax, dword [esp + 0x494]
mov eax, dword [eax]
mov dword [ecx + esi - 0x20], eax
mov ecx, dword [esp + 0x4a4]
add ecx, 8
push ecx
push eax
push edx
call fcn.100b0a90
add esp, 0x10
mov edx, dword [esp + 0x498]
mov eax, dword [esp + 0x494]
cmp edx, 1
jle 0x1015ed13
mov dword [esp + 0x5d4], ebx
mov dword [esp + 0x640], edi
mov edi, edx
mov ecx, 1
mov ebx, ecx
mov dword [esp + 0x644], esi
mov esi, eax
push dword [esi + ebx*4]
call fcn.101bceaa
pop ecx
inc ebx
cmp ebx, edi
jl 0x1015ecee
mov ebx, dword [esp + 0x5d4]
mov edi, dword [esp + 0x640]
mov eax, esi
mov esi, dword [esp + 0x644]
push eax
call fcn.101bceaa
push dword [esp + 0x494]
call fcn.101bceaa
add esp, 8
mov eax, dword [esp + 0x650]
mov edx, dword [esp + 0x49c]
mov ecx, dword [eax + 0x3c]
mov dword [edx + esi - 0x1c], ecx
mov ecx, dword [eax + 0x40]
mov dword [edx + esi - 0x18], ecx
mov ecx, dword [eax + 0x44]
mov dword [edx + esi - 0x14], ecx
mov edx, dword [eax + 0x50]
cmp edx, 0xffffffff
je 0x1015ed80
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp + 0x650]
mov dword [eax + esi - 0x10], edx
mov edx, dword [ecx + 0x54]
mov dword [eax + esi - 0xc], edx
mov edx, dword [ecx + 0x58]
mov dword [eax + esi - 8], edx
mov dword [eax + esi - 4], 0xffffffff
jmp 0x1015dc13
mov edx, dword [esp + 0x49c]
mov dword [edx + esi - 4], 0xfffffffe
xor eax, eax
mov dword [edx + esi - 8], eax
mov dword [edx + esi - 0xc], eax
mov dword [edx + esi - 0x10], eax
jmp 0x1015dc13
mov dword [esp + 0x51c], 0xfffffffe
xor eax, eax
mov dword [esp + 0x590], eax
mov dword [esp + 0x58c], eax
mov dword [esp + 0x588], eax
jmp 0x1015db00
xor eax, eax
mov dword [esp + 0x510], eax
mov dword [esp + 0x50c], eax
mov dword [esp + 0x508], eax
jmp 0x1015da34
mov dword [esi + edx - 4], 0xfffffffe
xor eax, eax
mov dword [esi + edx - 8], eax
mov dword [esi + edx - 0xc], eax
mov dword [esi + edx - 0x10], eax
mov eax, dword [0x10219190]
jmp 0x1015e10d
mov ebx, dword [esp + 0x524]
mov dword [esp + 0x4c4], esi
lea esi, [eax*8]
lea ecx, [esi + eax*4]
mov esi, dword [edx + 0xa0]
mov esi, dword [ecx + esi]
mov dword [esp + 0x4b8], esi
mov esi, dword [edx + 0xa0]
mov esi, dword [ecx + esi + 4]
mov dword [esp + 0x4bc], esi
mov esi, dword [edx + 0xa0]
mov ecx, dword [ecx + esi + 8]
mov esi, dword [esp + 0x4c4]
mov dword [esp + 0x4c0], ecx
mov ecx, dword [edx + 0x9c]
movsd xmm5, qword [ecx + eax*8]
mov eax, 1
jmp 0x1015d906
xor eax, eax
pxor xmm5, xmm5
jmp 0x1015d906
movsd xmm0, qword [esp + 0x530]
movsd qword [esp + 0x580], xmm0
mov eax, dword [esp + 0x5e0]
mov ecx, dword [edi + 0x90]
movsd qword [esp + 0x538], xmm2
mov dword [esp], eax
mov eax, dword [ecx + ebx*4]
mov dword [esp + 8], str.Arial
mov dword [esp + 4], eax
mov eax, dword [edi + 0x9c]
movsd xmm0, qword [eax + ebx*8]
movsd qword [esp + 0x1c], xmm0
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0x190
mov dword [esp + 0x14], esi
pxor xmm1, xmm1
movsd qword [esp + 0x2c], xmm1
mov dword [esp + 0x18], esi
lea eax, [esp + 0x588]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x578]
mov dword [esp + 0x28], eax
call fcn.100ec3d0
movsd xmm2, qword [esp + 0x538]
jmp 0x1015e8ff
movsd xmm0, qword [esp + 0x540]
movsd qword [esp + 0x580], xmm0
jmp 0x1015ee88
movsd xmm0, qword [0x101f37f0]
pxor xmm1, xmm1
pxor xmm2, xmm2
jmp 0x1015d4a5
movsd xmm1, qword [0x102202d0]
pxor xmm0, xmm0
comisd xmm1, xmm0
jbe 0x1015d00d
movsd xmm0, qword [0x102202d8]
movsd xmm2, qword [0x101f3838]
comisd xmm0, xmm2
jb 0x1015ef68
movaps xmm0, xmm1
jmp 0x1015d015
pxor xmm2, xmm2
comisd xmm0, xmm2
jbe 0x1015d00d
movsd xmm2, qword [0x101f3838]
comisd xmm2, xmm1
jbe 0x1015d00d
movsd xmm2, qword [0x101f3838]
comisd xmm2, xmm0
pxor xmm3, xmm3
ja 0x1015ef9d
movaps xmm0, xmm3
ja 0x1015d015
movaps xmm1, xmm3
jmp 0x1015d015
mov eax, dword [esp + 0x4c4]
movsd xmm0, qword [eax + esi*8]
addsd xmm0, qword [ecx + edx + 0x50]
movsd qword [eax + esi*8], xmm0
jmp 0x1015cfff
movsd xmm2, qword [0x1020caf0]
movsd xmm1, qword [0x101f3850]
ucomisd xmm2, xmm1
jp 0x1015efe3
je 0x1015f1b0
mov edx, dword [0x10282f80]
test edx, edx
jle 0x1015f02e
mov ecx, dword [esp + 0x618]
mov ebx, dword [esp + 0x61c]
xor eax, eax
movsd xmm0, qword [ebx + eax*8]
divsd xmm0, qword [0x1020caf0]
movsd qword [ebx + eax*8], xmm0
movsd xmm1, qword [ecx + eax*8]
divsd xmm1, qword [0x1020caf8]
movsd qword [ecx + eax*8], xmm1
inc eax
cmp eax, edx
jl 0x1015effd
movsd xmm2, qword [0x1020caf0]
movsd xmm0, qword [esp + 0x4c8]
divsd xmm0, xmm2
movsd xmm1, qword [esp + 0x4d0]
divsd xmm1, xmm2
movsd qword [esp + 0x4c8], xmm0
movsd qword [esp + 0x4d0], xmm1
push closesocket
push dword [0x10282f98]
call fcn.100e3720
add esp, 8
movsd xmm2, qword [esp + 0x4d8]
comisd xmm2, xmmword [0x102199f0]
jbe 0x1015f13a
mov eax, dword [0x1021f60c]
movsd qword [0x102199f0], xmm2
inc dword [0x102199f8]
test eax, eax
je 0x1015f14b
mov edx, dword [esp + 0x608]
mov ecx, dword [esp + 0x61c]
mov ebx, dword [esp + 0x618]
mov esi, dword [esp + 0x614]
mov edi, dword [esp + 0x610]
movsd qword [esp + 0x18], xmm2
mov dword [esp], edx
mov edx, dword [esp + 0x5a8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
call eax
mov ebx, dword [0x10219b1c]
imul eax, ebx, 0x168
add eax, 0x168
push eax
push dword [0x10219b18]
call fcn.101bcb76
imul edx, dword [0x1022002c], 0x168
imul ebx, ebx, 0x168
mov dword [0x10219b18], eax
push 1
add ebx, eax
mov eax, dword [0x10220028]
lea ecx, [eax + edx - 0x168]
push ecx
push ebx
call fcn.10134490
add esp, 0x14
inc dword [0x10219b1c]
push dword [0x10282f98]
call fcn.100e3720
pop ecx
jmp 0x1015d80f
mov eax, dword [esp + 0x60c]
mov edx, dword [esp + 0x61c]
mov ecx, dword [esp + 0x618]
mov ebx, dword [esp + 0x614]
mov esi, dword [esp + 0x610]
movsd xmm0, qword [esp + 0x4c8]
movsd xmm1, qword [esp + 0x4d0]
movsd qword [esp + 0x14], xmm0
movsd qword [esp + 0x1c], xmm1
movsd qword [esp + 0x24], xmm2
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call dword [0x10219d48]
jmp 0x1015f0e8
movsd xmm0, qword [0x1020caf8]
ucomisd xmm0, xmm1
jne 0x1015efe3
jp 0x1015efe3
jmp 0x1015f05a
mov eax, 1
jmp 0x1015c713
mov edx, dword [eax + 0xa98]
mov edx, dword [edx]
mov ecx, dword [edx + 0x10]
cmp ecx, 0xc
jne 0x1015c6ee
mov esi, dword [eax + 0x14a8]
mov esi, dword [esi]
mov dword [esp + 0x58], esi
mov esi, dword [esi + 0x10]
cmp esi, 0xa
mov dword [esp + 0x5c], esi
jne 0x1015c6ee
mov esi, dword [eax + 0x1eb8]
mov esi, dword [esi]
mov dword [esp + 0x50], esi
mov esi, dword [esi + 0x10]
cmp esi, 0xe
mov dword [esp + 0x54], esi
jne 0x1015c6ee
shl ecx, 4
push ecx
push dword [edx]
push 0x1020c800
call fcn.101d75d0
add esp, 0xc
test eax, eax
jne 0x1015c6e9
mov eax, dword [esp + 0x5c]
shl eax, 4
push eax
mov edx, dword [esp + 0x5c]
push dword [edx]
push 0x1020c8c0
call fcn.101d75d0
add esp, 0xc
test eax, eax
jne 0x1015c6e9
mov eax, dword [esp + 0x54]
shl eax, 4
push eax
mov edx, dword [esp + 0x54]
push dword [edx]
push 0x1020c960
call fcn.101d75d0
add esp, 0xc
test eax, eax
jne 0x1015c6e9
movsd xmm0, qword [0x1021f8d8]
ucomisd xmm0, qword [0x101f3808]
jne 0x1015c6e9
jp 0x1015c6e9
movsd xmm0, qword [0x101f3800]
mov eax, dword [esp + 0x61c]
movsd xmm3, qword [0x101f3810]
mov edx, dword [esp + 0x618]
mov ecx, dword [esp + 0x614]
mov edi, dword [esp + 0x610]
movsd xmm1, qword [0x101f3818]
movsd xmm2, qword [0x101f3820]
movsd qword [eax], xmm0
movsd qword [edx], xmm3
xor esi, esi
pxor xmm4, xmm4
movsd qword [ecx], xmm4
mov dword [edi], esi
movsd qword [eax + 8], xmm1
movsd qword [edx + 8], xmm3
movsd qword [ecx + 8], xmm4
mov dword [edi + 4], esi
movsd qword [eax + 0x10], xmm2
movsd qword [edx + 0x10], xmm3
movsd qword [ecx + 0x10], xmm4
mov dword [edi + 8], esi
mov edi, dword [0x10282f80]
jmp 0x1015c6e5
cmp dword [0x1021f60c], 0
jne 0x1015c08b
cmp dword [0x10219d50], 0
jne 0x1015c08b
mov ecx, dword [esp + 0x660]
call fcn.101bc753
mov eax, 1
add esp, 0x674
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret