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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x2240
call fcn.14005c5f0
sub rsp, rax
mov rax, qword [0x14020e888]
xor rax, rsp
mov qword [rsp + 0x2230], rax
mov dword [rsp + 0x550], 3
jmp 0x140044ac1
mov eax, dword [rsp + 0x550]
inc eax
mov dword [rsp + 0x550], eax
cmp dword [rsp + 0x550], 0x2d20
jae 0x140044b65
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1808], rax
mov rax, qword [rsp + 0x1808]
mov qword [rsp + 0x17b8], rax
mov dword [rsp + 0x1d4], 0
jmp 0x140044b11
mov eax, dword [rsp + 0x1d4]
inc eax
mov dword [rsp + 0x1d4], eax
cmp dword [rsp + 0x1d4], 0x30f5
jae 0x140044b43
cmp dword [rsp + 0x1d4], 0x42
jne 0x140044b2a
jmp 0x140044b43
movsxd rax, dword [rsp + 0x1d4]
mov rcx, qword [rsp + 0x17b8]
mov dword [rcx + rax*4], 0x162d
jmp 0x140044b01
mov rax, qword [rsp + 0x17b8]
mov qword [rsp + 0x1810], rax
mov rcx, qword [rsp + 0x1810]
call fcn.14005bfdc
jmp 0x140044ab1
lea rax, [rsp + 0x1d2]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1d2]
call fcn.14002a590
mov qword [rsp + 0x6f0], rax
mov rax, qword [rsp + 0x6f0]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140046202
mov rax, qword [rsp + 0x6f0]
mov qword [rsp + 0x200], rax
mov dword [rsp + 0x24], 0
jmp 0x140044bc6
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
movsxd rax, dword [rsp + 0x24]
cmp rax, 1
jae 0x140046202
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x15d8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x15d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15dc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x15dc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15e0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x15e0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140044f98
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5f0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x380], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x15e4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x15e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15ec], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x15e8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x15e8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x15ec]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140044ebf
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x15f0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x15f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15f4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x15f4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15f8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x15f8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140044ebf
mov dword [rsp + 0x98], 0
jmp 0x140044d81
cmp dword [rsp + 0x98], 0xf
jae 0x140044eba
cvtsi2sd xmm0, dword [rsp + 0x98]
movsd xmm1, qword [rsp + 0x380]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1818], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1818]
ucomisd xmm1, xmm0
jp 0x140044dfc
jne 0x140044dfc
mov eax, dword [rsp + 0x98]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x380]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x380], xmm0
jmp 0x140044c79
cvtsi2sd xmm0, dword [rsp + 0x98]
movsd xmm1, qword [rsp + 0x380]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1820], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1820]
ucomisd xmm1, xmm0
jp 0x140044e64
jne 0x140044e64
mov eax, dword [rsp + 0x98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x380]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x380], xmm0
jmp 0x140044e7b
xor eax, eax
cmp eax, 1
je 0x140044e77
jmp 0x140044f64
jmp 0x140044ea4
cvtsi2sd xmm0, dword [rsp + 0x98]
movsd xmm1, qword [rsp + 0x380]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x554], eax
jmp 0x140044f6f
xor eax, eax
test eax, eax
je 0x140044eb0
jmp 0x140044ebf
jmp 0x140044c79
jmp 0x140044c79
xor eax, eax
cmp eax, 2
je 0x140044f64
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x15fc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x15fc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1604], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1600], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1600]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1604]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x380]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x554], eax
jmp 0x140044f6f
mov dword [rsp + 0x554], 8
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x200]
mov edx, dword [rsp + 0x554]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x200]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1608], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1608]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1610], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x160c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x160c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1610]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140045e3a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1614], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1614]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1618], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1618]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x161c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x161c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400453d9
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x388], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1620], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1620]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1628], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1624], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1624]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1628]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140045300
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x162c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x162c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1630], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1630]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1634], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1634]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140045300
mov dword [rsp + 0x9c], 0
jmp 0x1400451c2
cmp dword [rsp + 0x9c], 0xf
jae 0x1400452fb
cvtsi2sd xmm0, dword [rsp + 0x9c]
movsd xmm1, qword [rsp + 0x388]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1828], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1828]
ucomisd xmm1, xmm0
jp 0x14004523d
jne 0x14004523d
mov eax, dword [rsp + 0x9c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x388]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x388], xmm0
jmp 0x1400450ba
cvtsi2sd xmm0, dword [rsp + 0x9c]
movsd xmm1, qword [rsp + 0x388]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1830], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1830]
ucomisd xmm1, xmm0
jp 0x1400452a5
jne 0x1400452a5
mov eax, dword [rsp + 0x9c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x388]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x388], xmm0
jmp 0x1400452bc
xor eax, eax
cmp eax, 1
je 0x1400452b8
jmp 0x1400453a5
jmp 0x1400452e5
cvtsi2sd xmm0, dword [rsp + 0x9c]
movsd xmm1, qword [rsp + 0x388]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x558], eax
jmp 0x1400453b0
xor eax, eax
test eax, eax
je 0x1400452f1
jmp 0x140045300
jmp 0x1400450ba
jmp 0x1400450ba
xor eax, eax
cmp eax, 2
je 0x1400453a5
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1638], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1638]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1640], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x163c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x163c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1640]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x388]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x558], eax
jmp 0x1400453b0
mov dword [rsp + 0x558], 8
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x200]
mov edx, dword [rsp + 0x558]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x200]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1644], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1644]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1648], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1648]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x164c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x164c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004579c
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x390], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1650], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1650]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1658], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1654], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1654]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1658]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400456c3
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x165c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x165c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1660], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1660]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1664], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1664]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400456c3
mov dword [rsp + 0xa0], 0
jmp 0x140045585
cmp dword [rsp + 0xa0], 0xf
jae 0x1400456be
cvtsi2sd xmm0, dword [rsp + 0xa0]
movsd xmm1, qword [rsp + 0x390]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1838], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1838]
ucomisd xmm1, xmm0
jp 0x140045600
jne 0x140045600
mov eax, dword [rsp + 0xa0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x390]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x390], xmm0
jmp 0x14004547d
cvtsi2sd xmm0, dword [rsp + 0xa0]
movsd xmm1, qword [rsp + 0x390]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1840], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1840]
ucomisd xmm1, xmm0
jp 0x140045668
jne 0x140045668
mov eax, dword [rsp + 0xa0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x390]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x390], xmm0
jmp 0x14004567f
xor eax, eax
cmp eax, 1
je 0x14004567b
jmp 0x140045768
jmp 0x1400456a8
cvtsi2sd xmm0, dword [rsp + 0xa0]
movsd xmm1, qword [rsp + 0x390]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x55c], eax
jmp 0x140045773
xor eax, eax
test eax, eax
je 0x1400456b4
jmp 0x1400456c3
jmp 0x14004547d
jmp 0x14004547d
xor eax, eax
cmp eax, 2
je 0x140045768
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1668], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1668]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1670], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x166c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x166c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1670]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x390]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x55c], eax
jmp 0x140045773
mov dword [rsp + 0x55c], 8
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x200]
mov edx, dword [rsp + 0x55c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x200]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x24]
sub eax, 0x64
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x398], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1674], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1674]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x167c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1678], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1678]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x167c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140045a19
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1680], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1680]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1684], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1684]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1688], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1688]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140045a19
mov dword [rsp + 0xa4], 0
jmp 0x1400458db
cmp dword [rsp + 0xa4], 0xf
jae 0x140045a14
cvtsi2sd xmm0, dword [rsp + 0xa4]
movsd xmm1, qword [rsp + 0x398]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1848], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1848]
ucomisd xmm1, xmm0
jp 0x140045956
jne 0x140045956
mov eax, dword [rsp + 0xa4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x398]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x398], xmm0
jmp 0x1400457d3
cvtsi2sd xmm0, dword [rsp + 0xa4]
movsd xmm1, qword [rsp + 0x398]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1850], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1850]
ucomisd xmm1, xmm0
jp 0x1400459be
jne 0x1400459be
mov eax, dword [rsp + 0xa4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x398]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x398], xmm0
jmp 0x1400459d5
xor eax, eax
cmp eax, 1
je 0x1400459d1
jmp 0x140045abe
jmp 0x1400459fe
cvtsi2sd xmm0, dword [rsp + 0xa4]
movsd xmm1, qword [rsp + 0x398]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x560], eax
jmp 0x140045ac9
xor eax, eax
test eax, eax
je 0x140045a0a
jmp 0x140045a19
jmp 0x1400457d3
jmp 0x1400457d3
xor eax, eax
cmp eax, 2
je 0x140045abe
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x168c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x168c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1694], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1690], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1690]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1694]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x398]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x560], eax
jmp 0x140045ac9
mov dword [rsp + 0x560], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x24]
sub eax, 0x64
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3a0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1698], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1698]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16a0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x169c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x169c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x16a0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140045d46
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x16a4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x16a4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16a8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x16a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16ac], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x16ac]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140045d46
mov dword [rsp + 0xa8], 0
jmp 0x140045c08
cmp dword [rsp + 0xa8], 0xf
jae 0x140045d41
cvtsi2sd xmm0, dword [rsp + 0xa8]
movsd xmm1, qword [rsp + 0x3a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1858], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1858]
ucomisd xmm1, xmm0
jp 0x140045c83
jne 0x140045c83
mov eax, dword [rsp + 0xa8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3a0], xmm0
jmp 0x140045b00
cvtsi2sd xmm0, dword [rsp + 0xa8]
movsd xmm1, qword [rsp + 0x3a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1860], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1860]
ucomisd xmm1, xmm0
jp 0x140045ceb
jne 0x140045ceb
mov eax, dword [rsp + 0xa8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3a0], xmm0
jmp 0x140045d02
xor eax, eax
cmp eax, 1
je 0x140045cfe
jmp 0x140045deb
jmp 0x140045d2b
cvtsi2sd xmm0, dword [rsp + 0xa8]
movsd xmm1, qword [rsp + 0x3a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x564], eax
jmp 0x140045df6
xor eax, eax
test eax, eax
je 0x140045d37
jmp 0x140045d46
jmp 0x140045b00
jmp 0x140045b00
xor eax, eax
cmp eax, 2
je 0x140045deb
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x16b0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x16b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16b8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x16b4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x16b4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x16b8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3a0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x564], eax
jmp 0x140045df6
mov dword [rsp + 0x564], 8
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x200]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x560]
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x200]
mov edi, dword [rsp + 0x564]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x200]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x16bc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x16bc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16c0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x16c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16c4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x16c4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400461fd
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5d8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3a8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x16c8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x16c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16d0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x16cc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x16cc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x16d0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140046124
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x16d4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x16d4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16d8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x16d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16dc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x16dc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140046124
mov dword [rsp + 0xac], 0
jmp 0x140045fe6
cmp dword [rsp + 0xac], 0xf
jae 0x14004611f
cvtsi2sd xmm0, dword [rsp + 0xac]
movsd xmm1, qword [rsp + 0x3a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1868], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1868]
ucomisd xmm1, xmm0
jp 0x140046061
jne 0x140046061
mov eax, dword [rsp + 0xac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3a8], xmm0
jmp 0x140045ede
cvtsi2sd xmm0, dword [rsp + 0xac]
movsd xmm1, qword [rsp + 0x3a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1870], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1870]
ucomisd xmm1, xmm0
jp 0x1400460c9
jne 0x1400460c9
mov eax, dword [rsp + 0xac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3a8], xmm0
jmp 0x1400460e0
xor eax, eax
cmp eax, 1
je 0x1400460dc
jmp 0x1400461c9
jmp 0x140046109
cvtsi2sd xmm0, dword [rsp + 0xac]
movsd xmm1, qword [rsp + 0x3a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x568], eax
jmp 0x1400461d4
xor eax, eax
test eax, eax
je 0x140046115
jmp 0x140046124
jmp 0x140045ede
jmp 0x140045ede
xor eax, eax
cmp eax, 2
je 0x1400461c9
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x16e0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x16e0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16e8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x16e4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x16e4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x16e8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x568], eax
jmp 0x1400461d4
mov dword [rsp + 0x568], 8
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x200]
mov edx, dword [rsp + 0x568]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x200]
mov dword [rdx + rcx*4], eax
jmp 0x140044bbc
mov rax, qword [rsp + 0x6f0]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x6f0]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x6e8], eax
lea rax, [rsp + 0x1c4]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1c4]
call fcn.14002a200
mov qword [rsp + 0x6f8], rax
mov rax, qword [rsp + 0x6f8]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x1400478c6
mov rax, qword [rsp + 0x6f8]
mov qword [rsp + 0x270], rax
mov dword [rsp + 0x28], 0
jmp 0x14004628a
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x28]
cmp rax, 1
jae 0x1400478c6
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x16ec], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x16ec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16f0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x16f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x16f4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x16f4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004665c
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5f0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3b0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x16f8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x16f8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1700], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x16fc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x16fc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1700]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140046583
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1704], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1704]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1708], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1708]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x170c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x170c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140046583
mov dword [rsp + 0xb0], 0
jmp 0x140046445
cmp dword [rsp + 0xb0], 0xf
jae 0x14004657e
cvtsi2sd xmm0, dword [rsp + 0xb0]
movsd xmm1, qword [rsp + 0x3b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1878], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1878]
ucomisd xmm1, xmm0
jp 0x1400464c0
jne 0x1400464c0
mov eax, dword [rsp + 0xb0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3b0], xmm0
jmp 0x14004633d
cvtsi2sd xmm0, dword [rsp + 0xb0]
movsd xmm1, qword [rsp + 0x3b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1880], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1880]
ucomisd xmm1, xmm0
jp 0x140046528
jne 0x140046528
mov eax, dword [rsp + 0xb0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3b0], xmm0
jmp 0x14004653f
xor eax, eax
cmp eax, 1
je 0x14004653b
jmp 0x140046628
jmp 0x140046568
cvtsi2sd xmm0, dword [rsp + 0xb0]
movsd xmm1, qword [rsp + 0x3b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x56c], eax
jmp 0x140046633
xor eax, eax
test eax, eax
je 0x140046574
jmp 0x140046583
jmp 0x14004633d
jmp 0x14004633d
xor eax, eax
cmp eax, 2
je 0x140046628
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1710], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1710]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1718], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1714], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1714]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1718]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3b0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x56c], eax
jmp 0x140046633
mov dword [rsp + 0x56c], 8
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x270]
mov edx, dword [rsp + 0x56c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x270]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x171c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x171c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1724], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x1720], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1720]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1724]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400474fe
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1728], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1728]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x172c], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x172c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1730], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1730]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140046a9d
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3b8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1734], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1734]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x173c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1738], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1738]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x173c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400469c4
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1740], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1740]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1744], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1744]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1748], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1748]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400469c4
mov dword [rsp + 0xb4], 0
jmp 0x140046886
cmp dword [rsp + 0xb4], 0xf
jae 0x1400469bf
cvtsi2sd xmm0, dword [rsp + 0xb4]
movsd xmm1, qword [rsp + 0x3b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1888], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1888]
ucomisd xmm1, xmm0
jp 0x140046901
jne 0x140046901
mov eax, dword [rsp + 0xb4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3b8], xmm0
jmp 0x14004677e
cvtsi2sd xmm0, dword [rsp + 0xb4]
movsd xmm1, qword [rsp + 0x3b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1890], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1890]
ucomisd xmm1, xmm0
jp 0x140046969
jne 0x140046969
mov eax, dword [rsp + 0xb4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3b8], xmm0
jmp 0x140046980
xor eax, eax
cmp eax, 1
je 0x14004697c
jmp 0x140046a69
jmp 0x1400469a9
cvtsi2sd xmm0, dword [rsp + 0xb4]
movsd xmm1, qword [rsp + 0x3b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x570], eax
jmp 0x140046a74
xor eax, eax
test eax, eax
je 0x1400469b5
jmp 0x1400469c4
jmp 0x14004677e
jmp 0x14004677e
xor eax, eax
cmp eax, 2
je 0x140046a69
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x174c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x174c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1754], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1750], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1750]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1754]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3b8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x570], eax
jmp 0x140046a74
mov dword [rsp + 0x570], 8
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x270]
mov edx, dword [rsp + 0x570]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x270]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1758], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1758]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x175c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x175c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1760], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1760]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140046e60
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3c0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1764], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1764]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x176c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1768], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1768]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x176c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140046d87
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1770], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1770]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1774], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1774]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1778], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1778]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140046d87
mov dword [rsp + 0xb8], 0
jmp 0x140046c49
cmp dword [rsp + 0xb8], 0xf
jae 0x140046d82
cvtsi2sd xmm0, dword [rsp + 0xb8]
movsd xmm1, qword [rsp + 0x3c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1898], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1898]
ucomisd xmm1, xmm0
jp 0x140046cc4
jne 0x140046cc4
mov eax, dword [rsp + 0xb8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3c0], xmm0
jmp 0x140046b41
cvtsi2sd xmm0, dword [rsp + 0xb8]
movsd xmm1, qword [rsp + 0x3c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18a0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18a0]
ucomisd xmm1, xmm0
jp 0x140046d2c
jne 0x140046d2c
mov eax, dword [rsp + 0xb8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3c0], xmm0
jmp 0x140046d43
xor eax, eax
cmp eax, 1
je 0x140046d3f
jmp 0x140046e2c
jmp 0x140046d6c
cvtsi2sd xmm0, dword [rsp + 0xb8]
movsd xmm1, qword [rsp + 0x3c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x574], eax
jmp 0x140046e37
xor eax, eax
test eax, eax
je 0x140046d78
jmp 0x140046d87
jmp 0x140046b41
jmp 0x140046b41
xor eax, eax
cmp eax, 2
je 0x140046e2c
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x177c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x177c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1784], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1780], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1780]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1784]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3c0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x574], eax
jmp 0x140046e37
mov dword [rsp + 0x574], 8
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x270]
mov edx, dword [rsp + 0x574]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x270]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x28]
sub eax, 0x64
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3c8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1788], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1788]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1790], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x178c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x178c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1790]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400470dd
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1794], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1794]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1798], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1798]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x179c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x179c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400470dd
mov dword [rsp + 0xbc], 0
jmp 0x140046f9f
cmp dword [rsp + 0xbc], 0xf
jae 0x1400470d8
cvtsi2sd xmm0, dword [rsp + 0xbc]
movsd xmm1, qword [rsp + 0x3c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18a8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18a8]
ucomisd xmm1, xmm0
jp 0x14004701a
jne 0x14004701a
mov eax, dword [rsp + 0xbc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3c8], xmm0
jmp 0x140046e97
cvtsi2sd xmm0, dword [rsp + 0xbc]
movsd xmm1, qword [rsp + 0x3c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18b0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18b0]
ucomisd xmm1, xmm0
jp 0x140047082
jne 0x140047082
mov eax, dword [rsp + 0xbc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3c8], xmm0
jmp 0x140047099
xor eax, eax
cmp eax, 1
je 0x140047095
jmp 0x140047182
jmp 0x1400470c2
cvtsi2sd xmm0, dword [rsp + 0xbc]
movsd xmm1, qword [rsp + 0x3c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x578], eax
jmp 0x14004718d
xor eax, eax
test eax, eax
je 0x1400470ce
jmp 0x1400470dd
jmp 0x140046e97
jmp 0x140046e97
xor eax, eax
cmp eax, 2
je 0x140047182
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x17a0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x17a0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x17a8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x17a4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x17a4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x17a8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3c8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x578], eax
jmp 0x14004718d
mov dword [rsp + 0x578], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x28]
sub eax, 0x64
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3d0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x17ac], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x17ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x17b4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x17b0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x17b0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x17b4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004740a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x768], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x768]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x76c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x76c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x770], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x770]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004740a
mov dword [rsp + 0xc0], 0
jmp 0x1400472cc
cmp dword [rsp + 0xc0], 0xf
jae 0x140047405
cvtsi2sd xmm0, dword [rsp + 0xc0]
movsd xmm1, qword [rsp + 0x3d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18b8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18b8]
ucomisd xmm1, xmm0
jp 0x140047347
jne 0x140047347
mov eax, dword [rsp + 0xc0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3d0], xmm0
jmp 0x1400471c4
cvtsi2sd xmm0, dword [rsp + 0xc0]
movsd xmm1, qword [rsp + 0x3d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18c0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18c0]
ucomisd xmm1, xmm0
jp 0x1400473af
jne 0x1400473af
mov eax, dword [rsp + 0xc0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3d0], xmm0
jmp 0x1400473c6
xor eax, eax
cmp eax, 1
je 0x1400473c2
jmp 0x1400474af
jmp 0x1400473ef
cvtsi2sd xmm0, dword [rsp + 0xc0]
movsd xmm1, qword [rsp + 0x3d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x57c], eax
jmp 0x1400474ba
xor eax, eax
test eax, eax
je 0x1400473fb
jmp 0x14004740a
jmp 0x1400471c4
jmp 0x1400471c4
xor eax, eax
cmp eax, 2
je 0x1400474af
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x774], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x774]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x77c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x778], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x778]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x77c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3d0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x57c], eax
jmp 0x1400474ba
mov dword [rsp + 0x57c], 8
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x270]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x578]
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x270]
mov edi, dword [rsp + 0x57c]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x270]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x780], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x780]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x784], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x784]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x788], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x788]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400478c1
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5d8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3d8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x78c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x78c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x794], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x790], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x790]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x794]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400477e8
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x798], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x798]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x79c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x79c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7a0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x7a0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400477e8
mov dword [rsp + 0xc4], 0
jmp 0x1400476aa
cmp dword [rsp + 0xc4], 0xf
jae 0x1400477e3
cvtsi2sd xmm0, dword [rsp + 0xc4]
movsd xmm1, qword [rsp + 0x3d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18c8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18c8]
ucomisd xmm1, xmm0
jp 0x140047725
jne 0x140047725
mov eax, dword [rsp + 0xc4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3d8], xmm0
jmp 0x1400475a2
cvtsi2sd xmm0, dword [rsp + 0xc4]
movsd xmm1, qword [rsp + 0x3d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18d0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18d0]
ucomisd xmm1, xmm0
jp 0x14004778d
jne 0x14004778d
mov eax, dword [rsp + 0xc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3d8], xmm0
jmp 0x1400477a4
xor eax, eax
cmp eax, 1
je 0x1400477a0
jmp 0x14004788d
jmp 0x1400477cd
cvtsi2sd xmm0, dword [rsp + 0xc4]
movsd xmm1, qword [rsp + 0x3d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x580], eax
jmp 0x140047898
xor eax, eax
test eax, eax
je 0x1400477d9
jmp 0x1400477e8
jmp 0x1400475a2
jmp 0x1400475a2
xor eax, eax
cmp eax, 2
je 0x14004788d
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7a4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7a4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7ac], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x7a8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7a8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7ac]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3d8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x580], eax
jmp 0x140047898
mov dword [rsp + 0x580], 8
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x270]
mov edx, dword [rsp + 0x580]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x270]
mov dword [rdx + rcx*4], eax
jmp 0x140046280
mov rax, qword [rsp + 0x6f8]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x6f8]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x8c4], eax
lea rax, [rsp + 0x1c5]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1c5]
call fcn.140028ca0
mov qword [rsp + 0x700], rax
mov rax, qword [rsp + 0x700]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140048f8a
mov rax, qword [rsp + 0x700]
mov qword [rsp + 0x268], rax
mov dword [rsp + 0x2c], 0
jmp 0x14004794e
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
movsxd rax, dword [rsp + 0x2c]
cmp rax, 1
jae 0x140048f8a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x7b0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x7b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7b4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x7b4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7b8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x7b8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140047d20
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3e0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7bc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7bc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7c4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x7c0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7c0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7c4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140047c47
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x7c8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x7c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7cc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x7cc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7d0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x7d0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140047c47
mov dword [rsp + 0xc8], 0
jmp 0x140047b09
cmp dword [rsp + 0xc8], 0xf
jae 0x140047c42
cvtsi2sd xmm0, dword [rsp + 0xc8]
movsd xmm1, qword [rsp + 0x3e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18d8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18d8]
ucomisd xmm1, xmm0
jp 0x140047b84
jne 0x140047b84
mov eax, dword [rsp + 0xc8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3e0], xmm0
jmp 0x140047a01
cvtsi2sd xmm0, dword [rsp + 0xc8]
movsd xmm1, qword [rsp + 0x3e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18e0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18e0]
ucomisd xmm1, xmm0
jp 0x140047bec
jne 0x140047bec
mov eax, dword [rsp + 0xc8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3e0], xmm0
jmp 0x140047c03
xor eax, eax
cmp eax, 1
je 0x140047bff
jmp 0x140047cec
jmp 0x140047c2c
cvtsi2sd xmm0, dword [rsp + 0xc8]
movsd xmm1, qword [rsp + 0x3e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x584], eax
jmp 0x140047cf7
xor eax, eax
test eax, eax
je 0x140047c38
jmp 0x140047c47
jmp 0x140047a01
jmp 0x140047a01
xor eax, eax
cmp eax, 2
je 0x140047cec
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7d4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7d4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7dc], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x7d8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7d8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7dc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3e0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x584], eax
jmp 0x140047cf7
mov dword [rsp + 0x584], 8
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x268]
mov edx, dword [rsp + 0x584]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x268]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7e0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7e0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7e8], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x7e4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7e4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7e8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140048bc2
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x7ec], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x7ec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7f0], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x7f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7f4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x7f4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140048161
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3e8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7f8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7f8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x800], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x7fc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7fc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x800]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140048088
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x804], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x804]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x808], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x808]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x80c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x80c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140048088
mov dword [rsp + 0xcc], 0
jmp 0x140047f4a
cmp dword [rsp + 0xcc], 0xf
jae 0x140048083
cvtsi2sd xmm0, dword [rsp + 0xcc]
movsd xmm1, qword [rsp + 0x3e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18e8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18e8]
ucomisd xmm1, xmm0
jp 0x140047fc5
jne 0x140047fc5
mov eax, dword [rsp + 0xcc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3e8], xmm0
jmp 0x140047e42
cvtsi2sd xmm0, dword [rsp + 0xcc]
movsd xmm1, qword [rsp + 0x3e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18f0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18f0]
ucomisd xmm1, xmm0
jp 0x14004802d
jne 0x14004802d
mov eax, dword [rsp + 0xcc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3e8], xmm0
jmp 0x140048044
xor eax, eax
cmp eax, 1
je 0x140048040
jmp 0x14004812d
jmp 0x14004806d
cvtsi2sd xmm0, dword [rsp + 0xcc]
movsd xmm1, qword [rsp + 0x3e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x588], eax
jmp 0x140048138
xor eax, eax
test eax, eax
je 0x140048079
jmp 0x140048088
jmp 0x140047e42
jmp 0x140047e42
xor eax, eax
cmp eax, 2
je 0x14004812d
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x810], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x810]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x818], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x814], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x814]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x818]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3e8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x588], eax
jmp 0x140048138
mov dword [rsp + 0x588], 8
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x268]
mov edx, dword [rsp + 0x588]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x268]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x81c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x81c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x820], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x820]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x824], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x824]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140048524
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5d8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3f0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x828], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x828]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x830], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x82c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x82c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x830]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004844b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x834], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x834]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x838], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x838]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x83c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x83c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004844b
mov dword [rsp + 0x94], 0
jmp 0x14004830d
cmp dword [rsp + 0x94], 0xf
jae 0x140048446
cvtsi2sd xmm0, dword [rsp + 0x94]
movsd xmm1, qword [rsp + 0x3f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x18f8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x18f8]
ucomisd xmm1, xmm0
jp 0x140048388
jne 0x140048388
mov eax, dword [rsp + 0x94]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3f0], xmm0
jmp 0x140048205
cvtsi2sd xmm0, dword [rsp + 0x94]
movsd xmm1, qword [rsp + 0x3f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1900], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1900]
ucomisd xmm1, xmm0
jp 0x1400483f0
jne 0x1400483f0
mov eax, dword [rsp + 0x94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3f0], xmm0
jmp 0x140048407
xor eax, eax
cmp eax, 1
je 0x140048403
jmp 0x1400484f0
jmp 0x140048430
cvtsi2sd xmm0, dword [rsp + 0x94]
movsd xmm1, qword [rsp + 0x3f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x58c], eax
jmp 0x1400484fb
xor eax, eax
test eax, eax
je 0x14004843c
jmp 0x14004844b
jmp 0x140048205
jmp 0x140048205
xor eax, eax
cmp eax, 2
je 0x1400484f0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x840], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x840]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x848], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x844], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x844]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x848]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3f0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x58c], eax
jmp 0x1400484fb
mov dword [rsp + 0x58c], 8
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x268]
mov edx, dword [rsp + 0x58c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x268]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x2c]
sub eax, 0x63
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3f8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x84c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x84c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x854], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x850], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x850]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x854]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400487a1
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x858], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x858]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x85c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x85c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x860], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x860]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400487a1
mov dword [rsp + 0xd4], 0
jmp 0x140048663
cmp dword [rsp + 0xd4], 0xf
jae 0x14004879c
cvtsi2sd xmm0, dword [rsp + 0xd4]
movsd xmm1, qword [rsp + 0x3f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1908], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1908]
ucomisd xmm1, xmm0
jp 0x1400486de
jne 0x1400486de
mov eax, dword [rsp + 0xd4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3f8], xmm0
jmp 0x14004855b
cvtsi2sd xmm0, dword [rsp + 0xd4]
movsd xmm1, qword [rsp + 0x3f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1910], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1910]
ucomisd xmm1, xmm0
jp 0x140048746
jne 0x140048746
mov eax, dword [rsp + 0xd4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x3f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x3f8], xmm0
jmp 0x14004875d
xor eax, eax
cmp eax, 1
je 0x140048759
jmp 0x140048846
jmp 0x140048786
cvtsi2sd xmm0, dword [rsp + 0xd4]
movsd xmm1, qword [rsp + 0x3f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x590], eax
jmp 0x140048851
xor eax, eax
test eax, eax
je 0x140048792
jmp 0x1400487a1
jmp 0x14004855b
jmp 0x14004855b
xor eax, eax
cmp eax, 2
je 0x140048846
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x864], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x864]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x86c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x868], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x868]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x86c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x3f8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x590], eax
jmp 0x140048851
mov dword [rsp + 0x590], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x2c]
sub eax, 0x63
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x400], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x870], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x870]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x878], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x874], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x874]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x878]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140048ace
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x87c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x87c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x880], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x880]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x884], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x884]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140048ace
mov dword [rsp + 0xd8], 0
jmp 0x140048990
cmp dword [rsp + 0xd8], 0xf
jae 0x140048ac9
cvtsi2sd xmm0, dword [rsp + 0xd8]
movsd xmm1, qword [rsp + 0x400]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1918], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1918]
ucomisd xmm1, xmm0
jp 0x140048a0b
jne 0x140048a0b
mov eax, dword [rsp + 0xd8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x400]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x400], xmm0
jmp 0x140048888
cvtsi2sd xmm0, dword [rsp + 0xd8]
movsd xmm1, qword [rsp + 0x400]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1920], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1920]
ucomisd xmm1, xmm0
jp 0x140048a73
jne 0x140048a73
mov eax, dword [rsp + 0xd8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x400]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x400], xmm0
jmp 0x140048a8a
xor eax, eax
cmp eax, 1
je 0x140048a86
jmp 0x140048b73
jmp 0x140048ab3
cvtsi2sd xmm0, dword [rsp + 0xd8]
movsd xmm1, qword [rsp + 0x400]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x594], eax
jmp 0x140048b7e
xor eax, eax
test eax, eax
je 0x140048abf
jmp 0x140048ace
jmp 0x140048888
jmp 0x140048888
xor eax, eax
cmp eax, 2
je 0x140048b73
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x888], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x888]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x890], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x88c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x88c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x890]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x400]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x594], eax
jmp 0x140048b7e
mov dword [rsp + 0x594], 8
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x268]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x590]
movsxd rcx, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x268]
mov edi, dword [rsp + 0x594]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x268]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x894], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x894]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x898], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x898]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x89c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x89c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140048f85
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5d0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x408], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8a0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8a0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8a8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x8a4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8a4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8a8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140048eac
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x8ac], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x8ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8b0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x8b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8b4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x8b4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140048eac
mov dword [rsp + 0xdc], 0
jmp 0x140048d6e
cmp dword [rsp + 0xdc], 0xf
jae 0x140048ea7
cvtsi2sd xmm0, dword [rsp + 0xdc]
movsd xmm1, qword [rsp + 0x408]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1928], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1928]
ucomisd xmm1, xmm0
jp 0x140048de9
jne 0x140048de9
mov eax, dword [rsp + 0xdc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x408]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x408], xmm0
jmp 0x140048c66
cvtsi2sd xmm0, dword [rsp + 0xdc]
movsd xmm1, qword [rsp + 0x408]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1930], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1930]
ucomisd xmm1, xmm0
jp 0x140048e51
jne 0x140048e51
mov eax, dword [rsp + 0xdc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x408]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x408], xmm0
jmp 0x140048e68
xor eax, eax
cmp eax, 1
je 0x140048e64
jmp 0x140048f51
jmp 0x140048e91
cvtsi2sd xmm0, dword [rsp + 0xdc]
movsd xmm1, qword [rsp + 0x408]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x598], eax
jmp 0x140048f5c
xor eax, eax
test eax, eax
je 0x140048e9d
jmp 0x140048eac
jmp 0x140048c66
jmp 0x140048c66
xor eax, eax
cmp eax, 2
je 0x140048f51
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8b8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8b8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8c0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x8bc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8bc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8c0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x408]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x598], eax
jmp 0x140048f5c
mov dword [rsp + 0x598], 8
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x268]
mov edx, dword [rsp + 0x598]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x268]
mov dword [rdx + rcx*4], eax
jmp 0x140047944
mov rax, qword [rsp + 0x700]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x700]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x9dc], eax
mov eax, dword [rsp + 0x8c4]
mov dword [rsp + 0x6e8], eax
cmp dword [rsp + 0x6e8], 0
je 0x14004a691
lea rax, [rsp + 0x1c6]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1c6]
call fcn.140029750
mov qword [rsp + 0x708], rax
mov rax, qword [rsp + 0x708]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14004a66a
mov rax, qword [rsp + 0x708]
mov qword [rsp + 0x260], rax
mov dword [rsp + 0x20], 0
jmp 0x14004902e
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
movsxd rax, dword [rsp + 0x20]
cmp rax, 1
jae 0x14004a66a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x8c8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x8c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8cc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x8cc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8d0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x8d0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140049400
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x410], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8d4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8d4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8dc], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x8d8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8d8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8dc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140049327
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x8e0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x8e0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8e4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x8e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8e8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x8e8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140049327
mov dword [rsp + 0xe0], 0
jmp 0x1400491e9
cmp dword [rsp + 0xe0], 0xf
jae 0x140049322
cvtsi2sd xmm0, dword [rsp + 0xe0]
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1938], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1938]
ucomisd xmm1, xmm0
jp 0x140049264
jne 0x140049264
mov eax, dword [rsp + 0xe0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x410], xmm0
jmp 0x1400490e1
cvtsi2sd xmm0, dword [rsp + 0xe0]
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1940], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1940]
ucomisd xmm1, xmm0
jp 0x1400492cc
jne 0x1400492cc
mov eax, dword [rsp + 0xe0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x410], xmm0
jmp 0x1400492e3
xor eax, eax
cmp eax, 1
je 0x1400492df
jmp 0x1400493cc
jmp 0x14004930c
cvtsi2sd xmm0, dword [rsp + 0xe0]
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x59c], eax
jmp 0x1400493d7
xor eax, eax
test eax, eax
je 0x140049318
jmp 0x140049327
jmp 0x1400490e1
jmp 0x1400490e1
xor eax, eax
cmp eax, 2
je 0x1400493cc
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8ec], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8ec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8f4], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x8f0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8f0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8f4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x410]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x59c], eax
jmp 0x1400493d7
mov dword [rsp + 0x59c], 8
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x260]
mov edx, dword [rsp + 0x59c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x260]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8f8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8f8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x900], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x8fc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8fc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x900]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004a2a2
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x904], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x904]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x908], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x908]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x90c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x90c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140049841
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5e0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x418], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x910], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x910]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x918], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x914], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x914]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x918]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140049768
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x91c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x91c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x920], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x920]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x924], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x924]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140049768
mov dword [rsp + 0xe4], 0
jmp 0x14004962a
cmp dword [rsp + 0xe4], 0xf
jae 0x140049763
cvtsi2sd xmm0, dword [rsp + 0xe4]
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1948], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1948]
ucomisd xmm1, xmm0
jp 0x1400496a5
jne 0x1400496a5
mov eax, dword [rsp + 0xe4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x418], xmm0
jmp 0x140049522
cvtsi2sd xmm0, dword [rsp + 0xe4]
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1950], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1950]
ucomisd xmm1, xmm0
jp 0x14004970d
jne 0x14004970d
mov eax, dword [rsp + 0xe4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x418], xmm0
jmp 0x140049724
xor eax, eax
cmp eax, 1
je 0x140049720
jmp 0x14004980d
jmp 0x14004974d
cvtsi2sd xmm0, dword [rsp + 0xe4]
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5a0], eax
jmp 0x140049818
xor eax, eax
test eax, eax
je 0x140049759
jmp 0x140049768
jmp 0x140049522
jmp 0x140049522
xor eax, eax
cmp eax, 2
je 0x14004980d
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x928], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x928]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x930], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x92c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x92c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x930]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x418]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5a0], eax
jmp 0x140049818
mov dword [rsp + 0x5a0], 8
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x260]
mov edx, dword [rsp + 0x5a0]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x260]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x934], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x934]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x938], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x938]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x93c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x93c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140049c04
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5d8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x420], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x940], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x940]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x948], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x944], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x944]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x948]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140049b2b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x94c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x94c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x950], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x950]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x954], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x954]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140049b2b
mov dword [rsp + 0xe8], 0
jmp 0x1400499ed
cmp dword [rsp + 0xe8], 0xf
jae 0x140049b26
cvtsi2sd xmm0, dword [rsp + 0xe8]
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1958], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1958]
ucomisd xmm1, xmm0
jp 0x140049a68
jne 0x140049a68
mov eax, dword [rsp + 0xe8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x420], xmm0
jmp 0x1400498e5
cvtsi2sd xmm0, dword [rsp + 0xe8]
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1960], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1960]
ucomisd xmm1, xmm0
jp 0x140049ad0
jne 0x140049ad0
mov eax, dword [rsp + 0xe8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x420], xmm0
jmp 0x140049ae7
xor eax, eax
cmp eax, 1
je 0x140049ae3
jmp 0x140049bd0
jmp 0x140049b10
cvtsi2sd xmm0, dword [rsp + 0xe8]
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5a4], eax
jmp 0x140049bdb
xor eax, eax
test eax, eax
je 0x140049b1c
jmp 0x140049b2b
jmp 0x1400498e5
jmp 0x1400498e5
xor eax, eax
cmp eax, 2
je 0x140049bd0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x958], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x958]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x960], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x95c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x95c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x960]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x420]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5a4], eax
jmp 0x140049bdb
mov dword [rsp + 0x5a4], 8
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x260]
mov edx, dword [rsp + 0x5a4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x260]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x20]
sub eax, 0x63
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x428], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x964], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x964]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x96c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x968], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x968]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x96c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140049e81
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x970], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x970]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x974], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x974]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x978], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x978]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140049e81
mov dword [rsp + 0xec], 0
jmp 0x140049d43
cmp dword [rsp + 0xec], 0xf
jae 0x140049e7c
cvtsi2sd xmm0, dword [rsp + 0xec]
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1968], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1968]
ucomisd xmm1, xmm0
jp 0x140049dbe
jne 0x140049dbe
mov eax, dword [rsp + 0xec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x428], xmm0
jmp 0x140049c3b
cvtsi2sd xmm0, dword [rsp + 0xec]
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1970], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1970]
ucomisd xmm1, xmm0
jp 0x140049e26
jne 0x140049e26
mov eax, dword [rsp + 0xec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x428], xmm0
jmp 0x140049e3d
xor eax, eax
cmp eax, 1
je 0x140049e39
jmp 0x140049f26
jmp 0x140049e66
cvtsi2sd xmm0, dword [rsp + 0xec]
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5a8], eax
jmp 0x140049f31
xor eax, eax
test eax, eax
je 0x140049e72
jmp 0x140049e81
jmp 0x140049c3b
jmp 0x140049c3b
xor eax, eax
cmp eax, 2
je 0x140049f26
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x97c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x97c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x984], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x980], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x980]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x984]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x428]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5a8], eax
jmp 0x140049f31
mov dword [rsp + 0x5a8], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x20]
sub eax, 0x63
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x430], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x988], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x988]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x990], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x98c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x98c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x990]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004a1ae
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x994], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x994]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x998], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x998]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x99c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x99c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004a1ae
mov dword [rsp + 0xf0], 0
jmp 0x14004a070
cmp dword [rsp + 0xf0], 0xf
jae 0x14004a1a9
cvtsi2sd xmm0, dword [rsp + 0xf0]
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1978], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1978]
ucomisd xmm1, xmm0
jp 0x14004a0eb
jne 0x14004a0eb
mov eax, dword [rsp + 0xf0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x430], xmm0
jmp 0x140049f68
cvtsi2sd xmm0, dword [rsp + 0xf0]
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1980], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1980]
ucomisd xmm1, xmm0
jp 0x14004a153
jne 0x14004a153
mov eax, dword [rsp + 0xf0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x430], xmm0
jmp 0x14004a16a
xor eax, eax
cmp eax, 1
je 0x14004a166
jmp 0x14004a253
jmp 0x14004a193
cvtsi2sd xmm0, dword [rsp + 0xf0]
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5ac], eax
jmp 0x14004a25e
xor eax, eax
test eax, eax
je 0x14004a19f
jmp 0x14004a1ae
jmp 0x140049f68
jmp 0x140049f68
xor eax, eax
cmp eax, 2
je 0x14004a253
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x9a0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x9a0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9a8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x9a4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x9a4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x9a8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x430]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5ac], eax
jmp 0x14004a25e
mov dword [rsp + 0x5ac], 8
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x260]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x5a8]
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x260]
mov edi, dword [rsp + 0x5ac]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x260]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x9ac], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x9ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9b0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x9b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9b4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x9b4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004a665
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5d0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x438], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x9b8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x9b8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9c0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x9bc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x9bc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x9c0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004a58c
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x9c4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x9c4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9c8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x9c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9cc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x9cc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004a58c
mov dword [rsp + 0xf4], 0
jmp 0x14004a44e
cmp dword [rsp + 0xf4], 0xf
jae 0x14004a587
cvtsi2sd xmm0, dword [rsp + 0xf4]
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1988], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1988]
ucomisd xmm1, xmm0
jp 0x14004a4c9
jne 0x14004a4c9
mov eax, dword [rsp + 0xf4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x438], xmm0
jmp 0x14004a346
cvtsi2sd xmm0, dword [rsp + 0xf4]
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1990], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1990]
ucomisd xmm1, xmm0
jp 0x14004a531
jne 0x14004a531
mov eax, dword [rsp + 0xf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x438], xmm0
jmp 0x14004a548
xor eax, eax
cmp eax, 1
je 0x14004a544
jmp 0x14004a631
jmp 0x14004a571
cvtsi2sd xmm0, dword [rsp + 0xf4]
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5b0], eax
jmp 0x14004a63c
xor eax, eax
test eax, eax
je 0x14004a57d
jmp 0x14004a58c
jmp 0x14004a346
jmp 0x14004a346
xor eax, eax
cmp eax, 2
je 0x14004a631
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x9d0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x9d0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9d8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x9d4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x9d4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x9d8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x438]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5b0], eax
jmp 0x14004a63c
mov dword [rsp + 0x5b0], 8
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x260]
mov edx, dword [rsp + 0x5b0]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x260]
mov dword [rdx + rcx*4], eax
jmp 0x140049024
mov rax, qword [rsp + 0x708]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x708]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x9dc], eax
mov dword [rsp + 0x5b4], 3
jmp 0x14004a6ae
mov eax, dword [rsp + 0x5b4]
inc eax
mov dword [rsp + 0x5b4], eax
cmp dword [rsp + 0x5b4], 0x2cc8
jae 0x14004a752
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1998], rax
mov rax, qword [rsp + 0x1998]
mov qword [rsp + 0x17c0], rax
mov dword [rsp + 0x1d8], 0
jmp 0x14004a6fe
mov eax, dword [rsp + 0x1d8]
inc eax
mov dword [rsp + 0x1d8], eax
cmp dword [rsp + 0x1d8], 0x2f2d
jae 0x14004a730
cmp dword [rsp + 0x1d8], 0x1f
jne 0x14004a717
jmp 0x14004a730
movsxd rax, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x17c0]
mov dword [rcx + rax*4], 0x1665
jmp 0x14004a6ee
mov rax, qword [rsp + 0x17c0]
mov qword [rsp + 0x19a0], rax
mov rcx, qword [rsp + 0x19a0]
call fcn.14005bfdc
jmp 0x14004a69e
mov dword [rsp + 0x5b8], 8
jmp 0x14004a76f
mov eax, dword [rsp + 0x5b8]
inc eax
mov dword [rsp + 0x5b8], eax
cmp dword [rsp + 0x5b8], 0x2c8b
jae 0x14004a813
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x19a8], rax
mov rax, qword [rsp + 0x19a8]
mov qword [rsp + 0x17c8], rax
mov dword [rsp + 0x1dc], 0
jmp 0x14004a7bf
mov eax, dword [rsp + 0x1dc]
inc eax
mov dword [rsp + 0x1dc], eax
cmp dword [rsp + 0x1dc], 0x348d
jae 0x14004a7f1
cmp dword [rsp + 0x1dc], 0x17
jne 0x14004a7d8
jmp 0x14004a7f1
movsxd rax, dword [rsp + 0x1dc]
mov rcx, qword [rsp + 0x17c8]
mov dword [rcx + rax*4], 0x15f8
jmp 0x14004a7af
mov rax, qword [rsp + 0x17c8]
mov qword [rsp + 0x19b0], rax
mov rcx, qword [rsp + 0x19b0]
call fcn.14005bfdc
jmp 0x14004a75f
lea rax, [rsp + 0x1c7]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1c7]
call fcn.140029160
mov qword [rsp + 0x710], rax
mov rax, qword [rsp + 0x710]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14004beb0
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x258], rax
mov dword [rsp + 0x34], 0
jmp 0x14004a874
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
movsxd rax, dword [rsp + 0x34]
cmp rax, 1
jae 0x14004beb0
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x9e0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x9e0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9e4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x9e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9e8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x9e8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004ac46
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5c8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x440], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x9ec], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x9ec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9f4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x9f0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x9f0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x9f4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004ab6d
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x9f8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x9f8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9fc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x9fc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa00], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xa00]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004ab6d
mov dword [rsp + 0xf8], 0
jmp 0x14004aa2f
cmp dword [rsp + 0xf8], 0xf
jae 0x14004ab68
cvtsi2sd xmm0, dword [rsp + 0xf8]
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19b8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19b8]
ucomisd xmm1, xmm0
jp 0x14004aaaa
jne 0x14004aaaa
mov eax, dword [rsp + 0xf8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x440], xmm0
jmp 0x14004a927
cvtsi2sd xmm0, dword [rsp + 0xf8]
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19c0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19c0]
ucomisd xmm1, xmm0
jp 0x14004ab12
jne 0x14004ab12
mov eax, dword [rsp + 0xf8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x440], xmm0
jmp 0x14004ab29
xor eax, eax
cmp eax, 1
je 0x14004ab25
jmp 0x14004ac12
jmp 0x14004ab52
cvtsi2sd xmm0, dword [rsp + 0xf8]
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5bc], eax
jmp 0x14004ac1d
xor eax, eax
test eax, eax
je 0x14004ab5e
jmp 0x14004ab6d
jmp 0x14004a927
jmp 0x14004a927
xor eax, eax
cmp eax, 2
je 0x14004ac12
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa04], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa04]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa0c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xa08], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa08]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa0c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x440]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5bc], eax
jmp 0x14004ac1d
mov dword [rsp + 0x5bc], 8
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x258]
mov edx, dword [rsp + 0x5bc]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x258]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa10], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa10]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa18], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0xa14], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa14]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa18]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004bae8
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xa1c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xa1c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa20], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xa20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa24], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xa24]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004b087
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5c0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x448], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa28], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa30], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xa2c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa2c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa30]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004afae
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xa34], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xa34]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa38], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xa38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa3c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xa3c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004afae
mov dword [rsp + 0xfc], 0
jmp 0x14004ae70
cmp dword [rsp + 0xfc], 0xf
jae 0x14004afa9
cvtsi2sd xmm0, dword [rsp + 0xfc]
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19c8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19c8]
ucomisd xmm1, xmm0
jp 0x14004aeeb
jne 0x14004aeeb
mov eax, dword [rsp + 0xfc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x448], xmm0
jmp 0x14004ad68
cvtsi2sd xmm0, dword [rsp + 0xfc]
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19d0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19d0]
ucomisd xmm1, xmm0
jp 0x14004af53
jne 0x14004af53
mov eax, dword [rsp + 0xfc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x448], xmm0
jmp 0x14004af6a
xor eax, eax
cmp eax, 1
je 0x14004af66
jmp 0x14004b053
jmp 0x14004af93
cvtsi2sd xmm0, dword [rsp + 0xfc]
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c0], eax
jmp 0x14004b05e
xor eax, eax
test eax, eax
je 0x14004af9f
jmp 0x14004afae
jmp 0x14004ad68
jmp 0x14004ad68
xor eax, eax
cmp eax, 2
je 0x14004b053
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa40], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa48], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xa44], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa44]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa48]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x448]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c0], eax
jmp 0x14004b05e
mov dword [rsp + 0x5c0], 8
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x258]
mov edx, dword [rsp + 0x5c0]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x258]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xa4c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xa4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa50], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xa50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa54], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xa54]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004b44a
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x450], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa58], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa60], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xa5c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa5c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa60]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004b371
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xa64], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xa64]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa68], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xa68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa6c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xa6c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004b371
mov dword [rsp + 0x100], 0
jmp 0x14004b233
cmp dword [rsp + 0x100], 0xf
jae 0x14004b36c
cvtsi2sd xmm0, dword [rsp + 0x100]
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19d8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19d8]
ucomisd xmm1, xmm0
jp 0x14004b2ae
jne 0x14004b2ae
mov eax, dword [rsp + 0x100]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x450], xmm0
jmp 0x14004b12b
cvtsi2sd xmm0, dword [rsp + 0x100]
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19e0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19e0]
ucomisd xmm1, xmm0
jp 0x14004b316
jne 0x14004b316
mov eax, dword [rsp + 0x100]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x450], xmm0
jmp 0x14004b32d
xor eax, eax
cmp eax, 1
je 0x14004b329
jmp 0x14004b416
jmp 0x14004b356
cvtsi2sd xmm0, dword [rsp + 0x100]
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c4], eax
jmp 0x14004b421
xor eax, eax
test eax, eax
je 0x14004b362
jmp 0x14004b371
jmp 0x14004b12b
jmp 0x14004b12b
xor eax, eax
cmp eax, 2
je 0x14004b416
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa70], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa70]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa78], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xa74], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa74]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa78]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x450]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c4], eax
jmp 0x14004b421
mov dword [rsp + 0x5c4], 8
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x258]
mov edx, dword [rsp + 0x5c4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x258]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x34]
sub eax, 0x5f
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x458], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa7c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa7c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa84], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xa80], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa80]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa84]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004b6c7
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xa88], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xa88]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa8c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xa8c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa90], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xa90]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004b6c7
mov dword [rsp + 0x104], 0
jmp 0x14004b589
cmp dword [rsp + 0x104], 0xf
jae 0x14004b6c2
cvtsi2sd xmm0, dword [rsp + 0x104]
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19e8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19e8]
ucomisd xmm1, xmm0
jp 0x14004b604
jne 0x14004b604
mov eax, dword [rsp + 0x104]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x458], xmm0
jmp 0x14004b481
cvtsi2sd xmm0, dword [rsp + 0x104]
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19f0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19f0]
ucomisd xmm1, xmm0
jp 0x14004b66c
jne 0x14004b66c
mov eax, dword [rsp + 0x104]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x458], xmm0
jmp 0x14004b683
xor eax, eax
cmp eax, 1
je 0x14004b67f
jmp 0x14004b76c
jmp 0x14004b6ac
cvtsi2sd xmm0, dword [rsp + 0x104]
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c8], eax
jmp 0x14004b777
xor eax, eax
test eax, eax
je 0x14004b6b8
jmp 0x14004b6c7
jmp 0x14004b481
jmp 0x14004b481
xor eax, eax
cmp eax, 2
je 0x14004b76c
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xa94], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xa94]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa9c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xa98], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xa98]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa9c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x458]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c8], eax
jmp 0x14004b777
mov dword [rsp + 0x5c8], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x34]
sub eax, 0x5f
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x460], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xaa0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xaa0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xaa8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xaa4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xaa4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xaa8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004b9f4
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xaac], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xaac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xab0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xab0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xab4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xab4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004b9f4
mov dword [rsp + 0x108], 0
jmp 0x14004b8b6
cmp dword [rsp + 0x108], 0xf
jae 0x14004b9ef
cvtsi2sd xmm0, dword [rsp + 0x108]
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x19f8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x19f8]
ucomisd xmm1, xmm0
jp 0x14004b931
jne 0x14004b931
mov eax, dword [rsp + 0x108]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x460], xmm0
jmp 0x14004b7ae
cvtsi2sd xmm0, dword [rsp + 0x108]
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a00], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a00]
ucomisd xmm1, xmm0
jp 0x14004b999
jne 0x14004b999
mov eax, dword [rsp + 0x108]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x460], xmm0
jmp 0x14004b9b0
xor eax, eax
cmp eax, 1
je 0x14004b9ac
jmp 0x14004ba99
jmp 0x14004b9d9
cvtsi2sd xmm0, dword [rsp + 0x108]
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x694], eax
jmp 0x14004baa4
xor eax, eax
test eax, eax
je 0x14004b9e5
jmp 0x14004b9f4
jmp 0x14004b7ae
jmp 0x14004b7ae
xor eax, eax
cmp eax, 2
je 0x14004ba99
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xab8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xab8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xac0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xabc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xabc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xac0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x460]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x694], eax
jmp 0x14004baa4
mov dword [rsp + 0x694], 8
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x258]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x5c8]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x258]
mov edi, dword [rsp + 0x694]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x258]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xac4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xac4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xac8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xac8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xacc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xacc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004beab
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x468], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xad0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xad0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xad8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xad4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xad4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xad8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004bdd2
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xadc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xadc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xae0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xae0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xae4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xae4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004bdd2
mov dword [rsp + 0x10c], 0
jmp 0x14004bc94
cmp dword [rsp + 0x10c], 0xf
jae 0x14004bdcd
cvtsi2sd xmm0, dword [rsp + 0x10c]
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a08], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a08]
ucomisd xmm1, xmm0
jp 0x14004bd0f
jne 0x14004bd0f
mov eax, dword [rsp + 0x10c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x468], xmm0
jmp 0x14004bb8c
cvtsi2sd xmm0, dword [rsp + 0x10c]
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a10], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a10]
ucomisd xmm1, xmm0
jp 0x14004bd77
jne 0x14004bd77
mov eax, dword [rsp + 0x10c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x468], xmm0
jmp 0x14004bd8e
xor eax, eax
cmp eax, 1
je 0x14004bd8a
jmp 0x14004be77
jmp 0x14004bdb7
cvtsi2sd xmm0, dword [rsp + 0x10c]
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x690], eax
jmp 0x14004be82
xor eax, eax
test eax, eax
je 0x14004bdc3
jmp 0x14004bdd2
jmp 0x14004bb8c
jmp 0x14004bb8c
xor eax, eax
cmp eax, 2
je 0x14004be77
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xae8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xae8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xaf0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xaec], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xaec]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xaf0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x468]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x690], eax
jmp 0x14004be82
mov dword [rsp + 0x690], 8
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x258]
mov edx, dword [rsp + 0x690]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x258]
mov dword [rdx + rcx*4], eax
jmp 0x14004a86a
mov rax, qword [rsp + 0x710]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x710]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x6e0], eax
lea rax, [rsp + 0x1c8]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1c8]
call fcn.140029030
mov qword [rsp + 0x718], rax
mov rax, qword [rsp + 0x718]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14004d574
mov rax, qword [rsp + 0x718]
mov qword [rsp + 0x250], rax
mov dword [rsp + 0x38], 0
jmp 0x14004bf38
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
movsxd rax, dword [rsp + 0x38]
cmp rax, 1
jae 0x14004d574
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xaf4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xaf4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xaf8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xaf8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xafc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xafc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004c30a
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5c0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x470], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb00], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb00]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb08], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xb04], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb04]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb08]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004c231
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xb0c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xb0c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb10], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xb10]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb14], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xb14]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004c231
mov dword [rsp + 0x110], 0
jmp 0x14004c0f3
cmp dword [rsp + 0x110], 0xf
jae 0x14004c22c
cvtsi2sd xmm0, dword [rsp + 0x110]
movsd xmm1, qword [rsp + 0x470]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a18], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a18]
ucomisd xmm1, xmm0
jp 0x14004c16e
jne 0x14004c16e
mov eax, dword [rsp + 0x110]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x470]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x470], xmm0
jmp 0x14004bfeb
cvtsi2sd xmm0, dword [rsp + 0x110]
movsd xmm1, qword [rsp + 0x470]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a20], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a20]
ucomisd xmm1, xmm0
jp 0x14004c1d6
jne 0x14004c1d6
mov eax, dword [rsp + 0x110]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x470]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x470], xmm0
jmp 0x14004c1ed
xor eax, eax
cmp eax, 1
je 0x14004c1e9
jmp 0x14004c2d6
jmp 0x14004c216
cvtsi2sd xmm0, dword [rsp + 0x110]
movsd xmm1, qword [rsp + 0x470]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x68c], eax
jmp 0x14004c2e1
xor eax, eax
test eax, eax
je 0x14004c222
jmp 0x14004c231
jmp 0x14004bfeb
jmp 0x14004bfeb
xor eax, eax
cmp eax, 2
je 0x14004c2d6
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb18], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb18]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb20], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xb1c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb1c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb20]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x470]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x68c], eax
jmp 0x14004c2e1
mov dword [rsp + 0x68c], 8
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x250]
mov edx, dword [rsp + 0x68c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x250]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb24], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb2c], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0xb28], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb28]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb2c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004d1ac
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xb30], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xb30]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb34], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xb34]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb38], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xb38]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004c74b
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x478], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb3c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb44], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xb40], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb40]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb44]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004c672
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xb48], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xb48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb4c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xb4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb50], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xb50]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004c672
mov dword [rsp + 0x114], 0
jmp 0x14004c534
cmp dword [rsp + 0x114], 0xf
jae 0x14004c66d
cvtsi2sd xmm0, dword [rsp + 0x114]
movsd xmm1, qword [rsp + 0x478]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a28], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a28]
ucomisd xmm1, xmm0
jp 0x14004c5af
jne 0x14004c5af
mov eax, dword [rsp + 0x114]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x478]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x478], xmm0
jmp 0x14004c42c
cvtsi2sd xmm0, dword [rsp + 0x114]
movsd xmm1, qword [rsp + 0x478]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a30], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a30]
ucomisd xmm1, xmm0
jp 0x14004c617
jne 0x14004c617
mov eax, dword [rsp + 0x114]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x478]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x478], xmm0
jmp 0x14004c62e
xor eax, eax
cmp eax, 1
je 0x14004c62a
jmp 0x14004c717
jmp 0x14004c657
cvtsi2sd xmm0, dword [rsp + 0x114]
movsd xmm1, qword [rsp + 0x478]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x688], eax
jmp 0x14004c722
xor eax, eax
test eax, eax
je 0x14004c663
jmp 0x14004c672
jmp 0x14004c42c
jmp 0x14004c42c
xor eax, eax
cmp eax, 2
je 0x14004c717
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb54], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb5c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xb58], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb58]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb5c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x478]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x688], eax
jmp 0x14004c722
mov dword [rsp + 0x688], 8
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x250]
mov edx, dword [rsp + 0x688]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x250]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xb60], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xb60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb64], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xb64]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb68], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xb68]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004cb0e
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x480], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb6c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb74], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xb70], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb70]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb74]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004ca35
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xb78], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xb78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb7c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xb7c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb80], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xb80]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004ca35
mov dword [rsp + 0x118], 0
jmp 0x14004c8f7
cmp dword [rsp + 0x118], 0xf
jae 0x14004ca30
cvtsi2sd xmm0, dword [rsp + 0x118]
movsd xmm1, qword [rsp + 0x480]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a38], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a38]
ucomisd xmm1, xmm0
jp 0x14004c972
jne 0x14004c972
mov eax, dword [rsp + 0x118]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x480]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x480], xmm0
jmp 0x14004c7ef
cvtsi2sd xmm0, dword [rsp + 0x118]
movsd xmm1, qword [rsp + 0x480]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a40], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a40]
ucomisd xmm1, xmm0
jp 0x14004c9da
jne 0x14004c9da
mov eax, dword [rsp + 0x118]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x480]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x480], xmm0
jmp 0x14004c9f1
xor eax, eax
cmp eax, 1
je 0x14004c9ed
jmp 0x14004cada
jmp 0x14004ca1a
cvtsi2sd xmm0, dword [rsp + 0x118]
movsd xmm1, qword [rsp + 0x480]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x684], eax
jmp 0x14004cae5
xor eax, eax
test eax, eax
je 0x14004ca26
jmp 0x14004ca35
jmp 0x14004c7ef
jmp 0x14004c7ef
xor eax, eax
cmp eax, 2
je 0x14004cada
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb84], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb84]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb8c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xb88], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb88]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb8c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x480]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x684], eax
jmp 0x14004cae5
mov dword [rsp + 0x684], 8
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x250]
mov edx, dword [rsp + 0x684]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x250]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x38]
sub eax, 0x5e
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x488], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xb90], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xb90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb98], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xb94], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xb94]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xb98]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004cd8b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xb9c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xb9c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xba0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xba0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xba4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xba4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004cd8b
mov dword [rsp + 0x11c], 0
jmp 0x14004cc4d
cmp dword [rsp + 0x11c], 0xf
jae 0x14004cd86
cvtsi2sd xmm0, dword [rsp + 0x11c]
movsd xmm1, qword [rsp + 0x488]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a48], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a48]
ucomisd xmm1, xmm0
jp 0x14004ccc8
jne 0x14004ccc8
mov eax, dword [rsp + 0x11c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x488]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x488], xmm0
jmp 0x14004cb45
cvtsi2sd xmm0, dword [rsp + 0x11c]
movsd xmm1, qword [rsp + 0x488]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a50], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a50]
ucomisd xmm1, xmm0
jp 0x14004cd30
jne 0x14004cd30
mov eax, dword [rsp + 0x11c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x488]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x488], xmm0
jmp 0x14004cd47
xor eax, eax
cmp eax, 1
je 0x14004cd43
jmp 0x14004ce30
jmp 0x14004cd70
cvtsi2sd xmm0, dword [rsp + 0x11c]
movsd xmm1, qword [rsp + 0x488]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x680], eax
jmp 0x14004ce3b
xor eax, eax
test eax, eax
je 0x14004cd7c
jmp 0x14004cd8b
jmp 0x14004cb45
jmp 0x14004cb45
xor eax, eax
cmp eax, 2
je 0x14004ce30
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xba8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xba8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbb0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xbac], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xbac]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xbb0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x488]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x680], eax
jmp 0x14004ce3b
mov dword [rsp + 0x680], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x38]
sub eax, 0x5e
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x490], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xbb4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xbb4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbbc], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xbb8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xbb8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xbbc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004d0b8
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xbc0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xbc0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbc4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xbc4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbc8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xbc8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004d0b8
mov dword [rsp + 0x120], 0
jmp 0x14004cf7a
cmp dword [rsp + 0x120], 0xf
jae 0x14004d0b3
cvtsi2sd xmm0, dword [rsp + 0x120]
movsd xmm1, qword [rsp + 0x490]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a58], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a58]
ucomisd xmm1, xmm0
jp 0x14004cff5
jne 0x14004cff5
mov eax, dword [rsp + 0x120]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x490]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x490], xmm0
jmp 0x14004ce72
cvtsi2sd xmm0, dword [rsp + 0x120]
movsd xmm1, qword [rsp + 0x490]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a60], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a60]
ucomisd xmm1, xmm0
jp 0x14004d05d
jne 0x14004d05d
mov eax, dword [rsp + 0x120]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x490]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x490], xmm0
jmp 0x14004d074
xor eax, eax
cmp eax, 1
je 0x14004d070
jmp 0x14004d15d
jmp 0x14004d09d
cvtsi2sd xmm0, dword [rsp + 0x120]
movsd xmm1, qword [rsp + 0x490]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x67c], eax
jmp 0x14004d168
xor eax, eax
test eax, eax
je 0x14004d0a9
jmp 0x14004d0b8
jmp 0x14004ce72
jmp 0x14004ce72
xor eax, eax
cmp eax, 2
je 0x14004d15d
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xbcc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xbcc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbd4], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xbd0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xbd0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xbd4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x490]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x67c], eax
jmp 0x14004d168
mov dword [rsp + 0x67c], 8
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x250]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x680]
movsxd rcx, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x250]
mov edi, dword [rsp + 0x67c]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x250]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xbd8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xbd8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbdc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xbdc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbe0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xbe0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004d56f
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x498], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xbe4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xbe4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbec], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xbe8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xbe8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xbec]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004d496
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xbf0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xbf0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbf4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xbf4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xbf8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xbf8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004d496
mov dword [rsp + 0x124], 0
jmp 0x14004d358
cmp dword [rsp + 0x124], 0xf
jae 0x14004d491
cvtsi2sd xmm0, dword [rsp + 0x124]
movsd xmm1, qword [rsp + 0x498]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a68], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a68]
ucomisd xmm1, xmm0
jp 0x14004d3d3
jne 0x14004d3d3
mov eax, dword [rsp + 0x124]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x498]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x498], xmm0
jmp 0x14004d250
cvtsi2sd xmm0, dword [rsp + 0x124]
movsd xmm1, qword [rsp + 0x498]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a70], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a70]
ucomisd xmm1, xmm0
jp 0x14004d43b
jne 0x14004d43b
mov eax, dword [rsp + 0x124]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x498]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x498], xmm0
jmp 0x14004d452
xor eax, eax
cmp eax, 1
je 0x14004d44e
jmp 0x14004d53b
jmp 0x14004d47b
cvtsi2sd xmm0, dword [rsp + 0x124]
movsd xmm1, qword [rsp + 0x498]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x678], eax
jmp 0x14004d546
xor eax, eax
test eax, eax
je 0x14004d487
jmp 0x14004d496
jmp 0x14004d250
jmp 0x14004d250
xor eax, eax
cmp eax, 2
je 0x14004d53b
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xbfc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xbfc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc04], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xc00], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc00]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc04]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x498]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x678], eax
jmp 0x14004d546
mov dword [rsp + 0x678], 8
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x250]
mov edx, dword [rsp + 0x678]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x250]
mov dword [rdx + rcx*4], eax
jmp 0x14004bf2e
mov rax, qword [rsp + 0x718]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x718]
mov eax, dword [rcx + rax]
mov dword [rsp + 0xd1c], eax
lea rax, [rsp + 0x1c9]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1c9]
call fcn.140029d40
mov qword [rsp + 0x720], rax
mov rax, qword [rsp + 0x720]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14004ec38
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x248], rax
mov dword [rsp + 0x3c], 0
jmp 0x14004d5fc
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x3c]
cmp rax, 1
jae 0x14004ec38
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xc08], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xc08]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc0c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xc0c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc10], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xc10]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004d9ce
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5c0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4a0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xc14], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xc14]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc1c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xc18], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc18]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc1c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004d8f5
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xc20], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xc20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc24], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xc24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc28], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xc28]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004d8f5
mov dword [rsp + 0x128], 0
jmp 0x14004d7b7
cmp dword [rsp + 0x128], 0xf
jae 0x14004d8f0
cvtsi2sd xmm0, dword [rsp + 0x128]
movsd xmm1, qword [rsp + 0x4a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a78], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a78]
ucomisd xmm1, xmm0
jp 0x14004d832
jne 0x14004d832
mov eax, dword [rsp + 0x128]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4a0], xmm0
jmp 0x14004d6af
cvtsi2sd xmm0, dword [rsp + 0x128]
movsd xmm1, qword [rsp + 0x4a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a80], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a80]
ucomisd xmm1, xmm0
jp 0x14004d89a
jne 0x14004d89a
mov eax, dword [rsp + 0x128]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4a0], xmm0
jmp 0x14004d8b1
xor eax, eax
cmp eax, 1
je 0x14004d8ad
jmp 0x14004d99a
jmp 0x14004d8da
cvtsi2sd xmm0, dword [rsp + 0x128]
movsd xmm1, qword [rsp + 0x4a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x674], eax
jmp 0x14004d9a5
xor eax, eax
test eax, eax
je 0x14004d8e6
jmp 0x14004d8f5
jmp 0x14004d6af
jmp 0x14004d6af
xor eax, eax
cmp eax, 2
je 0x14004d99a
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xc2c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xc2c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc34], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xc30], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc30]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc34]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4a0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x674], eax
jmp 0x14004d9a5
mov dword [rsp + 0x674], 8
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x248]
mov edx, dword [rsp + 0x674]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x248]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xc38], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xc38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc40], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0xc3c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc3c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc40]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004e870
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xc44], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xc44]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc48], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xc48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc4c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xc4c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004de0f
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4a8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xc50], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xc50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc58], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xc54], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc54]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc58]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004dd36
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xc5c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xc5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc60], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xc60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc64], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xc64]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004dd36
mov dword [rsp + 0x12c], 0
jmp 0x14004dbf8
cmp dword [rsp + 0x12c], 0xf
jae 0x14004dd31
cvtsi2sd xmm0, dword [rsp + 0x12c]
movsd xmm1, qword [rsp + 0x4a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a88], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a88]
ucomisd xmm1, xmm0
jp 0x14004dc73
jne 0x14004dc73
mov eax, dword [rsp + 0x12c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4a8], xmm0
jmp 0x14004daf0
cvtsi2sd xmm0, dword [rsp + 0x12c]
movsd xmm1, qword [rsp + 0x4a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a90], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a90]
ucomisd xmm1, xmm0
jp 0x14004dcdb
jne 0x14004dcdb
mov eax, dword [rsp + 0x12c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4a8], xmm0
jmp 0x14004dcf2
xor eax, eax
cmp eax, 1
je 0x14004dcee
jmp 0x14004dddb
jmp 0x14004dd1b
cvtsi2sd xmm0, dword [rsp + 0x12c]
movsd xmm1, qword [rsp + 0x4a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x670], eax
jmp 0x14004dde6
xor eax, eax
test eax, eax
je 0x14004dd27
jmp 0x14004dd36
jmp 0x14004daf0
jmp 0x14004daf0
xor eax, eax
cmp eax, 2
je 0x14004dddb
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xc68], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xc68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc70], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xc6c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc6c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc70]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x670], eax
jmp 0x14004dde6
mov dword [rsp + 0x670], 8
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x248]
mov edx, dword [rsp + 0x670]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x248]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xc74], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xc74]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc78], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xc78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc7c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xc7c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004e1d2
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4b0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xc80], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xc80]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc88], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xc84], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc84]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc88]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004e0f9
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xc8c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xc8c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc90], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xc90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc94], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xc94]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004e0f9
mov dword [rsp + 0x130], 0
jmp 0x14004dfbb
cmp dword [rsp + 0x130], 0xf
jae 0x14004e0f4
cvtsi2sd xmm0, dword [rsp + 0x130]
movsd xmm1, qword [rsp + 0x4b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1a98], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1a98]
ucomisd xmm1, xmm0
jp 0x14004e036
jne 0x14004e036
mov eax, dword [rsp + 0x130]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4b0], xmm0
jmp 0x14004deb3
cvtsi2sd xmm0, dword [rsp + 0x130]
movsd xmm1, qword [rsp + 0x4b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1aa0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1aa0]
ucomisd xmm1, xmm0
jp 0x14004e09e
jne 0x14004e09e
mov eax, dword [rsp + 0x130]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4b0], xmm0
jmp 0x14004e0b5
xor eax, eax
cmp eax, 1
je 0x14004e0b1
jmp 0x14004e19e
jmp 0x14004e0de
cvtsi2sd xmm0, dword [rsp + 0x130]
movsd xmm1, qword [rsp + 0x4b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x66c], eax
jmp 0x14004e1a9
xor eax, eax
test eax, eax
je 0x14004e0ea
jmp 0x14004e0f9
jmp 0x14004deb3
jmp 0x14004deb3
xor eax, eax
cmp eax, 2
je 0x14004e19e
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xc98], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xc98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xca0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xc9c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xc9c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xca0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4b0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x66c], eax
jmp 0x14004e1a9
mov dword [rsp + 0x66c], 8
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x248]
mov edx, dword [rsp + 0x66c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x248]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x3c]
sub eax, 0x5e
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4b8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xca4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xca4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcac], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xca8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xca8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xcac]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004e44f
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xcb0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xcb0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcb4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xcb4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcb8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xcb8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004e44f
mov dword [rsp + 0x134], 0
jmp 0x14004e311
cmp dword [rsp + 0x134], 0xf
jae 0x14004e44a
cvtsi2sd xmm0, dword [rsp + 0x134]
movsd xmm1, qword [rsp + 0x4b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1aa8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1aa8]
ucomisd xmm1, xmm0
jp 0x14004e38c
jne 0x14004e38c
mov eax, dword [rsp + 0x134]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4b8], xmm0
jmp 0x14004e209
cvtsi2sd xmm0, dword [rsp + 0x134]
movsd xmm1, qword [rsp + 0x4b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ab0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ab0]
ucomisd xmm1, xmm0
jp 0x14004e3f4
jne 0x14004e3f4
mov eax, dword [rsp + 0x134]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4b8], xmm0
jmp 0x14004e40b
xor eax, eax
cmp eax, 1
je 0x14004e407
jmp 0x14004e4f4
jmp 0x14004e434
cvtsi2sd xmm0, dword [rsp + 0x134]
movsd xmm1, qword [rsp + 0x4b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x664], eax
jmp 0x14004e4ff
xor eax, eax
test eax, eax
je 0x14004e440
jmp 0x14004e44f
jmp 0x14004e209
jmp 0x14004e209
xor eax, eax
cmp eax, 2
je 0x14004e4f4
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xcbc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xcbc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcc4], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xcc0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xcc0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xcc4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4b8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x664], eax
jmp 0x14004e4ff
mov dword [rsp + 0x664], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x3c]
sub eax, 0x5e
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4c0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xcc8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xcc8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcd0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xccc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xccc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xcd0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004e77c
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xcd4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xcd4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcd8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xcd8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcdc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xcdc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004e77c
mov dword [rsp + 0x138], 0
jmp 0x14004e63e
cmp dword [rsp + 0x138], 0xf
jae 0x14004e777
cvtsi2sd xmm0, dword [rsp + 0x138]
movsd xmm1, qword [rsp + 0x4c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ab8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ab8]
ucomisd xmm1, xmm0
jp 0x14004e6b9
jne 0x14004e6b9
mov eax, dword [rsp + 0x138]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4c0], xmm0
jmp 0x14004e536
cvtsi2sd xmm0, dword [rsp + 0x138]
movsd xmm1, qword [rsp + 0x4c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ac0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ac0]
ucomisd xmm1, xmm0
jp 0x14004e721
jne 0x14004e721
mov eax, dword [rsp + 0x138]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4c0], xmm0
jmp 0x14004e738
xor eax, eax
cmp eax, 1
je 0x14004e734
jmp 0x14004e821
jmp 0x14004e761
cvtsi2sd xmm0, dword [rsp + 0x138]
movsd xmm1, qword [rsp + 0x4c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x660], eax
jmp 0x14004e82c
xor eax, eax
test eax, eax
je 0x14004e76d
jmp 0x14004e77c
jmp 0x14004e536
jmp 0x14004e536
xor eax, eax
cmp eax, 2
je 0x14004e821
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xce0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xce0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xce8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xce4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xce4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xce8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4c0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x660], eax
jmp 0x14004e82c
mov dword [rsp + 0x660], 8
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x248]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x664]
movsxd rcx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x248]
mov edi, dword [rsp + 0x660]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x248]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xcec], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xcec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcf0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xcf0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xcf4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xcf4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004ec33
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4c8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xcf8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xcf8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd00], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xcfc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xcfc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd00]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004eb5a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xd04], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xd04]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd08], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xd08]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd0c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xd0c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004eb5a
mov dword [rsp + 0x13c], 0
jmp 0x14004ea1c
cmp dword [rsp + 0x13c], 0xf
jae 0x14004eb55
cvtsi2sd xmm0, dword [rsp + 0x13c]
movsd xmm1, qword [rsp + 0x4c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ac8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ac8]
ucomisd xmm1, xmm0
jp 0x14004ea97
jne 0x14004ea97
mov eax, dword [rsp + 0x13c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4c8], xmm0
jmp 0x14004e914
cvtsi2sd xmm0, dword [rsp + 0x13c]
movsd xmm1, qword [rsp + 0x4c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ad0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ad0]
ucomisd xmm1, xmm0
jp 0x14004eaff
jne 0x14004eaff
mov eax, dword [rsp + 0x13c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4c8], xmm0
jmp 0x14004eb16
xor eax, eax
cmp eax, 1
je 0x14004eb12
jmp 0x14004ebff
jmp 0x14004eb3f
cvtsi2sd xmm0, dword [rsp + 0x13c]
movsd xmm1, qword [rsp + 0x4c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x65c], eax
jmp 0x14004ec0a
xor eax, eax
test eax, eax
je 0x14004eb4b
jmp 0x14004eb5a
jmp 0x14004e914
jmp 0x14004e914
xor eax, eax
cmp eax, 2
je 0x14004ebff
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xd10], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xd10]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd18], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xd14], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xd14]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd18]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4c8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x65c], eax
jmp 0x14004ec0a
mov dword [rsp + 0x65c], 8
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x248]
mov edx, dword [rsp + 0x65c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x248]
mov dword [rdx + rcx*4], eax
jmp 0x14004d5f2
mov rax, qword [rsp + 0x720]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x720]
mov eax, dword [rcx + rax]
mov dword [rsp + 0xe34], eax
mov eax, dword [rsp + 0xd1c]
mov dword [rsp + 0x6e0], eax
cmp dword [rsp + 0x6e0], 0
je 0x14005033f
lea rax, [rsp + 0x1ca]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1ca]
call fcn.14002a6c0
mov qword [rsp + 0x728], rax
mov rax, qword [rsp + 0x728]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140050318
mov rax, qword [rsp + 0x728]
mov qword [rsp + 0x240], rax
mov dword [rsp + 0x40], 0
jmp 0x14004ecdc
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x40]
cmp rax, 1
jae 0x140050318
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xd20], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xd20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd24], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xd24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd28], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xd28]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004f0ae
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5c0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4d0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xd2c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xd2c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd34], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xd30], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xd30]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd34]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004efd5
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xd38], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xd38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd3c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xd3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd40], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xd40]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004efd5
mov dword [rsp + 0x140], 0
jmp 0x14004ee97
cmp dword [rsp + 0x140], 0xf
jae 0x14004efd0
cvtsi2sd xmm0, dword [rsp + 0x140]
movsd xmm1, qword [rsp + 0x4d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ad8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ad8]
ucomisd xmm1, xmm0
jp 0x14004ef12
jne 0x14004ef12
mov eax, dword [rsp + 0x140]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4d0], xmm0
jmp 0x14004ed8f
cvtsi2sd xmm0, dword [rsp + 0x140]
movsd xmm1, qword [rsp + 0x4d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ae0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ae0]
ucomisd xmm1, xmm0
jp 0x14004ef7a
jne 0x14004ef7a
mov eax, dword [rsp + 0x140]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4d0], xmm0
jmp 0x14004ef91
xor eax, eax
cmp eax, 1
je 0x14004ef8d
jmp 0x14004f07a
jmp 0x14004efba
cvtsi2sd xmm0, dword [rsp + 0x140]
movsd xmm1, qword [rsp + 0x4d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x658], eax
jmp 0x14004f085
xor eax, eax
test eax, eax
je 0x14004efc6
jmp 0x14004efd5
jmp 0x14004ed8f
jmp 0x14004ed8f
xor eax, eax
cmp eax, 2
je 0x14004f07a
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xd44], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xd44]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd4c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xd48], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xd48]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd4c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4d0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x658], eax
jmp 0x14004f085
mov dword [rsp + 0x658], 8
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x240]
mov edx, dword [rsp + 0x658]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x240]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xd50], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xd50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd58], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0xd54], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xd54]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd58]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004ff50
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xd5c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xd5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd60], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xd60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd64], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xd64]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004f4ef
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4d8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xd68], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xd68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd70], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xd6c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xd6c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd70]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004f416
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xd74], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xd74]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd78], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xd78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd7c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xd7c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004f416
mov dword [rsp + 0x144], 0
jmp 0x14004f2d8
cmp dword [rsp + 0x144], 0xf
jae 0x14004f411
cvtsi2sd xmm0, dword [rsp + 0x144]
movsd xmm1, qword [rsp + 0x4d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ae8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ae8]
ucomisd xmm1, xmm0
jp 0x14004f353
jne 0x14004f353
mov eax, dword [rsp + 0x144]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4d8], xmm0
jmp 0x14004f1d0
cvtsi2sd xmm0, dword [rsp + 0x144]
movsd xmm1, qword [rsp + 0x4d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1af0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1af0]
ucomisd xmm1, xmm0
jp 0x14004f3bb
jne 0x14004f3bb
mov eax, dword [rsp + 0x144]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4d8], xmm0
jmp 0x14004f3d2
xor eax, eax
cmp eax, 1
je 0x14004f3ce
jmp 0x14004f4bb
jmp 0x14004f3fb
cvtsi2sd xmm0, dword [rsp + 0x144]
movsd xmm1, qword [rsp + 0x4d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x668], eax
jmp 0x14004f4c6
xor eax, eax
test eax, eax
je 0x14004f407
jmp 0x14004f416
jmp 0x14004f1d0
jmp 0x14004f1d0
xor eax, eax
cmp eax, 2
je 0x14004f4bb
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xd80], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xd80]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd88], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xd84], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xd84]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd88]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4d8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x668], eax
jmp 0x14004f4c6
mov dword [rsp + 0x668], 8
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x240]
mov edx, dword [rsp + 0x668]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x240]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xd8c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xd8c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd90], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xd90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd94], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xd94]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004f8b2
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5b0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4e0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xd98], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xd98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xda0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xd9c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xd9c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xda0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004f7d9
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xda4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xda4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xda8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xda8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdac], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xdac]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004f7d9
mov dword [rsp + 0x148], 0
jmp 0x14004f69b
cmp dword [rsp + 0x148], 0xf
jae 0x14004f7d4
cvtsi2sd xmm0, dword [rsp + 0x148]
movsd xmm1, qword [rsp + 0x4e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1af8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1af8]
ucomisd xmm1, xmm0
jp 0x14004f716
jne 0x14004f716
mov eax, dword [rsp + 0x148]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4e0], xmm0
jmp 0x14004f593
cvtsi2sd xmm0, dword [rsp + 0x148]
movsd xmm1, qword [rsp + 0x4e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b00], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b00]
ucomisd xmm1, xmm0
jp 0x14004f77e
jne 0x14004f77e
mov eax, dword [rsp + 0x148]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4e0], xmm0
jmp 0x14004f795
xor eax, eax
cmp eax, 1
je 0x14004f791
jmp 0x14004f87e
jmp 0x14004f7be
cvtsi2sd xmm0, dword [rsp + 0x148]
movsd xmm1, qword [rsp + 0x4e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x698], eax
jmp 0x14004f889
xor eax, eax
test eax, eax
je 0x14004f7ca
jmp 0x14004f7d9
jmp 0x14004f593
jmp 0x14004f593
xor eax, eax
cmp eax, 2
je 0x14004f87e
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xdb0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xdb0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdb8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xdb4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xdb4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xdb8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4e0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x698], eax
jmp 0x14004f889
mov dword [rsp + 0x698], 8
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x240]
mov edx, dword [rsp + 0x698]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x240]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x40]
sub eax, 0x5e
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4e8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xdbc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xdbc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdc4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xdc0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xdc0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xdc4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004fb2f
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xdc8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xdc8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdcc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xdcc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdd0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xdd0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004fb2f
mov dword [rsp + 0x14c], 0
jmp 0x14004f9f1
cmp dword [rsp + 0x14c], 0xf
jae 0x14004fb2a
cvtsi2sd xmm0, dword [rsp + 0x14c]
movsd xmm1, qword [rsp + 0x4e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b08], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b08]
ucomisd xmm1, xmm0
jp 0x14004fa6c
jne 0x14004fa6c
mov eax, dword [rsp + 0x14c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4e8], xmm0
jmp 0x14004f8e9
cvtsi2sd xmm0, dword [rsp + 0x14c]
movsd xmm1, qword [rsp + 0x4e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b10], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b10]
ucomisd xmm1, xmm0
jp 0x14004fad4
jne 0x14004fad4
mov eax, dword [rsp + 0x14c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4e8], xmm0
jmp 0x14004faeb
xor eax, eax
cmp eax, 1
je 0x14004fae7
jmp 0x14004fbd4
jmp 0x14004fb14
cvtsi2sd xmm0, dword [rsp + 0x14c]
movsd xmm1, qword [rsp + 0x4e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x69c], eax
jmp 0x14004fbdf
xor eax, eax
test eax, eax
je 0x14004fb20
jmp 0x14004fb2f
jmp 0x14004f8e9
jmp 0x14004f8e9
xor eax, eax
cmp eax, 2
je 0x14004fbd4
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xdd4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xdd4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xddc], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xdd8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xdd8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xddc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4e8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x69c], eax
jmp 0x14004fbdf
mov dword [rsp + 0x69c], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x40]
sub eax, 0x5e
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4f0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xde0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xde0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xde8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xde4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xde4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xde8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14004fe5c
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xdec], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xdec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdf0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xdf0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdf4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xdf4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14004fe5c
mov dword [rsp + 0x150], 0
jmp 0x14004fd1e
cmp dword [rsp + 0x150], 0xf
jae 0x14004fe57
cvtsi2sd xmm0, dword [rsp + 0x150]
movsd xmm1, qword [rsp + 0x4f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b18], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b18]
ucomisd xmm1, xmm0
jp 0x14004fd99
jne 0x14004fd99
mov eax, dword [rsp + 0x150]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4f0], xmm0
jmp 0x14004fc16
cvtsi2sd xmm0, dword [rsp + 0x150]
movsd xmm1, qword [rsp + 0x4f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b20], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b20]
ucomisd xmm1, xmm0
jp 0x14004fe01
jne 0x14004fe01
mov eax, dword [rsp + 0x150]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4f0], xmm0
jmp 0x14004fe18
xor eax, eax
cmp eax, 1
je 0x14004fe14
jmp 0x14004ff01
jmp 0x14004fe41
cvtsi2sd xmm0, dword [rsp + 0x150]
movsd xmm1, qword [rsp + 0x4f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6a0], eax
jmp 0x14004ff0c
xor eax, eax
test eax, eax
je 0x14004fe4d
jmp 0x14004fe5c
jmp 0x14004fc16
jmp 0x14004fc16
xor eax, eax
cmp eax, 2
je 0x14004ff01
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xdf8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xdf8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe00], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xdfc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xdfc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xe00]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4f0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6a0], eax
jmp 0x14004ff0c
mov dword [rsp + 0x6a0], 8
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x240]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x69c]
movsxd rcx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x240]
mov edi, dword [rsp + 0x6a0]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x240]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xe04], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xe04]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe08], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xe08]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe0c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xe0c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140050313
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4f8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xe10], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xe10]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe18], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xe14], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xe14]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xe18]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005023a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xe1c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xe1c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe20], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xe20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe24], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xe24]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005023a
mov dword [rsp + 0x154], 0
jmp 0x1400500fc
cmp dword [rsp + 0x154], 0xf
jae 0x140050235
cvtsi2sd xmm0, dword [rsp + 0x154]
movsd xmm1, qword [rsp + 0x4f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b28], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b28]
ucomisd xmm1, xmm0
jp 0x140050177
jne 0x140050177
mov eax, dword [rsp + 0x154]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4f8], xmm0
jmp 0x14004fff4
cvtsi2sd xmm0, dword [rsp + 0x154]
movsd xmm1, qword [rsp + 0x4f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b30], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b30]
ucomisd xmm1, xmm0
jp 0x1400501df
jne 0x1400501df
mov eax, dword [rsp + 0x154]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x4f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x4f8], xmm0
jmp 0x1400501f6
xor eax, eax
cmp eax, 1
je 0x1400501f2
jmp 0x1400502df
jmp 0x14005021f
cvtsi2sd xmm0, dword [rsp + 0x154]
movsd xmm1, qword [rsp + 0x4f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6a4], eax
jmp 0x1400502ea
xor eax, eax
test eax, eax
je 0x14005022b
jmp 0x14005023a
jmp 0x14004fff4
jmp 0x14004fff4
xor eax, eax
cmp eax, 2
je 0x1400502df
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xe28], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xe28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe30], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xe2c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xe2c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xe30]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x4f8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6a4], eax
jmp 0x1400502ea
mov dword [rsp + 0x6a4], 8
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x240]
mov edx, dword [rsp + 0x6a4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x240]
mov dword [rdx + rcx*4], eax
jmp 0x14004ecd2
mov rax, qword [rsp + 0x728]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x728]
mov eax, dword [rcx + rax]
mov dword [rsp + 0xe34], eax
mov dword [rsp + 0x6a8], 1
jmp 0x14005035c
mov eax, dword [rsp + 0x6a8]
inc eax
mov dword [rsp + 0x6a8], eax
cmp dword [rsp + 0x6a8], 0x2cc5
jae 0x140050400
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1b38], rax
mov rax, qword [rsp + 0x1b38]
mov qword [rsp + 0x17d0], rax
mov dword [rsp + 0x1e0], 0
jmp 0x1400503ac
mov eax, dword [rsp + 0x1e0]
inc eax
mov dword [rsp + 0x1e0], eax
cmp dword [rsp + 0x1e0], 0x32c5
jae 0x1400503de
cmp dword [rsp + 0x1e0], 0x38
jne 0x1400503c5
jmp 0x1400503de
movsxd rax, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x17d0]
mov dword [rcx + rax*4], 0x254e
jmp 0x14005039c
mov rax, qword [rsp + 0x17d0]
mov qword [rsp + 0x1b40], rax
mov rcx, qword [rsp + 0x1b40]
call fcn.14005bfdc
jmp 0x14005034c
mov dword [rsp + 0x6ac], 6
jmp 0x14005041d
mov eax, dword [rsp + 0x6ac]
inc eax
mov dword [rsp + 0x6ac], eax
cmp dword [rsp + 0x6ac], 0x2c88
jae 0x1400504c1
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1b48], rax
mov rax, qword [rsp + 0x1b48]
mov qword [rsp + 0x17d8], rax
mov dword [rsp + 0x1e4], 0
jmp 0x14005046d
mov eax, dword [rsp + 0x1e4]
inc eax
mov dword [rsp + 0x1e4], eax
cmp dword [rsp + 0x1e4], 0x3054
jae 0x14005049f
cmp dword [rsp + 0x1e4], 0x30
jne 0x140050486
jmp 0x14005049f
movsxd rax, dword [rsp + 0x1e4]
mov rcx, qword [rsp + 0x17d8]
mov dword [rcx + rax*4], 0x24e1
jmp 0x14005045d
mov rax, qword [rsp + 0x17d8]
mov qword [rsp + 0x1b50], rax
mov rcx, qword [rsp + 0x1b50]
call fcn.14005bfdc
jmp 0x14005040d
lea rax, [rsp + 0x1cb]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1cb]
call fcn.140029290
mov qword [rsp + 0x730], rax
mov rax, qword [rsp + 0x730]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140051b5e
mov rax, qword [rsp + 0x730]
mov qword [rsp + 0x238], rax
mov dword [rsp + 0x44], 0
jmp 0x140050522
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x44]
cmp rax, 1
jae 0x140051b5e
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xe38], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xe38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe3c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xe3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe40], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xe40]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400508f4
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd5a0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x500], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xe44], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xe44]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe4c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xe48], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xe48]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xe4c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005081b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xe50], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xe50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe54], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xe54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe58], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xe58]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005081b
mov dword [rsp + 0x158], 0
jmp 0x1400506dd
cmp dword [rsp + 0x158], 0xf
jae 0x140050816
cvtsi2sd xmm0, dword [rsp + 0x158]
movsd xmm1, qword [rsp + 0x500]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b58], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b58]
ucomisd xmm1, xmm0
jp 0x140050758
jne 0x140050758
mov eax, dword [rsp + 0x158]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x500]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x500], xmm0
jmp 0x1400505d5
cvtsi2sd xmm0, dword [rsp + 0x158]
movsd xmm1, qword [rsp + 0x500]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b60], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b60]
ucomisd xmm1, xmm0
jp 0x1400507c0
jne 0x1400507c0
mov eax, dword [rsp + 0x158]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x500]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x500], xmm0
jmp 0x1400507d7
xor eax, eax
cmp eax, 1
je 0x1400507d3
jmp 0x1400508c0
jmp 0x140050800
cvtsi2sd xmm0, dword [rsp + 0x158]
movsd xmm1, qword [rsp + 0x500]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6b0], eax
jmp 0x1400508cb
xor eax, eax
test eax, eax
je 0x14005080c
jmp 0x14005081b
jmp 0x1400505d5
jmp 0x1400505d5
xor eax, eax
cmp eax, 2
je 0x1400508c0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xe5c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xe5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe64], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xe60], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xe60]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xe64]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x500]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6b0], eax
jmp 0x1400508cb
mov dword [rsp + 0x6b0], 8
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x6b0]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xe68], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xe68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe70], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0xe6c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xe6c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xe70]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140051796
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xe74], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xe74]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe78], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xe78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe7c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xe7c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140050d35
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd598]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x508], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xe80], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xe80]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe88], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xe84], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xe84]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xe88]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140050c5c
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xe8c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xe8c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe90], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xe90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xe94], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xe94]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140050c5c
mov dword [rsp + 0x15c], 0
jmp 0x140050b1e
cmp dword [rsp + 0x15c], 0xf
jae 0x140050c57
cvtsi2sd xmm0, dword [rsp + 0x15c]
movsd xmm1, qword [rsp + 0x508]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b68], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b68]
ucomisd xmm1, xmm0
jp 0x140050b99
jne 0x140050b99
mov eax, dword [rsp + 0x15c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x508]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x508], xmm0
jmp 0x140050a16
cvtsi2sd xmm0, dword [rsp + 0x15c]
movsd xmm1, qword [rsp + 0x508]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b70], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b70]
ucomisd xmm1, xmm0
jp 0x140050c01
jne 0x140050c01
mov eax, dword [rsp + 0x15c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x508]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x508], xmm0
jmp 0x140050c18
xor eax, eax
cmp eax, 1
je 0x140050c14
jmp 0x140050d01
jmp 0x140050c41
cvtsi2sd xmm0, dword [rsp + 0x15c]
movsd xmm1, qword [rsp + 0x508]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6b4], eax
jmp 0x140050d0c
xor eax, eax
test eax, eax
je 0x140050c4d
jmp 0x140050c5c
jmp 0x140050a16
jmp 0x140050a16
xor eax, eax
cmp eax, 2
je 0x140050d01
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xe98], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xe98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xea0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xe9c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xe9c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xea0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x508]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6b4], eax
jmp 0x140050d0c
mov dword [rsp + 0x6b4], 8
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x6b4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xea4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xea4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xea8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xea8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xeac], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xeac]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400510f8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd590]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x510], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xeb0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xeb0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xeb8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xeb4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xeb4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xeb8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005101f
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xebc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xebc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xec0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xec0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xec4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xec4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005101f
mov dword [rsp + 0x160], 0
jmp 0x140050ee1
cmp dword [rsp + 0x160], 0xf
jae 0x14005101a
cvtsi2sd xmm0, dword [rsp + 0x160]
movsd xmm1, qword [rsp + 0x510]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b78], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b78]
ucomisd xmm1, xmm0
jp 0x140050f5c
jne 0x140050f5c
mov eax, dword [rsp + 0x160]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x510]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x510], xmm0
jmp 0x140050dd9
cvtsi2sd xmm0, dword [rsp + 0x160]
movsd xmm1, qword [rsp + 0x510]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b80], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b80]
ucomisd xmm1, xmm0
jp 0x140050fc4
jne 0x140050fc4
mov eax, dword [rsp + 0x160]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x510]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x510], xmm0
jmp 0x140050fdb
xor eax, eax
cmp eax, 1
je 0x140050fd7
jmp 0x1400510c4
jmp 0x140051004
cvtsi2sd xmm0, dword [rsp + 0x160]
movsd xmm1, qword [rsp + 0x510]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6b8], eax
jmp 0x1400510cf
xor eax, eax
test eax, eax
je 0x140051010
jmp 0x14005101f
jmp 0x140050dd9
jmp 0x140050dd9
xor eax, eax
cmp eax, 2
je 0x1400510c4
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xec8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xec8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xed0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xecc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xecc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xed0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x510]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6b8], eax
jmp 0x1400510cf
mov dword [rsp + 0x6b8], 8
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x6b8]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x44]
sub eax, 0x59
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x518], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xed4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xed4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xedc], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xed8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xed8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xedc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140051375
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xee0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xee0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xee4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xee4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xee8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xee8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140051375
mov dword [rsp + 0x164], 0
jmp 0x140051237
cmp dword [rsp + 0x164], 0xf
jae 0x140051370
cvtsi2sd xmm0, dword [rsp + 0x164]
movsd xmm1, qword [rsp + 0x518]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b88], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b88]
ucomisd xmm1, xmm0
jp 0x1400512b2
jne 0x1400512b2
mov eax, dword [rsp + 0x164]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x518]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x518], xmm0
jmp 0x14005112f
cvtsi2sd xmm0, dword [rsp + 0x164]
movsd xmm1, qword [rsp + 0x518]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b90], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b90]
ucomisd xmm1, xmm0
jp 0x14005131a
jne 0x14005131a
mov eax, dword [rsp + 0x164]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x518]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x518], xmm0
jmp 0x140051331
xor eax, eax
cmp eax, 1
je 0x14005132d
jmp 0x14005141a
jmp 0x14005135a
cvtsi2sd xmm0, dword [rsp + 0x164]
movsd xmm1, qword [rsp + 0x518]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6bc], eax
jmp 0x140051425
xor eax, eax
test eax, eax
je 0x140051366
jmp 0x140051375
jmp 0x14005112f
jmp 0x14005112f
xor eax, eax
cmp eax, 2
je 0x14005141a
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xeec], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xeec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xef4], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xef0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xef0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xef4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x518]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6bc], eax
jmp 0x140051425
mov dword [rsp + 0x6bc], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x44]
sub eax, 0x59
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x520], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xef8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xef8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf00], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xefc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xefc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf00]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400516a2
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xf04], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xf04]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf08], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xf08]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf0c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xf0c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400516a2
mov dword [rsp + 0x168], 0
jmp 0x140051564
cmp dword [rsp + 0x168], 0xf
jae 0x14005169d
cvtsi2sd xmm0, dword [rsp + 0x168]
movsd xmm1, qword [rsp + 0x520]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1b98], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1b98]
ucomisd xmm1, xmm0
jp 0x1400515df
jne 0x1400515df
mov eax, dword [rsp + 0x168]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x520]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x520], xmm0
jmp 0x14005145c
cvtsi2sd xmm0, dword [rsp + 0x168]
movsd xmm1, qword [rsp + 0x520]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ba0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ba0]
ucomisd xmm1, xmm0
jp 0x140051647
jne 0x140051647
mov eax, dword [rsp + 0x168]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x520]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x520], xmm0
jmp 0x14005165e
xor eax, eax
cmp eax, 1
je 0x14005165a
jmp 0x140051747
jmp 0x140051687
cvtsi2sd xmm0, dword [rsp + 0x168]
movsd xmm1, qword [rsp + 0x520]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c0], eax
jmp 0x140051752
xor eax, eax
test eax, eax
je 0x140051693
jmp 0x1400516a2
jmp 0x14005145c
jmp 0x14005145c
xor eax, eax
cmp eax, 2
je 0x140051747
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xf10], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xf10]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf18], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xf14], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xf14]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf18]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x520]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c0], eax
jmp 0x140051752
mov dword [rsp + 0x6c0], 8
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x238]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x6bc]
movsxd rcx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x238]
mov edi, dword [rsp + 0x6c0]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xf1c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xf1c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf20], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xf20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf24], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xf24]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140051b59
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd588]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x528], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xf28], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xf28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf30], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xf2c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xf2c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf30]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140051a80
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xf34], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xf34]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf38], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xf38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf3c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xf3c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140051a80
mov dword [rsp + 0x16c], 0
jmp 0x140051942
cmp dword [rsp + 0x16c], 0xf
jae 0x140051a7b
cvtsi2sd xmm0, dword [rsp + 0x16c]
movsd xmm1, qword [rsp + 0x528]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ba8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ba8]
ucomisd xmm1, xmm0
jp 0x1400519bd
jne 0x1400519bd
mov eax, dword [rsp + 0x16c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x528]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x528], xmm0
jmp 0x14005183a
cvtsi2sd xmm0, dword [rsp + 0x16c]
movsd xmm1, qword [rsp + 0x528]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bb0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bb0]
ucomisd xmm1, xmm0
jp 0x140051a25
jne 0x140051a25
mov eax, dword [rsp + 0x16c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x528]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x528], xmm0
jmp 0x140051a3c
xor eax, eax
cmp eax, 1
je 0x140051a38
jmp 0x140051b25
jmp 0x140051a65
cvtsi2sd xmm0, dword [rsp + 0x16c]
movsd xmm1, qword [rsp + 0x528]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c4], eax
jmp 0x140051b30
xor eax, eax
test eax, eax
je 0x140051a71
jmp 0x140051a80
jmp 0x14005183a
jmp 0x14005183a
xor eax, eax
cmp eax, 2
je 0x140051b25
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xf40], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xf40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf48], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xf44], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xf44]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf48]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x528]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c4], eax
jmp 0x140051b30
mov dword [rsp + 0x6c4], 8
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x6c4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
jmp 0x140050518
mov rax, qword [rsp + 0x730]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x730]
mov eax, dword [rcx + rax]
mov dword [rsp + 0xf4c], eax
mov eax, dword [rsp + 0xf4c]
lea rcx, [0x14020e7b0]
call qword [rcx + rax*8]
mov qword [rsp + 0x1c18], rax
lea rax, [rsp + 0x1cc]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1cc]
call fcn.140029ae0
mov qword [rsp + 0x738], rax
mov rax, qword [rsp + 0x738]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14005323b
mov rax, qword [rsp + 0x738]
mov qword [rsp + 0x230], rax
mov dword [rsp + 0x48], 0
jmp 0x140051bff
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x48]
cmp rax, 1
jae 0x14005323b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xf50], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xf50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf54], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xf54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf58], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xf58]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140051fd1
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd598]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x530], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xf5c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xf5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf64], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xf60], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xf60]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf64]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140051ef8
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xf68], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xf68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf6c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xf6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf70], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xf70]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140051ef8
mov dword [rsp + 0x170], 0
jmp 0x140051dba
cmp dword [rsp + 0x170], 0xf
jae 0x140051ef3
cvtsi2sd xmm0, dword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x530]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bb8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bb8]
ucomisd xmm1, xmm0
jp 0x140051e35
jne 0x140051e35
mov eax, dword [rsp + 0x170]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x530]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x530], xmm0
jmp 0x140051cb2
cvtsi2sd xmm0, dword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x530]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bc0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bc0]
ucomisd xmm1, xmm0
jp 0x140051e9d
jne 0x140051e9d
mov eax, dword [rsp + 0x170]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x530]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x530], xmm0
jmp 0x140051eb4
xor eax, eax
cmp eax, 1
je 0x140051eb0
jmp 0x140051f9d
jmp 0x140051edd
cvtsi2sd xmm0, dword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x530]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c8], eax
jmp 0x140051fa8
xor eax, eax
test eax, eax
je 0x140051ee9
jmp 0x140051ef8
jmp 0x140051cb2
jmp 0x140051cb2
xor eax, eax
cmp eax, 2
je 0x140051f9d
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xf74], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xf74]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf7c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xf78], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xf78]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf7c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x530]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c8], eax
jmp 0x140051fa8
mov dword [rsp + 0x6c8], 8
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x230]
mov edx, dword [rsp + 0x6c8]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x230]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xf80], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xf80]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf88], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0xf84], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xf84]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf88]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140052e73
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xf8c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xf8c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf90], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xf90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xf94], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xf94]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140052412
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd590]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x538], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xf98], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xf98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfa0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xf9c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xf9c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xfa0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140052339
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xfa4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xfa4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfa8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xfa8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfac], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xfac]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140052339
mov dword [rsp + 0x174], 0
jmp 0x1400521fb
cmp dword [rsp + 0x174], 0xf
jae 0x140052334
cvtsi2sd xmm0, dword [rsp + 0x174]
movsd xmm1, qword [rsp + 0x538]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bc8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bc8]
ucomisd xmm1, xmm0
jp 0x140052276
jne 0x140052276
mov eax, dword [rsp + 0x174]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x538]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x538], xmm0
jmp 0x1400520f3
cvtsi2sd xmm0, dword [rsp + 0x174]
movsd xmm1, qword [rsp + 0x538]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bd0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bd0]
ucomisd xmm1, xmm0
jp 0x1400522de
jne 0x1400522de
mov eax, dword [rsp + 0x174]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x538]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x538], xmm0
jmp 0x1400522f5
xor eax, eax
cmp eax, 1
je 0x1400522f1
jmp 0x1400523de
jmp 0x14005231e
cvtsi2sd xmm0, dword [rsp + 0x174]
movsd xmm1, qword [rsp + 0x538]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6cc], eax
jmp 0x1400523e9
xor eax, eax
test eax, eax
je 0x14005232a
jmp 0x140052339
jmp 0x1400520f3
jmp 0x1400520f3
xor eax, eax
cmp eax, 2
je 0x1400523de
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xfb0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xfb0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfb8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xfb4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xfb4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xfb8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x538]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6cc], eax
jmp 0x1400523e9
mov dword [rsp + 0x6cc], 8
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x230]
mov edx, dword [rsp + 0x6cc]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x230]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xfbc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xfbc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfc0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xfc0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfc4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xfc4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400527d5
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd588]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x540], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xfc8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xfc8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfd0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xfcc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xfcc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xfd0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400526fc
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xfd4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xfd4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfd8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xfd8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfdc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0xfdc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400526fc
mov dword [rsp + 0x178], 0
jmp 0x1400525be
cmp dword [rsp + 0x178], 0xf
jae 0x1400526f7
cvtsi2sd xmm0, dword [rsp + 0x178]
movsd xmm1, qword [rsp + 0x540]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bd8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bd8]
ucomisd xmm1, xmm0
jp 0x140052639
jne 0x140052639
mov eax, dword [rsp + 0x178]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x540]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x540], xmm0
jmp 0x1400524b6
cvtsi2sd xmm0, dword [rsp + 0x178]
movsd xmm1, qword [rsp + 0x540]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1be0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1be0]
ucomisd xmm1, xmm0
jp 0x1400526a1
jne 0x1400526a1
mov eax, dword [rsp + 0x178]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x540]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x540], xmm0
jmp 0x1400526b8
xor eax, eax
cmp eax, 1
je 0x1400526b4
jmp 0x1400527a1
jmp 0x1400526e1
cvtsi2sd xmm0, dword [rsp + 0x178]
movsd xmm1, qword [rsp + 0x540]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6d0], eax
jmp 0x1400527ac
xor eax, eax
test eax, eax
je 0x1400526ed
jmp 0x1400526fc
jmp 0x1400524b6
jmp 0x1400524b6
xor eax, eax
cmp eax, 2
je 0x1400527a1
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xfe0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xfe0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xfe8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0xfe4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xfe4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xfe8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x540]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6d0], eax
jmp 0x1400527ac
mov dword [rsp + 0x6d0], 8
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x230]
mov edx, dword [rsp + 0x6d0]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x230]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x48]
sub eax, 0x58
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x548], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0xfec], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0xfec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xff4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0xff0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0xff0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xff4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140052a52
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0xff8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0xff8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xffc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0xffc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1000], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1000]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140052a52
mov dword [rsp + 0x17c], 0
jmp 0x140052914
cmp dword [rsp + 0x17c], 0xf
jae 0x140052a4d
cvtsi2sd xmm0, dword [rsp + 0x17c]
movsd xmm1, qword [rsp + 0x548]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1be8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1be8]
ucomisd xmm1, xmm0
jp 0x14005298f
jne 0x14005298f
mov eax, dword [rsp + 0x17c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x548]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x548], xmm0
jmp 0x14005280c
cvtsi2sd xmm0, dword [rsp + 0x17c]
movsd xmm1, qword [rsp + 0x548]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bf0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bf0]
ucomisd xmm1, xmm0
jp 0x1400529f7
jne 0x1400529f7
mov eax, dword [rsp + 0x17c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x548]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x548], xmm0
jmp 0x140052a0e
xor eax, eax
cmp eax, 1
je 0x140052a0a
jmp 0x140052af7
jmp 0x140052a37
cvtsi2sd xmm0, dword [rsp + 0x17c]
movsd xmm1, qword [rsp + 0x548]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6d4], eax
jmp 0x140052b02
xor eax, eax
test eax, eax
je 0x140052a43
jmp 0x140052a52
jmp 0x14005280c
jmp 0x14005280c
xor eax, eax
cmp eax, 2
je 0x140052af7
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1004], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1004]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x100c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1008], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1008]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x100c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x548]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6d4], eax
jmp 0x140052b02
mov dword [rsp + 0x6d4], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x48]
sub eax, 0x58
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x280], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1010], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1010]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1018], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1014], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1014]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1018]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140052d7f
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x101c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x101c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1020], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1020]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1024], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1024]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140052d7f
mov dword [rsp + 0xd0], 0
jmp 0x140052c41
cmp dword [rsp + 0xd0], 0xf
jae 0x140052d7a
cvtsi2sd xmm0, dword [rsp + 0xd0]
movsd xmm1, qword [rsp + 0x280]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1bf8], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1bf8]
ucomisd xmm1, xmm0
jp 0x140052cbc
jne 0x140052cbc
mov eax, dword [rsp + 0xd0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x280]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x280], xmm0
jmp 0x140052b39
cvtsi2sd xmm0, dword [rsp + 0xd0]
movsd xmm1, qword [rsp + 0x280]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c00], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c00]
ucomisd xmm1, xmm0
jp 0x140052d24
jne 0x140052d24
mov eax, dword [rsp + 0xd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x280]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x280], xmm0
jmp 0x140052d3b
xor eax, eax
cmp eax, 1
je 0x140052d37
jmp 0x140052e24
jmp 0x140052d64
cvtsi2sd xmm0, dword [rsp + 0xd0]
movsd xmm1, qword [rsp + 0x280]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6d8], eax
jmp 0x140052e2f
xor eax, eax
test eax, eax
je 0x140052d70
jmp 0x140052d7f
jmp 0x140052b39
jmp 0x140052b39
xor eax, eax
cmp eax, 2
je 0x140052e24
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1028], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1028]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1030], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x102c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x102c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1030]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x280]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6d8], eax
jmp 0x140052e2f
mov dword [rsp + 0x6d8], 8
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x230]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x6d4]
movsxd rcx, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x230]
mov edi, dword [rsp + 0x6d8]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x230]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1034], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1034]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1038], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1038]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x103c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x103c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140053236
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd580]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x288], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1040], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1040]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1048], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1044], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1044]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1048]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005315d
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x104c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x104c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1050], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1050]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1054], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1054]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005315d
mov dword [rsp + 0x180], 0
jmp 0x14005301f
cmp dword [rsp + 0x180], 0xf
jae 0x140053158
cvtsi2sd xmm0, dword [rsp + 0x180]
movsd xmm1, qword [rsp + 0x288]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c08], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c08]
ucomisd xmm1, xmm0
jp 0x14005309a
jne 0x14005309a
mov eax, dword [rsp + 0x180]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x288]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x288], xmm0
jmp 0x140052f17
cvtsi2sd xmm0, dword [rsp + 0x180]
movsd xmm1, qword [rsp + 0x288]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c10], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c10]
ucomisd xmm1, xmm0
jp 0x140053102
jne 0x140053102
mov eax, dword [rsp + 0x180]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x288]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x288], xmm0
jmp 0x140053119
xor eax, eax
cmp eax, 1
je 0x140053115
jmp 0x140053202
jmp 0x140053142
cvtsi2sd xmm0, dword [rsp + 0x180]
movsd xmm1, qword [rsp + 0x288]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6dc], eax
jmp 0x14005320d
xor eax, eax
test eax, eax
je 0x14005314e
jmp 0x14005315d
jmp 0x140052f17
jmp 0x140052f17
xor eax, eax
cmp eax, 2
je 0x140053202
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1058], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1058]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1060], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x105c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x105c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1060]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x288]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x6dc], eax
jmp 0x14005320d
mov dword [rsp + 0x6dc], 8
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x230]
mov edx, dword [rsp + 0x6dc]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x230]
mov dword [rdx + rcx*4], eax
jmp 0x140051bf5
mov rax, qword [rsp + 0x738]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x738]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x1064], eax
mov eax, dword [rsp + 0x1064]
lea rcx, [0x14020e800]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1c20], rax
mov rcx, qword [rsp + 0x1c18]
call qword [rsp + 0x1c20]
mov dword [rsp + 0x5cc], 6
jmp 0x1400532a8
mov eax, dword [rsp + 0x5cc]
inc eax
mov dword [rsp + 0x5cc], eax
cmp dword [rsp + 0x5cc], 0x2cc2
jae 0x14005334c
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1c28], rax
mov rax, qword [rsp + 0x1c28]
mov qword [rsp + 0x17e0], rax
mov dword [rsp + 0x1e8], 0
jmp 0x1400532f8
mov eax, dword [rsp + 0x1e8]
inc eax
mov dword [rsp + 0x1e8], eax
cmp dword [rsp + 0x1e8], 0x3202
jae 0x14005332a
cmp dword [rsp + 0x1e8], 0xd
jne 0x140053311
jmp 0x14005332a
movsxd rax, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x17e0]
mov dword [rcx + rax*4], 0x2519
jmp 0x1400532e8
mov rax, qword [rsp + 0x17e0]
mov qword [rsp + 0x1c30], rax
mov rcx, qword [rsp + 0x1c30]
call fcn.14005bfdc
jmp 0x140053298
mov dword [rsp + 0x5d0], 0
jmp 0x140053369
mov eax, dword [rsp + 0x5d0]
inc eax
mov dword [rsp + 0x5d0], eax
cmp dword [rsp + 0x5d0], 0x2e16
jae 0x14005340d
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1c38], rax
mov rax, qword [rsp + 0x1c38]
mov qword [rsp + 0x17e8], rax
mov dword [rsp + 0x1ec], 0
jmp 0x1400533b9
mov eax, dword [rsp + 0x1ec]
inc eax
mov dword [rsp + 0x1ec], eax
cmp dword [rsp + 0x1ec], 0x2f91
jae 0x1400533eb
cmp dword [rsp + 0x1ec], 5
jne 0x1400533d2
jmp 0x1400533eb
movsxd rax, dword [rsp + 0x1ec]
mov rcx, qword [rsp + 0x17e8]
mov dword [rcx + rax*4], 0x10a1
jmp 0x1400533a9
mov rax, qword [rsp + 0x17e8]
mov qword [rsp + 0x1c40], rax
mov rcx, qword [rsp + 0x1c40]
call fcn.14005bfdc
jmp 0x140053359
lea rax, str._1_1_1__1_0___0100__1_0_1100_1_01_1010_011111___101101_111_11__10_1001_0100
mov qword [rsp + 0x1e60], rax
lea rax, str.10__0000_100_0_0101001101__1___1_1_10011__1__01110001110_0_01__01_101011011
mov qword [rsp + 0x1e68], rax
lea rax, str.000_00__1111__010__1110000_11100101110_1011_000_1000_1_10011_000__11101111
mov qword [rsp + 0x1e70], rax
lea rax, str.011___10___001_00__1_11_0_01__0_1011_001_101__111___11010_010_1101_0_01__00
mov qword [rsp + 0x1e78], rax
lea rax, str._100_1___10_11_11010110011__110_110010_0100_110_1_0_1__0001101__010010_0011
mov qword [rsp + 0x1e80], rax
lea rax, str.100_11_111_0110_11__0_10_11___0_0011_00__10101__1__1110_01_1__00__0_10__000
mov qword [rsp + 0x1e88], rax
lea rax, str.000____0___011101_0_1010_0_101011110010001100_011___01__11___11_0_001___0_1
mov qword [rsp + 0x1e90], rax
lea rax, str.11_1100___00011__0_0000100000001_0_1110___0_001_1_0_00_1_00100100_10__01_00
mov qword [rsp + 0x1e98], rax
lea rax, str.111_100_0100010_0110_01__1_10_001011_11_0101111__11___00_101100111__001__0
mov qword [rsp + 0x1ea0], rax
lea rax, str.1_00__011111_1011_0001_11__110_000_1_0_11_01000___001_0000_01111__0_010110
mov qword [rsp + 0x1ea8], rax
lea rax, str.010_1111100_1_010__00__00_01000_100001110_1_01_11_101_00010000__10111_0001
mov qword [rsp + 0x1eb0], rax
lea rax, str._1__0001_0__10__0__11010101111__11_100_10__111011_010___10010__0_000_00_01
mov qword [rsp + 0x1eb8], rax
lea rax, str.111_110010101101_01__111000001_111___000__01____1__1_10110___0001_11101_101
mov qword [rsp + 0x1ec0], rax
lea rax, str._11011__100___00_0011011100_11__11_101__0__10___10_11___101_00_0001__11_011
mov qword [rsp + 0x1ec8], rax
lea rax, str._1_0__1__10_0____001__1111011___1_1_010_01_011_11__11111_0010_011_01___00_0
mov qword [rsp + 0x1ed0], rax
lea rax, str.00__1110__00_0_11_00000_0_1_1_0_1_0____001_1101__111_01____1___001_01111110
mov qword [rsp + 0x1ed8], rax
lea rax, str.__0010100001_10_1110_11110_00_1_1_0__1_1_10110_11_10__001001110_11_00_1__10
mov qword [rsp + 0x1ee0], rax
lea rax, str.1_0000__01_1111__10_0011__1_00_1001_0_101_01_0_1101_10_00_1_011_10__11__10
mov qword [rsp + 0x1ee8], rax
lea rax, str._1011___0011__01_1_00000___0_0__100010010001_0__01_0_01_0______000111111_1
mov qword [rsp + 0x1ef0], rax
lea rax, str.10_1__001_0_00_010_101100_0100__0011_00_0_1100_0__1_11011011_100___1__0_1
mov qword [rsp + 0x1ef8], rax
lea rax, str.0_00_1_1____1101__0__10____0011_1_1_11_1101101001101111100_1__1__0__01_1_11
mov qword [rsp + 0x1f00], rax
lea rax, str.100_1_11__0_1_00_01_110__1001_1001_101_01_0__0_1__10_01110__0_1_01___00011
mov qword [rsp + 0x1f08], rax
lea rax, str.____1_0110_0____11_000_1__11__0_01_1_0010__01_00_0100_11__0011__00__10_0__0
mov qword [rsp + 0x1f10], rax
lea rax, str.11_011__0000_101_1111_1_010010100_01001_0___0_11_10111___11010_11011011__11
mov qword [rsp + 0x1f18], rax
lea rax, str.__01001___11010100_10010100101010_01_100111_0111__0101100011_00001111111
mov qword [rsp + 0x1f20], rax
lea rax, str.001110_0_10010_11__10_10_0101__11000_1100011_10_0111__0__1_0_0100001_0010_0
mov qword [rsp + 0x1f28], rax
lea rax, str.0_0_110__0_10001100_0100001_0000___1_100_0_0_0__10_110__1__11000_110_111110
mov qword [rsp + 0x1f30], rax
lea rax, str.1_0_10000__1_1___111_1__1_11111_01_0__0_00111___101__1_1___10_____11__01_11
mov qword [rsp + 0x1f38], rax
lea rax, str.0000_1__01111010_0___10_0001001_0_010_0_1111__1100011_1__1_00_1100_0100_000
mov qword [rsp + 0x1f40], rax
lea rax, str.1__100000001_00110011_101100_1111___10_1111_1100_0___000_1____0_0_00_0_1011
mov qword [rsp + 0x1f48], rax
lea rax, str.1_0001__0_01000_00___010000__0000_0_1__010_1011_1101110__11_00__0110101000
mov qword [rsp + 0x1f50], rax
lea rax, str.0010001__01__1_1010001101____1_1110010_1_10_11__0_1__1110_01_11__011_1001_0
mov qword [rsp + 0x1f58], rax
lea rax, str.10111_1101011__1_11_0__001__1_1011_0_001010001_1_1101__0010000__00_110010_1
mov qword [rsp + 0x1f60], rax
lea rax, str.0__0__1010100_011100101__110___00__10_1000_111_000000110_0_01__1__01000_101
mov qword [rsp + 0x1f68], rax
lea rax, str.10___0_0000___01111111__100110_010010110_0101___1__000_____10011111011110_0
mov qword [rsp + 0x1f70], rax
lea rax, str.10_0011000_00_0_01001001_0010___1_110_1011_1_01_110111_1101_1_00_0_1_0__01
mov qword [rsp + 0x1f78], rax
lea rax, str._11__100_1_11011_1_0__0100_1_1__1100100_11_0_0_0_1_01_1111_1__0__1_0_0_0_1
mov qword [rsp + 0x1f80], rax
lea rax, str.___11111_00111__1110_01111011__0_111_10010111111000_10_10_0001010_00__1_000
mov qword [rsp + 0x1f88], rax
lea rax, str.___10_011_1_01_10_1_00__1__00_0__1_10_101____001__001___01__0__1_111110_1
mov qword [rsp + 0x1f90], rax
lea rax, str.__0_001__0101____00___1_11_1_111_1_11_111_1__010_011__1_11_1__1011101_01111
mov qword [rsp + 0x1f98], rax
lea rax, str.__0100_1_1_1_0_01_11010_1010__010101___10___1_1__0_1_1_011100___00_10_0_100
mov qword [rsp + 0x1fa0], rax
lea rax, str.110_1_00001_00_10100000_1000_111_011_01_01101__0_1_00___10010_1011000_00101
mov qword [rsp + 0x1fa8], rax
lea rax, str.__1110100_011____0010101_0100__1110_1_1_0_1_11_0001_0_10001_01__0_10_1_1
mov qword [rsp + 0x1fb0], rax
lea rax, str.1_00__1111_00101___1100010111_110_0_00_00__0___1_01_01_00_01__01_0_10__000
mov qword [rsp + 0x1fb8], rax
lea rax, str._101_10__1___01_1___1_0_1__1_0_0001_0110_0__110_11110__001_1110_10_11001110
mov qword [rsp + 0x1fc0], rax
lea rax, str.0__01_0_1___1000001101__0_10_101_100000_1011010011010001_01__1_1___0__10011
mov qword [rsp + 0x1fc8], rax
lea rax, str._01_1_010100_0__1000_110__01_0001_0101_01___1100__0__0__1001__01_1_1_11__10
mov qword [rsp + 0x1fd0], rax
lea rax, str.000_0_0___11_110100_10_0_001100_1110011__001_011_10_1110_0____00_1111_01100
mov qword [rsp + 0x1fd8], rax
lea rax, str.0__101_0__0_0_1_10110010111______1_001010_1_1__00100_0__1_1_01__000101_1
mov qword [rsp + 0x1fe0], rax
lea rax, str.11_011_10_0010111_0000011__11____1_00__0___011101_11010__10100__0__10_1_0_0
mov qword [rsp + 0x1fe8], rax
lea rax, str.100111_00_010____1_010010_010001_101000_0_010__110__01_01_010_1111_0010011
mov qword [rsp + 0x1ff0], rax
lea rax, str.10_1_110_11_011_1_1_00_1010110___101_1111___110010_111_001__1__1100_1_101
mov qword [rsp + 0x1ff8], rax
lea rax, str.1_1_0_1_110100_01011_011_0_00_0__1_0_10_1_001111_0_01010110__0_10000_0
mov qword [rsp + 0x2000], rax
lea rax, str.001__0111101__0_____0_0_1111_0_1_111110011111000_01101_0_11_0111_01__0_0100
mov qword [rsp + 0x2008], rax
lea rax, str.0_11__0011_01___0111011_01_01___0001_010111100_1__10_11101_0__1101_00__1
mov qword [rsp + 0x2010], rax
lea rax, str.0000_01_1_0_110_0__10_0011011_1__001110111110_10__01101110_1_00_0101_0_0010
mov qword [rsp + 0x2018], rax
lea rax, str.0100_0___1__0_11_11_10_0____00_10____1010_00011_011_0_10_11011010011_00_001
mov qword [rsp + 0x2020], rax
lea rax, str.1101_000_1_0_00_0_100_00_1000___0__0___0_00__0__0011100_010_____0_0001_11
mov qword [rsp + 0x2028], rax
lea rax, str.__11__01111100101_0_10000_01100_00010_001111_011__0_011_0__1_00111_0__1_010
mov qword [rsp + 0x2030], rax
lea rax, str.011_001_011__1_11_11__0_11_100__110000_01____101_000_01__1__100_1111____1_0
mov qword [rsp + 0x2038], rax
lea rax, str.11_1_1_1__1_0010__00000__1_11001111___1011010___01001__1_10_0_1_01_1_1_1010
mov qword [rsp + 0x2040], rax
lea rax, str.0__1000___1_1_1_0_100__1_0_10__01_1_110_1011100111___001_1_001001_000_0__01
mov qword [rsp + 0x2048], rax
lea rax, str.110__0011_11010000_01111011_1_0010___1100__01_1011001010_001__11_110__010_1
mov qword [rsp + 0x2050], rax
lea rax, str._0_11_11011110_0_1010_10_00_0101_111_01_11_0_0_0__110001_0___1_1_101___11
mov qword [rsp + 0x2058], rax
lea rax, str.01011___1_1_0010___1____101___00_111__000_10100110_0_1_1_01101100101_011_01
mov qword [rsp + 0x2060], rax
lea rax, str._00110_11_1__1_1_0100_1___010_110____100__0__1_1010_1100__011__0____1_11_1
mov qword [rsp + 0x2068], rax
lea rax, str._11001_11110101000__10__1_0__01___11___10_11___0_110_100_0010111001010_0110
mov qword [rsp + 0x2070], rax
lea rax, str.__10__1____10__10_____101011__101001__01___100_0001011_10_1_001001001_1__10
mov qword [rsp + 0x2078], rax
lea rax, str.00___1__00_0001_0111__1_00_10010_0_0010011_1_011__1_1_1011110___01_0___1__0
mov qword [rsp + 0x2080], rax
lea rax, str.100___00_1111_1000100111010_10_0_1_1000_1___0_0_10011_0101_110_101100__0_0
mov qword [rsp + 0x2088], rax
lea rax, str.00000___1011_1____01_01111111111001__010_____00_0100__10__11_00_01_______01
mov qword [rsp + 0x2090], rax
lea rax, str.11_1_10001110_00101__0_0011100_1110_1__1000_111__11__00_000__1001_111_1_10
mov qword [rsp + 0x2098], rax
lea rax, str.010000_11011__10_1011__1_0_1___00_11_111___0__111_0___010_0_1001011_1_0_0_1
mov qword [rsp + 0x20a0], rax
lea rax, str._10_01__0_0110_0_101010_100_0_0_00_000010_001__01_0_01_0001_1_11__10__01101
mov qword [rsp + 0x20a8], rax
lea rax, str.01111__010100__110_1010101__11011100__0110_011110011___1_101010_1_000_1_00
mov qword [rsp + 0x20b0], rax
lea rax, str.0001_1_00_0____1_0_0101_11_01__00_010_0_11110__011___1001__1_1__01_11110010
mov qword [rsp + 0x20b8], rax
lea rax, str.00000_1__100000__0010_01_00011_1100___1__01_00__1_1_100_11000_001_10100_110
mov qword [rsp + 0x20c0], rax
lea rax, str._100__10_1011000_1_10011__111__10____11__00__111001110____1__00_01100__01
mov qword [rsp + 0x20c8], rax
lea rax, str.1____0101001_0_101_0__100_0___1_11101_1_0_011_11__1111001011_10001__01_0011
mov qword [rsp + 0x20d0], rax
lea rax, str._011_101_11___0_101_01__11_0__11101_001111_11_00__01_1_111_0_100__00___00_1
mov qword [rsp + 0x20d8], rax
lea rax, str.110_0_011_001_110_00_11_0_01___11_1_11001011_01_000_101__0_1000_1_101_01000
mov qword [rsp + 0x20e0], rax
lea rax, str.0011_0_11111___11__1100___1_01_010_11_0010011101010__01_0010_1__1_01_100_11
mov qword [rsp + 0x20e8], rax
lea rax, str.0_011_110_1100___0_000_0100011_11_110__1_00_0__0_000_00_101_1100_1011101101
mov qword [rsp + 0x20f0], rax
lea rax, str.1_01001__0_1100_100110_100___11_0_11_1010_0010_010011_011__0_00_00010_1110
mov qword [rsp + 0x20f8], rax
lea rax, str.1____1111_00__101_10_11_00011011__011_001_101001_010010010_00__10____00_1_1
mov qword [rsp + 0x2100], rax
lea rax, str.11000101010_11____0__0______10_01000110111_1100_11110___00110011_11_0__0_0
mov qword [rsp + 0x2108], rax
lea rax, str.0100_0100_01010100_101__1_01__1_0_1111___01__010_0_1100010__0_01_00_0__0_01
mov qword [rsp + 0x2110], rax
lea rax, str.0____11001_1__0_10_0001_000000_1101_1010_100_0111_1_1_11__1_11_110101__0
mov qword [rsp + 0x2118], rax
lea rax, str.00_0_11_0_01_00101__0110011_00_0__00_0___1_00011001101_______11_0____0_0_00
mov qword [rsp + 0x2120], rax
lea rax, str.0_110____0_1111_100_110111101000_11_1001__1010_0000_10__0000110_1__10_11
mov qword [rsp + 0x2128], rax
lea rax, str.100101111__001_1_10111011_1110_1011000_0_0__011101_10__110101100_1_1_0__110
mov qword [rsp + 0x2130], rax
lea rax, str.1010011__10_01_0_00101_101_11011___001_1001__1011_010___0_1_101__00__0_0_00
mov qword [rsp + 0x2138], rax
lea rax, str.0_1___00_1__00__11___00__1_1_0100_01101_10_01___1__10111_10_11_00___0___100
mov qword [rsp + 0x2140], rax
lea rax, str.10100101_01_01_101_1__101_11___00_1_0100_00_11_01__00__01_01_0__11____0_1_0
mov qword [rsp + 0x2148], rax
lea rax, str.1_00__01_11___1001_100100_001__00__011_0___11_11_000100_01__010__10_1_01_00
mov qword [rsp + 0x2150], rax
lea rax, str.01100_1010_100_1__0_10111_1__0000_010_1000_010_1100_0_0000_0_1__011_10__0
mov qword [rsp + 0x2158], rax
lea rax, str.0_11_1__10_100_00___1___1__1100__00_11_100_1001111_01111__011_0001_0010_11
mov qword [rsp + 0x2160], rax
lea rax, str.110_00_0110__100__00__1_0__0001___1_111__110_110_0000100_0___10_1_1_00__0
mov qword [rsp + 0x2168], rax
lea rax, str.__101__1000_10011_11_1_0_0110001101000___010101_11_0_1_0_101010010__10__001
mov qword [rsp + 0x2170], rax
lea rax, str.0000_0___01_101_11100_010_001111110_001_10101__110_1110__00__1_110101_11_0
mov qword [rsp + 0x2178], rax
lea rax, str._1_10_101_01_1___0__101_11_0___1__10_00_111010__11____10___011_0_0__11111
mov qword [rsp + 0x2180], rax
lea rax, str.10010_1011_10101_10__0__00000__0001___0__0___101__00_00000_1100__0__00_111
mov qword [rsp + 0x2188], rax
lea rax, str.11_011_000_11___0_11_1___1_0__0_11_1_10_111___10_10__00_1__0_11111__1_0101
mov qword [rsp + 0x2190], rax
lea rax, str.10__0_0_0101__0____0_1_0__0111_011001_01_01_1__0101__010_1000_0__01____0_01
mov qword [rsp + 0x2198], rax
lea rax, str.11_0__0_1_0___011_011_0___1___0__0_00011_10010_1_11_111_0_100001_010____0_0
mov qword [rsp + 0x21a0], rax
lea rax, str.10_11000001_01___000__01_000010_10_10_0100010_10____10___100__10_1_00101001
mov qword [rsp + 0x21a8], rax
lea rax, str._10101__00__0111_1111_10_10_00_000_____11_1__00_00010_0_1_00_1_0_0_0101100
mov qword [rsp + 0x21b0], rax
lea rax, str.1_0_0_111_10_1_000001010011000_100000__10_0_____00__01__00011__01___1__1_11
mov qword [rsp + 0x21b8], rax
lea rax, str.0_0___00_010_1010_000111_101_________11011_010_1000_000_0111_001_000_0_1011
mov qword [rsp + 0x21c0], rax
lea rax, str.1_10__0_11_1__1__1011_0111_0_101__1000110_0__0010_0011011_1_0101_11_10_110
mov qword [rsp + 0x21c8], rax
lea rax, str._00110101_00_0___0_110110_1_1001_11_11101111110101__101010_100001_1_1_0101
mov qword [rsp + 0x21d0], rax
lea rax, str.001_00_000___1__00111111_1_00_0010110___101_00001__00100_00_000_1010_000_0
mov qword [rsp + 0x21d8], rax
lea rax, str.110_01__0011_10_0011_10101_00_1_1_1000_11_000__10_0111___10101_0_1000_11_1
mov qword [rsp + 0x21e0], rax
lea rax, str.011001100_11_0_0__1001_10_1_0__1_011101_0_110100____1_11000_0_0_01111_10_1
mov qword [rsp + 0x21e8], rax
lea rax, str._100001111111110_10001_1_101_10110_____00_11101_01___01111_10_111_11___0_10
mov qword [rsp + 0x21f0], rax
lea rax, str.0___00000_0_0_0_01____01__00_0_1000_011_00100_00000010110_010__1_101____110
mov qword [rsp + 0x21f8], rax
lea rax, str.1_1111__011_0_1__010__01__1_10011000_1_0_11001_1__10____0111__110__11_100
mov qword [rsp + 0x2200], rax
lea rax, str.11__000___0_011__1100_01110010_0__011_0_11__11__000_0_0__11_00001011_111_11
mov qword [rsp + 0x2208], rax
lea rax, str._10_0_01_00_0_1___11101_11_0_0_1__010_00_111000___0__10111___01_0__011__1_0
mov qword [rsp + 0x2210], rax
lea rax, str.__11_0_011______0110__110_0_1_010__00___1_000_010100001001011101011_1_11100
mov qword [rsp + 0x2218], rax
lea rax, str.00110011000_1010111001001_1_0_011_010_0_000010_11101__00_0_10_110_111101011
mov qword [rsp + 0x2220], rax
lea rax, str.001__1_01_01_01011111_111_0110_010_00_0110111_0_001_0_0_1111___10___10_10_0
mov qword [rsp + 0x2228], rax
mov dword [rsp + 0x278], 0
jmp 0x140053b50
mov eax, dword [rsp + 0x278]
inc eax
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0x278]
cdqe
cmp rax, 0x7a
jae 0x140053b88
mov rax, qword [fcn.140023320]
mov qword [rsp + 0x1c48], rax
mov eax, dword [rsp + 0x278]
cdqe
mov rcx, qword [rsp + rax*8 + 0x1e60]
call qword [rsp + 0x1c48]
jmp 0x140053b40
mov dword [rsp + 0x5d4], 5
jmp 0x140053ba5
mov eax, dword [rsp + 0x5d4]
inc eax
mov dword [rsp + 0x5d4], eax
cmp dword [rsp + 0x5d4], 0x2dd9
jae 0x140053c49
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1c50], rax
mov rax, qword [rsp + 0x1c50]
mov qword [rsp + 0x17f0], rax
mov dword [rsp + 0x1f0], 0
jmp 0x140053bf5
mov eax, dword [rsp + 0x1f0]
inc eax
mov dword [rsp + 0x1f0], eax
cmp dword [rsp + 0x1f0], 0x2d20
jae 0x140053c27
cmp dword [rsp + 0x1f0], 0x62
jne 0x140053c0e
jmp 0x140053c27
movsxd rax, dword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x17f0]
mov dword [rcx + rax*4], 0x1034
jmp 0x140053be5
mov rax, qword [rsp + 0x17f0]
mov qword [rsp + 0x1c58], rax
mov rcx, qword [rsp + 0x1c58]
call fcn.14005bfdc
jmp 0x140053b95
mov dword [rsp + 0x5d8], 0xa
jmp 0x140053c66
mov eax, dword [rsp + 0x5d8]
inc eax
mov dword [rsp + 0x5d8], eax
cmp dword [rsp + 0x5d8], 0x2d9c
jae 0x140053d0a
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1c60], rax
mov rax, qword [rsp + 0x1c60]
mov qword [rsp + 0x17f8], rax
mov dword [rsp + 0x1f4], 0
jmp 0x140053cb6
mov eax, dword [rsp + 0x1f4]
inc eax
mov dword [rsp + 0x1f4], eax
cmp dword [rsp + 0x1f4], 0x3280
jae 0x140053ce8
cmp dword [rsp + 0x1f4], 0x5a
jne 0x140053ccf
jmp 0x140053ce8
movsxd rax, dword [rsp + 0x1f4]
mov rcx, qword [rsp + 0x17f8]
mov dword [rcx + rax*4], 0xfc7
jmp 0x140053ca6
mov rax, qword [rsp + 0x17f8]
mov qword [rsp + 0x1c68], rax
mov rcx, qword [rsp + 0x1c68]
call fcn.14005bfdc
jmp 0x140053c56
lea rax, [rsp + 0x1cd]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1cd]
call fcn.14002aa50
mov qword [rsp + 0x740], rax
mov rax, qword [rsp + 0x740]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x1400553a7
mov rax, qword [rsp + 0x740]
mov qword [rsp + 0x228], rax
mov dword [rsp + 0x4c], 0
jmp 0x140053d6b
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x4c]
cmp rax, 1
jae 0x1400553a7
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1068], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1068]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x106c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x106c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1070], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1070]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005413d
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd578]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x378], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1074], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1074]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x107c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1078], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1078]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x107c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140054064
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1080], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1080]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1084], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1084]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1088], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1088]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140054064
mov dword [rsp + 0x184], 0
jmp 0x140053f26
cmp dword [rsp + 0x184], 0xf
jae 0x14005405f
cvtsi2sd xmm0, dword [rsp + 0x184]
movsd xmm1, qword [rsp + 0x378]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c70], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c70]
ucomisd xmm1, xmm0
jp 0x140053fa1
jne 0x140053fa1
mov eax, dword [rsp + 0x184]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x378]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x378], xmm0
jmp 0x140053e1e
cvtsi2sd xmm0, dword [rsp + 0x184]
movsd xmm1, qword [rsp + 0x378]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c78], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c78]
ucomisd xmm1, xmm0
jp 0x140054009
jne 0x140054009
mov eax, dword [rsp + 0x184]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x378]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x378], xmm0
jmp 0x140054020
xor eax, eax
cmp eax, 1
je 0x14005401c
jmp 0x140054109
jmp 0x140054049
cvtsi2sd xmm0, dword [rsp + 0x184]
movsd xmm1, qword [rsp + 0x378]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5dc], eax
jmp 0x140054114
xor eax, eax
test eax, eax
je 0x140054055
jmp 0x140054064
jmp 0x140053e1e
jmp 0x140053e1e
xor eax, eax
cmp eax, 2
je 0x140054109
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x108c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x108c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1094], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1090], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1090]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1094]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x378]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5dc], eax
jmp 0x140054114
mov dword [rsp + 0x5dc], 8
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x228]
mov edx, dword [rsp + 0x5dc]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x228]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1098], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1098]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10a0], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x109c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x109c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x10a0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140054fdf
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x10a4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x10a4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10a8], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x10a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10ac], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x10ac]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005457e
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd570]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x290], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x10b0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x10b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10b8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x10b4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x10b4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x10b8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400544a5
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x10bc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x10bc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10c0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x10c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10c4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x10c4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400544a5
mov dword [rsp + 0x188], 0
jmp 0x140054367
cmp dword [rsp + 0x188], 0xf
jae 0x1400544a0
cvtsi2sd xmm0, dword [rsp + 0x188]
movsd xmm1, qword [rsp + 0x290]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c80], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c80]
ucomisd xmm1, xmm0
jp 0x1400543e2
jne 0x1400543e2
mov eax, dword [rsp + 0x188]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x290]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x290], xmm0
jmp 0x14005425f
cvtsi2sd xmm0, dword [rsp + 0x188]
movsd xmm1, qword [rsp + 0x290]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c88], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c88]
ucomisd xmm1, xmm0
jp 0x14005444a
jne 0x14005444a
mov eax, dword [rsp + 0x188]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x290]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x290], xmm0
jmp 0x140054461
xor eax, eax
cmp eax, 1
je 0x14005445d
jmp 0x14005454a
jmp 0x14005448a
cvtsi2sd xmm0, dword [rsp + 0x188]
movsd xmm1, qword [rsp + 0x290]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5e0], eax
jmp 0x140054555
xor eax, eax
test eax, eax
je 0x140054496
jmp 0x1400544a5
jmp 0x14005425f
jmp 0x14005425f
xor eax, eax
cmp eax, 2
je 0x14005454a
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x10c8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x10c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10d0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x10cc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x10cc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x10d0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x290]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5e0], eax
jmp 0x140054555
mov dword [rsp + 0x5e0], 8
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x228]
mov edx, dword [rsp + 0x5e0]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x228]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x10d4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x10d4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10d8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x10d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10dc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x10dc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140054941
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd568]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x298], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x10e0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x10e0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10e8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x10e4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x10e4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x10e8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140054868
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x10ec], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x10ec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10f0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x10f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10f4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x10f4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140054868
mov dword [rsp + 0x18c], 0
jmp 0x14005472a
cmp dword [rsp + 0x18c], 0xf
jae 0x140054863
cvtsi2sd xmm0, dword [rsp + 0x18c]
movsd xmm1, qword [rsp + 0x298]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c90], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c90]
ucomisd xmm1, xmm0
jp 0x1400547a5
jne 0x1400547a5
mov eax, dword [rsp + 0x18c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x298]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x298], xmm0
jmp 0x140054622
cvtsi2sd xmm0, dword [rsp + 0x18c]
movsd xmm1, qword [rsp + 0x298]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1c98], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1c98]
ucomisd xmm1, xmm0
jp 0x14005480d
jne 0x14005480d
mov eax, dword [rsp + 0x18c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x298]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x298], xmm0
jmp 0x140054824
xor eax, eax
cmp eax, 1
je 0x140054820
jmp 0x14005490d
jmp 0x14005484d
cvtsi2sd xmm0, dword [rsp + 0x18c]
movsd xmm1, qword [rsp + 0x298]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5e4], eax
jmp 0x140054918
xor eax, eax
test eax, eax
je 0x140054859
jmp 0x140054868
jmp 0x140054622
jmp 0x140054622
xor eax, eax
cmp eax, 2
je 0x14005490d
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x10f8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x10f8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1100], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x10fc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x10fc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1100]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x298]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5e4], eax
jmp 0x140054918
mov dword [rsp + 0x5e4], 8
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x228]
mov edx, dword [rsp + 0x5e4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x228]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x4c]
sub eax, 0x50
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2a0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1104], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1104]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x110c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1108], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1108]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x110c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140054bbe
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1110], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1110]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1114], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1114]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1118], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1118]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140054bbe
mov dword [rsp + 0x190], 0
jmp 0x140054a80
cmp dword [rsp + 0x190], 0xf
jae 0x140054bb9
cvtsi2sd xmm0, dword [rsp + 0x190]
movsd xmm1, qword [rsp + 0x2a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ca0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ca0]
ucomisd xmm1, xmm0
jp 0x140054afb
jne 0x140054afb
mov eax, dword [rsp + 0x190]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2a0], xmm0
jmp 0x140054978
cvtsi2sd xmm0, dword [rsp + 0x190]
movsd xmm1, qword [rsp + 0x2a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ca8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ca8]
ucomisd xmm1, xmm0
jp 0x140054b63
jne 0x140054b63
mov eax, dword [rsp + 0x190]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2a0], xmm0
jmp 0x140054b7a
xor eax, eax
cmp eax, 1
je 0x140054b76
jmp 0x140054c63
jmp 0x140054ba3
cvtsi2sd xmm0, dword [rsp + 0x190]
movsd xmm1, qword [rsp + 0x2a0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5e8], eax
jmp 0x140054c6e
xor eax, eax
test eax, eax
je 0x140054baf
jmp 0x140054bbe
jmp 0x140054978
jmp 0x140054978
xor eax, eax
cmp eax, 2
je 0x140054c63
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x111c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x111c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1124], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1120], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1120]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1124]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2a0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5e8], eax
jmp 0x140054c6e
mov dword [rsp + 0x5e8], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x4c]
sub eax, 0x50
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2a8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1128], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1128]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1130], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x112c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x112c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1130]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140054eeb
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1134], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1134]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1138], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1138]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x113c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x113c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140054eeb
mov dword [rsp + 0x194], 0
jmp 0x140054dad
cmp dword [rsp + 0x194], 0xf
jae 0x140054ee6
cvtsi2sd xmm0, dword [rsp + 0x194]
movsd xmm1, qword [rsp + 0x2a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cb0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cb0]
ucomisd xmm1, xmm0
jp 0x140054e28
jne 0x140054e28
mov eax, dword [rsp + 0x194]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2a8], xmm0
jmp 0x140054ca5
cvtsi2sd xmm0, dword [rsp + 0x194]
movsd xmm1, qword [rsp + 0x2a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cb8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cb8]
ucomisd xmm1, xmm0
jp 0x140054e90
jne 0x140054e90
mov eax, dword [rsp + 0x194]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2a8], xmm0
jmp 0x140054ea7
xor eax, eax
cmp eax, 1
je 0x140054ea3
jmp 0x140054f90
jmp 0x140054ed0
cvtsi2sd xmm0, dword [rsp + 0x194]
movsd xmm1, qword [rsp + 0x2a8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5ec], eax
jmp 0x140054f9b
xor eax, eax
test eax, eax
je 0x140054edc
jmp 0x140054eeb
jmp 0x140054ca5
jmp 0x140054ca5
xor eax, eax
cmp eax, 2
je 0x140054f90
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1140], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1140]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1148], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1144], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1144]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1148]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5ec], eax
jmp 0x140054f9b
mov dword [rsp + 0x5ec], 8
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x228]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x5e8]
movsxd rcx, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x228]
mov edi, dword [rsp + 0x5ec]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x228]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x114c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x114c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1150], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1150]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1154], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1154]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400553a2
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd560]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2b0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1158], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1158]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1160], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x115c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x115c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1160]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400552c9
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1164], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1164]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1168], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1168]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x116c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x116c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400552c9
mov dword [rsp + 0x198], 0
jmp 0x14005518b
cmp dword [rsp + 0x198], 0xf
jae 0x1400552c4
cvtsi2sd xmm0, dword [rsp + 0x198]
movsd xmm1, qword [rsp + 0x2b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cc0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cc0]
ucomisd xmm1, xmm0
jp 0x140055206
jne 0x140055206
mov eax, dword [rsp + 0x198]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2b0], xmm0
jmp 0x140055083
cvtsi2sd xmm0, dword [rsp + 0x198]
movsd xmm1, qword [rsp + 0x2b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cc8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cc8]
ucomisd xmm1, xmm0
jp 0x14005526e
jne 0x14005526e
mov eax, dword [rsp + 0x198]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2b0], xmm0
jmp 0x140055285
xor eax, eax
cmp eax, 1
je 0x140055281
jmp 0x14005536e
jmp 0x1400552ae
cvtsi2sd xmm0, dword [rsp + 0x198]
movsd xmm1, qword [rsp + 0x2b0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5f0], eax
jmp 0x140055379
xor eax, eax
test eax, eax
je 0x1400552ba
jmp 0x1400552c9
jmp 0x140055083
jmp 0x140055083
xor eax, eax
cmp eax, 2
je 0x14005536e
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1170], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1170]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1178], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1174], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1174]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1178]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2b0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5f0], eax
jmp 0x140055379
mov dword [rsp + 0x5f0], 8
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x228]
mov edx, dword [rsp + 0x5f0]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x228]
mov dword [rdx + rcx*4], eax
jmp 0x140053d61
mov rax, qword [rsp + 0x740]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x740]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x6e4], eax
lea rax, [rsp + 0x1ce]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1ce]
call fcn.14002a7f0
mov qword [rsp + 0x748], rax
mov rax, qword [rsp + 0x748]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140056a6b
mov rax, qword [rsp + 0x748]
mov qword [rsp + 0x220], rax
mov dword [rsp + 0x50], 0
jmp 0x14005542f
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x50]
cmp rax, 1
jae 0x140056a6b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x117c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x117c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1180], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1180]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1184], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1184]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140055801
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd578]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2b8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1188], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1188]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1190], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x118c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x118c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1190]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140055728
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1194], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1194]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1198], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1198]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x119c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x119c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140055728
mov dword [rsp + 0x19c], 0
jmp 0x1400555ea
cmp dword [rsp + 0x19c], 0xf
jae 0x140055723
cvtsi2sd xmm0, dword [rsp + 0x19c]
movsd xmm1, qword [rsp + 0x2b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cd0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cd0]
ucomisd xmm1, xmm0
jp 0x140055665
jne 0x140055665
mov eax, dword [rsp + 0x19c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2b8], xmm0
jmp 0x1400554e2
cvtsi2sd xmm0, dword [rsp + 0x19c]
movsd xmm1, qword [rsp + 0x2b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cd8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cd8]
ucomisd xmm1, xmm0
jp 0x1400556cd
jne 0x1400556cd
mov eax, dword [rsp + 0x19c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2b8], xmm0
jmp 0x1400556e4
xor eax, eax
cmp eax, 1
je 0x1400556e0
jmp 0x1400557cd
jmp 0x14005570d
cvtsi2sd xmm0, dword [rsp + 0x19c]
movsd xmm1, qword [rsp + 0x2b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5f4], eax
jmp 0x1400557d8
xor eax, eax
test eax, eax
je 0x140055719
jmp 0x140055728
jmp 0x1400554e2
jmp 0x1400554e2
xor eax, eax
cmp eax, 2
je 0x1400557cd
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x11a0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x11a0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11a8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x11a4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x11a4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x11a8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2b8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5f4], eax
jmp 0x1400557d8
mov dword [rsp + 0x5f4], 8
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x220]
mov edx, dword [rsp + 0x5f4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x220]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x11ac], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x11ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11b4], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x11b0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x11b0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x11b4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400566a3
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x11b8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x11b8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11bc], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x11bc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11c0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x11c0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140055c42
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd570]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2c0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x11c4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x11c4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11cc], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x11c8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x11c8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x11cc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140055b69
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x11d0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x11d0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11d4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x11d4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11d8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x11d8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140055b69
mov dword [rsp + 0x1a0], 0
jmp 0x140055a2b
cmp dword [rsp + 0x1a0], 0xf
jae 0x140055b64
cvtsi2sd xmm0, dword [rsp + 0x1a0]
movsd xmm1, qword [rsp + 0x2c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ce0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ce0]
ucomisd xmm1, xmm0
jp 0x140055aa6
jne 0x140055aa6
mov eax, dword [rsp + 0x1a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2c0], xmm0
jmp 0x140055923
cvtsi2sd xmm0, dword [rsp + 0x1a0]
movsd xmm1, qword [rsp + 0x2c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1ce8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1ce8]
ucomisd xmm1, xmm0
jp 0x140055b0e
jne 0x140055b0e
mov eax, dword [rsp + 0x1a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2c0], xmm0
jmp 0x140055b25
xor eax, eax
cmp eax, 1
je 0x140055b21
jmp 0x140055c0e
jmp 0x140055b4e
cvtsi2sd xmm0, dword [rsp + 0x1a0]
movsd xmm1, qword [rsp + 0x2c0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5f8], eax
jmp 0x140055c19
xor eax, eax
test eax, eax
je 0x140055b5a
jmp 0x140055b69
jmp 0x140055923
jmp 0x140055923
xor eax, eax
cmp eax, 2
je 0x140055c0e
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x11dc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x11dc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11e4], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x11e0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x11e0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x11e4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2c0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5f8], eax
jmp 0x140055c19
mov dword [rsp + 0x5f8], 8
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x220]
mov edx, dword [rsp + 0x5f8]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x220]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x11e8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x11e8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11ec], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x11ec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11f0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x11f0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140056005
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd568]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2c8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x11f4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x11f4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x11fc], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x11f8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x11f8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x11fc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140055f2c
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1200], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1200]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1204], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1204]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1208], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1208]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140055f2c
mov dword [rsp + 0x1a4], 0
jmp 0x140055dee
cmp dword [rsp + 0x1a4], 0xf
jae 0x140055f27
cvtsi2sd xmm0, dword [rsp + 0x1a4]
movsd xmm1, qword [rsp + 0x2c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cf0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cf0]
ucomisd xmm1, xmm0
jp 0x140055e69
jne 0x140055e69
mov eax, dword [rsp + 0x1a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2c8], xmm0
jmp 0x140055ce6
cvtsi2sd xmm0, dword [rsp + 0x1a4]
movsd xmm1, qword [rsp + 0x2c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1cf8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1cf8]
ucomisd xmm1, xmm0
jp 0x140055ed1
jne 0x140055ed1
mov eax, dword [rsp + 0x1a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2c8], xmm0
jmp 0x140055ee8
xor eax, eax
cmp eax, 1
je 0x140055ee4
jmp 0x140055fd1
jmp 0x140055f11
cvtsi2sd xmm0, dword [rsp + 0x1a4]
movsd xmm1, qword [rsp + 0x2c8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5fc], eax
jmp 0x140055fdc
xor eax, eax
test eax, eax
je 0x140055f1d
jmp 0x140055f2c
jmp 0x140055ce6
jmp 0x140055ce6
xor eax, eax
cmp eax, 2
je 0x140055fd1
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x120c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x120c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1214], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1210], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1210]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1214]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2c8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x5fc], eax
jmp 0x140055fdc
mov dword [rsp + 0x5fc], 8
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x220]
mov edx, dword [rsp + 0x5fc]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x220]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x50]
sub eax, 0x50
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2d0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1218], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1218]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1220], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x121c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x121c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1220]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140056282
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1224], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1224]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1228], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1228]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x122c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x122c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140056282
mov dword [rsp + 0x1a8], 0
jmp 0x140056144
cmp dword [rsp + 0x1a8], 0xf
jae 0x14005627d
cvtsi2sd xmm0, dword [rsp + 0x1a8]
movsd xmm1, qword [rsp + 0x2d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d00], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d00]
ucomisd xmm1, xmm0
jp 0x1400561bf
jne 0x1400561bf
mov eax, dword [rsp + 0x1a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2d0], xmm0
jmp 0x14005603c
cvtsi2sd xmm0, dword [rsp + 0x1a8]
movsd xmm1, qword [rsp + 0x2d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d08], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d08]
ucomisd xmm1, xmm0
jp 0x140056227
jne 0x140056227
mov eax, dword [rsp + 0x1a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2d0], xmm0
jmp 0x14005623e
xor eax, eax
cmp eax, 1
je 0x14005623a
jmp 0x140056327
jmp 0x140056267
cvtsi2sd xmm0, dword [rsp + 0x1a8]
movsd xmm1, qword [rsp + 0x2d0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x600], eax
jmp 0x140056332
xor eax, eax
test eax, eax
je 0x140056273
jmp 0x140056282
jmp 0x14005603c
jmp 0x14005603c
xor eax, eax
cmp eax, 2
je 0x140056327
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1230], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1230]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1238], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1234], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1234]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1238]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2d0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x600], eax
jmp 0x140056332
mov dword [rsp + 0x600], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x50]
sub eax, 0x50
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2d8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x123c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x123c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1244], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1240], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1240]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1244]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400565af
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1248], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1248]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x124c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x124c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1250], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1250]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400565af
mov dword [rsp + 0x1ac], 0
jmp 0x140056471
cmp dword [rsp + 0x1ac], 0xf
jae 0x1400565aa
cvtsi2sd xmm0, dword [rsp + 0x1ac]
movsd xmm1, qword [rsp + 0x2d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d10], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d10]
ucomisd xmm1, xmm0
jp 0x1400564ec
jne 0x1400564ec
mov eax, dword [rsp + 0x1ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2d8], xmm0
jmp 0x140056369
cvtsi2sd xmm0, dword [rsp + 0x1ac]
movsd xmm1, qword [rsp + 0x2d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d18], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d18]
ucomisd xmm1, xmm0
jp 0x140056554
jne 0x140056554
mov eax, dword [rsp + 0x1ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2d8], xmm0
jmp 0x14005656b
xor eax, eax
cmp eax, 1
je 0x140056567
jmp 0x140056654
jmp 0x140056594
cvtsi2sd xmm0, dword [rsp + 0x1ac]
movsd xmm1, qword [rsp + 0x2d8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x604], eax
jmp 0x14005665f
xor eax, eax
test eax, eax
je 0x1400565a0
jmp 0x1400565af
jmp 0x140056369
jmp 0x140056369
xor eax, eax
cmp eax, 2
je 0x140056654
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1254], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1254]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x125c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1258], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1258]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x125c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2d8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x604], eax
jmp 0x14005665f
mov dword [rsp + 0x604], 8
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x220]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x600]
movsxd rcx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x220]
mov edi, dword [rsp + 0x604]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x220]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1260], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1260]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1264], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1264]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1268], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1268]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140056a66
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd560]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2e0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x126c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x126c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1274], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1270], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1270]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1274]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005698d
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1278], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1278]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x127c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x127c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1280], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1280]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005698d
mov dword [rsp + 0x1b0], 0
jmp 0x14005684f
cmp dword [rsp + 0x1b0], 0xf
jae 0x140056988
cvtsi2sd xmm0, dword [rsp + 0x1b0]
movsd xmm1, qword [rsp + 0x2e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d20], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d20]
ucomisd xmm1, xmm0
jp 0x1400568ca
jne 0x1400568ca
mov eax, dword [rsp + 0x1b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2e0], xmm0
jmp 0x140056747
cvtsi2sd xmm0, dword [rsp + 0x1b0]
movsd xmm1, qword [rsp + 0x2e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d28], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d28]
ucomisd xmm1, xmm0
jp 0x140056932
jne 0x140056932
mov eax, dword [rsp + 0x1b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2e0], xmm0
jmp 0x140056949
xor eax, eax
cmp eax, 1
je 0x140056945
jmp 0x140056a32
jmp 0x140056972
cvtsi2sd xmm0, dword [rsp + 0x1b0]
movsd xmm1, qword [rsp + 0x2e0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x608], eax
jmp 0x140056a3d
xor eax, eax
test eax, eax
je 0x14005697e
jmp 0x14005698d
jmp 0x140056747
jmp 0x140056747
xor eax, eax
cmp eax, 2
je 0x140056a32
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1284], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1284]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x128c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1288], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1288]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x128c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2e0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x608], eax
jmp 0x140056a3d
mov dword [rsp + 0x608], 8
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x220]
mov edx, dword [rsp + 0x608]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x220]
mov dword [rdx + rcx*4], eax
jmp 0x140055425
mov rax, qword [rsp + 0x748]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x748]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x13a4], eax
lea rax, [rsp + 0x1cf]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1cf]
call fcn.140029620
mov qword [rsp + 0x750], rax
mov rax, qword [rsp + 0x750]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x1400580f9
mov rax, qword [rsp + 0x750]
mov qword [rsp + 0x218], rax
mov dword [rsp + 0x54], 0
jmp 0x140056af3
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
movsxd rax, dword [rsp + 0x54]
cmp rax, 1
jae 0x1400580f9
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1290], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1290]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1294], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1294]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1298], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1298]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140056ec5
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd578]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2e8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x129c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x129c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12a4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x12a0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x12a0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x12a4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140056dec
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x12a8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x12a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12ac], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x12ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12b0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x12b0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140056dec
mov dword [rsp + 0x1b4], 0
jmp 0x140056cae
cmp dword [rsp + 0x1b4], 0xf
jae 0x140056de7
cvtsi2sd xmm0, dword [rsp + 0x1b4]
movsd xmm1, qword [rsp + 0x2e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d30], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d30]
ucomisd xmm1, xmm0
jp 0x140056d29
jne 0x140056d29
mov eax, dword [rsp + 0x1b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2e8], xmm0
jmp 0x140056ba6
cvtsi2sd xmm0, dword [rsp + 0x1b4]
movsd xmm1, qword [rsp + 0x2e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d38], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d38]
ucomisd xmm1, xmm0
jp 0x140056d91
jne 0x140056d91
mov eax, dword [rsp + 0x1b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2e8], xmm0
jmp 0x140056da8
xor eax, eax
cmp eax, 1
je 0x140056da4
jmp 0x140056e91
jmp 0x140056dd1
cvtsi2sd xmm0, dword [rsp + 0x1b4]
movsd xmm1, qword [rsp + 0x2e8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x60c], eax
jmp 0x140056e9c
xor eax, eax
test eax, eax
je 0x140056ddd
jmp 0x140056dec
jmp 0x140056ba6
jmp 0x140056ba6
xor eax, eax
cmp eax, 2
je 0x140056e91
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x12b4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x12b4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12bc], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x12b8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x12b8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x12bc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2e8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x60c], eax
jmp 0x140056e9c
mov dword [rsp + 0x60c], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x218]
mov edx, dword [rsp + 0x60c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x218]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x12c0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x12c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12c8], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x12c4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x12c4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x12c8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140057d4c
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x12cc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x12cc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12d0], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x12d0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12d4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x12d4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140057306
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd570]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2f0], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x12d8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x12d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12e0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x12dc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x12dc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x12e0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005722d
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x12e4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x12e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12e8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x12e8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12ec], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x12ec]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005722d
mov dword [rsp + 0x1b8], 0
jmp 0x1400570ef
cmp dword [rsp + 0x1b8], 0xf
jae 0x140057228
cvtsi2sd xmm0, dword [rsp + 0x1b8]
movsd xmm1, qword [rsp + 0x2f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d40], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d40]
ucomisd xmm1, xmm0
jp 0x14005716a
jne 0x14005716a
mov eax, dword [rsp + 0x1b8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2f0], xmm0
jmp 0x140056fe7
cvtsi2sd xmm0, dword [rsp + 0x1b8]
movsd xmm1, qword [rsp + 0x2f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d48], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d48]
ucomisd xmm1, xmm0
jp 0x1400571d2
jne 0x1400571d2
mov eax, dword [rsp + 0x1b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2f0], xmm0
jmp 0x1400571e9
xor eax, eax
cmp eax, 1
je 0x1400571e5
jmp 0x1400572d2
jmp 0x140057212
cvtsi2sd xmm0, dword [rsp + 0x1b8]
movsd xmm1, qword [rsp + 0x2f0]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x610], eax
jmp 0x1400572dd
xor eax, eax
test eax, eax
je 0x14005721e
jmp 0x14005722d
jmp 0x140056fe7
jmp 0x140056fe7
xor eax, eax
cmp eax, 2
je 0x1400572d2
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x12f0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x12f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x12f8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x12f4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x12f4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x12f8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2f0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x610], eax
jmp 0x1400572dd
mov dword [rsp + 0x610], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x218]
mov edx, dword [rsp + 0x610]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x218]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x12fc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x12fc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1300], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1300]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1304], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1304]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400576c9
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd568]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2f8], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1308], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1308]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1310], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x130c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x130c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1310]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400575f0
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1314], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1314]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1318], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1318]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x131c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x131c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400575f0
mov dword [rsp + 0x1bc], 0
jmp 0x1400574b2
cmp dword [rsp + 0x1bc], 0xf
jae 0x1400575eb
cvtsi2sd xmm0, dword [rsp + 0x1bc]
movsd xmm1, qword [rsp + 0x2f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d50], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d50]
ucomisd xmm1, xmm0
jp 0x14005752d
jne 0x14005752d
mov eax, dword [rsp + 0x1bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2f8], xmm0
jmp 0x1400573aa
cvtsi2sd xmm0, dword [rsp + 0x1bc]
movsd xmm1, qword [rsp + 0x2f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d58], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d58]
ucomisd xmm1, xmm0
jp 0x140057595
jne 0x140057595
mov eax, dword [rsp + 0x1bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x2f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x2f8], xmm0
jmp 0x1400575ac
xor eax, eax
cmp eax, 1
je 0x1400575a8
jmp 0x140057695
jmp 0x1400575d5
cvtsi2sd xmm0, dword [rsp + 0x1bc]
movsd xmm1, qword [rsp + 0x2f8]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x614], eax
jmp 0x1400576a0
xor eax, eax
test eax, eax
je 0x1400575e1
jmp 0x1400575f0
jmp 0x1400573aa
jmp 0x1400573aa
xor eax, eax
cmp eax, 2
je 0x140057695
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1320], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1320]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1328], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1324], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1324]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1328]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x2f8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x614], eax
jmp 0x1400576a0
mov dword [rsp + 0x614], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x218]
mov edx, dword [rsp + 0x614]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x218]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x54]
sub eax, 0x50
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x300], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x132c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x132c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1334], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1330], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1330]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1334]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140057946
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1338], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1338]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x133c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x133c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1340], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1340]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140057946
mov dword [rsp + 0x1c0], 0
jmp 0x140057808
cmp dword [rsp + 0x1c0], 0xf
jae 0x140057941
cvtsi2sd xmm0, dword [rsp + 0x1c0]
movsd xmm1, qword [rsp + 0x300]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d60], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d60]
ucomisd xmm1, xmm0
jp 0x140057883
jne 0x140057883
mov eax, dword [rsp + 0x1c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x300]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x300], xmm0
jmp 0x140057700
cvtsi2sd xmm0, dword [rsp + 0x1c0]
movsd xmm1, qword [rsp + 0x300]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d68], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d68]
ucomisd xmm1, xmm0
jp 0x1400578eb
jne 0x1400578eb
mov eax, dword [rsp + 0x1c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x300]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x300], xmm0
jmp 0x140057902
xor eax, eax
cmp eax, 1
je 0x1400578fe
jmp 0x1400579eb
jmp 0x14005792b
cvtsi2sd xmm0, dword [rsp + 0x1c0]
movsd xmm1, qword [rsp + 0x300]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x618], eax
jmp 0x1400579f6
xor eax, eax
test eax, eax
je 0x140057937
jmp 0x140057946
jmp 0x140057700
jmp 0x140057700
xor eax, eax
cmp eax, 2
je 0x1400579eb
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1344], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1344]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x134c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1348], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1348]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x134c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x300]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x618], eax
jmp 0x1400579f6
mov dword [rsp + 0x618], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x54]
sub eax, 0x50
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x308], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1350], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1350]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1358], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1354], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1354]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1358]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140057c58
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x135c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x135c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1360], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1360]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1364], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1364]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140057c58
mov dword [rsp + 0x5c], 0
jmp 0x140057b2c
cmp dword [rsp + 0x5c], 0xf
jae 0x140057c53
cvtsi2sd xmm0, dword [rsp + 0x5c]
movsd xmm1, qword [rsp + 0x308]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d70], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d70]
ucomisd xmm1, xmm0
jp 0x140057b9e
jne 0x140057b9e
mov eax, dword [rsp + 0x5c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x308]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x308], xmm0
jmp 0x140057a2d
cvtsi2sd xmm0, dword [rsp + 0x5c]
movsd xmm1, qword [rsp + 0x308]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d78], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d78]
ucomisd xmm1, xmm0
jp 0x140057c00
jne 0x140057c00
mov eax, dword [rsp + 0x5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x308]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x308], xmm0
jmp 0x140057c17
xor eax, eax
cmp eax, 1
je 0x140057c13
jmp 0x140057cfd
jmp 0x140057c3d
cvtsi2sd xmm0, dword [rsp + 0x5c]
movsd xmm1, qword [rsp + 0x308]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x61c], eax
jmp 0x140057d08
xor eax, eax
test eax, eax
je 0x140057c49
jmp 0x140057c58
jmp 0x140057a2d
jmp 0x140057a2d
xor eax, eax
cmp eax, 2
je 0x140057cfd
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1368], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1368]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1370], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x136c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x136c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1370]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x308]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x61c], eax
jmp 0x140057d08
mov dword [rsp + 0x61c], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x218]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x618]
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x218]
mov edi, dword [rsp + 0x61c]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x218]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1374], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1374]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1378], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1378]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x137c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x137c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400580f4
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd560]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x310], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1380], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1380]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1388], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1384], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1384]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1388]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005801b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x138c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x138c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1390], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1390]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1394], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1394]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005801b
mov dword [rsp + 0x60], 0
jmp 0x140057eef
cmp dword [rsp + 0x60], 0xf
jae 0x140058016
cvtsi2sd xmm0, dword [rsp + 0x60]
movsd xmm1, qword [rsp + 0x310]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d80], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d80]
ucomisd xmm1, xmm0
jp 0x140057f61
jne 0x140057f61
mov eax, dword [rsp + 0x60]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x310]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x310], xmm0
jmp 0x140057df0
cvtsi2sd xmm0, dword [rsp + 0x60]
movsd xmm1, qword [rsp + 0x310]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d88], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d88]
ucomisd xmm1, xmm0
jp 0x140057fc3
jne 0x140057fc3
mov eax, dword [rsp + 0x60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x310]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x310], xmm0
jmp 0x140057fda
xor eax, eax
cmp eax, 1
je 0x140057fd6
jmp 0x1400580c0
jmp 0x140058000
cvtsi2sd xmm0, dword [rsp + 0x60]
movsd xmm1, qword [rsp + 0x310]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x620], eax
jmp 0x1400580cb
xor eax, eax
test eax, eax
je 0x14005800c
jmp 0x14005801b
jmp 0x140057df0
jmp 0x140057df0
xor eax, eax
cmp eax, 2
je 0x1400580c0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1398], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1398]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13a0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x139c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x139c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x13a0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x310]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x620], eax
jmp 0x1400580cb
mov dword [rsp + 0x620], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x218]
mov edx, dword [rsp + 0x620]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x218]
mov dword [rdx + rcx*4], eax
jmp 0x140056ae9
mov rax, qword [rsp + 0x750]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x750]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x14bc], eax
mov eax, dword [rsp + 0x13a4]
mov dword [rsp + 0x6e4], eax
cmp dword [rsp + 0x6e4], 0
je 0x14005975e
lea rax, [rsp + 0x1d0]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1d0]
call fcn.140029c10
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x758]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140059737
mov rax, qword [rsp + 0x758]
mov qword [rsp + 0x210], rax
mov dword [rsp + 0x58], 0
jmp 0x14005819d
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x58]
cmp rax, 1
jae 0x140059737
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x13a8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x13a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13ac], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x13ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13b0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x13b0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140058554
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd570]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x318], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x13b4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x13b4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13bc], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x13b8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x13b8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x13bc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005847b
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x13c0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x13c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13c4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x13c4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13c8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x13c8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005847b
mov dword [rsp + 0x64], 0
jmp 0x14005834f
cmp dword [rsp + 0x64], 0xf
jae 0x140058476
cvtsi2sd xmm0, dword [rsp + 0x64]
movsd xmm1, qword [rsp + 0x318]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d90], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d90]
ucomisd xmm1, xmm0
jp 0x1400583c1
jne 0x1400583c1
mov eax, dword [rsp + 0x64]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x318]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x318], xmm0
jmp 0x140058250
cvtsi2sd xmm0, dword [rsp + 0x64]
movsd xmm1, qword [rsp + 0x318]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1d98], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1d98]
ucomisd xmm1, xmm0
jp 0x140058423
jne 0x140058423
mov eax, dword [rsp + 0x64]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x318]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x318], xmm0
jmp 0x14005843a
xor eax, eax
cmp eax, 1
je 0x140058436
jmp 0x140058520
jmp 0x140058460
cvtsi2sd xmm0, dword [rsp + 0x64]
movsd xmm1, qword [rsp + 0x318]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x624], eax
jmp 0x14005852b
xor eax, eax
test eax, eax
je 0x14005846c
jmp 0x14005847b
jmp 0x140058250
jmp 0x140058250
xor eax, eax
cmp eax, 2
je 0x140058520
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x13cc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x13cc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13d4], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x13d0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x13d0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x13d4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x318]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x624], eax
jmp 0x14005852b
mov dword [rsp + 0x624], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x210]
mov edx, dword [rsp + 0x624]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x210]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x13d8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x13d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13e0], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x13dc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x13dc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x13e0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005938a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x13e4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x13e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13e8], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x13e8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13ec], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x13ec]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005897a
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd568]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x320], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x13f0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x13f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x13f8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x13f4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x13f4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x13f8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400588a1
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x13fc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x13fc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1400], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1400]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1404], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1404]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400588a1
mov dword [rsp + 0x68], 0
jmp 0x140058775
cmp dword [rsp + 0x68], 0xf
jae 0x14005889c
cvtsi2sd xmm0, dword [rsp + 0x68]
movsd xmm1, qword [rsp + 0x320]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1da0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1da0]
ucomisd xmm1, xmm0
jp 0x1400587e7
jne 0x1400587e7
mov eax, dword [rsp + 0x68]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x320]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x320], xmm0
jmp 0x140058676
cvtsi2sd xmm0, dword [rsp + 0x68]
movsd xmm1, qword [rsp + 0x320]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1da8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1da8]
ucomisd xmm1, xmm0
jp 0x140058849
jne 0x140058849
mov eax, dword [rsp + 0x68]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x320]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x320], xmm0
jmp 0x140058860
xor eax, eax
cmp eax, 1
je 0x14005885c
jmp 0x140058946
jmp 0x140058886
cvtsi2sd xmm0, dword [rsp + 0x68]
movsd xmm1, qword [rsp + 0x320]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x628], eax
jmp 0x140058951
xor eax, eax
test eax, eax
je 0x140058892
jmp 0x1400588a1
jmp 0x140058676
jmp 0x140058676
xor eax, eax
cmp eax, 2
je 0x140058946
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1408], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1408]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1410], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x140c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x140c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1410]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x320]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x628], eax
jmp 0x140058951
mov dword [rsp + 0x628], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x210]
mov edx, dword [rsp + 0x628]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x210]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1414], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1414]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1418], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1418]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x141c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x141c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140058d22
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd560]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x328], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1420], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1420]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1428], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1424], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1424]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1428]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140058c49
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x142c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x142c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1430], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1430]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1434], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1434]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140058c49
mov dword [rsp + 0x6c], 0
jmp 0x140058b1d
cmp dword [rsp + 0x6c], 0xf
jae 0x140058c44
cvtsi2sd xmm0, dword [rsp + 0x6c]
movsd xmm1, qword [rsp + 0x328]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1db0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1db0]
ucomisd xmm1, xmm0
jp 0x140058b8f
jne 0x140058b8f
mov eax, dword [rsp + 0x6c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x328]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x328], xmm0
jmp 0x140058a1e
cvtsi2sd xmm0, dword [rsp + 0x6c]
movsd xmm1, qword [rsp + 0x328]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1db8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1db8]
ucomisd xmm1, xmm0
jp 0x140058bf1
jne 0x140058bf1
mov eax, dword [rsp + 0x6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x328]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x328], xmm0
jmp 0x140058c08
xor eax, eax
cmp eax, 1
je 0x140058c04
jmp 0x140058cee
jmp 0x140058c2e
cvtsi2sd xmm0, dword [rsp + 0x6c]
movsd xmm1, qword [rsp + 0x328]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x62c], eax
jmp 0x140058cf9
xor eax, eax
test eax, eax
je 0x140058c3a
jmp 0x140058c49
jmp 0x140058a1e
jmp 0x140058a1e
xor eax, eax
cmp eax, 2
je 0x140058cee
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1438], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1438]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1440], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x143c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x143c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1440]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x328]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x62c], eax
jmp 0x140058cf9
mov dword [rsp + 0x62c], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x210]
mov edx, dword [rsp + 0x62c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x210]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x58]
sub eax, 0x4f
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x330], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1444], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1444]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x144c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1448], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1448]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x144c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140058f84
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1450], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1450]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1454], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1454]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1458], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1458]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140058f84
mov dword [rsp + 0x70], 0
jmp 0x140058e58
cmp dword [rsp + 0x70], 0xf
jae 0x140058f7f
cvtsi2sd xmm0, dword [rsp + 0x70]
movsd xmm1, qword [rsp + 0x330]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1dc0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1dc0]
ucomisd xmm1, xmm0
jp 0x140058eca
jne 0x140058eca
mov eax, dword [rsp + 0x70]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x330]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x330], xmm0
jmp 0x140058d59
cvtsi2sd xmm0, dword [rsp + 0x70]
movsd xmm1, qword [rsp + 0x330]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1dc8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1dc8]
ucomisd xmm1, xmm0
jp 0x140058f2c
jne 0x140058f2c
mov eax, dword [rsp + 0x70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x330]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x330], xmm0
jmp 0x140058f43
xor eax, eax
cmp eax, 1
je 0x140058f3f
jmp 0x140059029
jmp 0x140058f69
cvtsi2sd xmm0, dword [rsp + 0x70]
movsd xmm1, qword [rsp + 0x330]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x630], eax
jmp 0x140059034
xor eax, eax
test eax, eax
je 0x140058f75
jmp 0x140058f84
jmp 0x140058d59
jmp 0x140058d59
xor eax, eax
cmp eax, 2
je 0x140059029
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x145c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x145c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1464], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1460], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1460]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1464]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x330]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x630], eax
jmp 0x140059034
mov dword [rsp + 0x630], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x58]
sub eax, 0x4f
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x338], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1468], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1468]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1470], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x146c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x146c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1470]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140059296
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1474], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1474]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1478], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1478]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x147c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x147c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140059296
mov dword [rsp + 0x74], 0
jmp 0x14005916a
cmp dword [rsp + 0x74], 0xf
jae 0x140059291
cvtsi2sd xmm0, dword [rsp + 0x74]
movsd xmm1, qword [rsp + 0x338]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1dd0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1dd0]
ucomisd xmm1, xmm0
jp 0x1400591dc
jne 0x1400591dc
mov eax, dword [rsp + 0x74]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x338]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x338], xmm0
jmp 0x14005906b
cvtsi2sd xmm0, dword [rsp + 0x74]
movsd xmm1, qword [rsp + 0x338]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1dd8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1dd8]
ucomisd xmm1, xmm0
jp 0x14005923e
jne 0x14005923e
mov eax, dword [rsp + 0x74]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x338]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x338], xmm0
jmp 0x140059255
xor eax, eax
cmp eax, 1
je 0x140059251
jmp 0x14005933b
jmp 0x14005927b
cvtsi2sd xmm0, dword [rsp + 0x74]
movsd xmm1, qword [rsp + 0x338]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x634], eax
jmp 0x140059346
xor eax, eax
test eax, eax
je 0x140059287
jmp 0x140059296
jmp 0x14005906b
jmp 0x14005906b
xor eax, eax
cmp eax, 2
je 0x14005933b
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1480], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1480]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1488], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1484], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1484]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1488]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x338]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x634], eax
jmp 0x140059346
mov dword [rsp + 0x634], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x210]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x630]
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x210]
mov edi, dword [rsp + 0x634]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x210]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x148c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x148c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1490], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1490]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1494], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1494]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140059732
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd558]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x340], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1498], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1498]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14a0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x149c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x149c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14a0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140059659
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14a4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14a4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14a8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x14a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14ac], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x14ac]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140059659
mov dword [rsp + 0x78], 0
jmp 0x14005952d
cmp dword [rsp + 0x78], 0xf
jae 0x140059654
cvtsi2sd xmm0, dword [rsp + 0x78]
movsd xmm1, qword [rsp + 0x340]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1de0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1de0]
ucomisd xmm1, xmm0
jp 0x14005959f
jne 0x14005959f
mov eax, dword [rsp + 0x78]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x340]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x340], xmm0
jmp 0x14005942e
cvtsi2sd xmm0, dword [rsp + 0x78]
movsd xmm1, qword [rsp + 0x340]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1de8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1de8]
ucomisd xmm1, xmm0
jp 0x140059601
jne 0x140059601
mov eax, dword [rsp + 0x78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x340]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x340], xmm0
jmp 0x140059618
xor eax, eax
cmp eax, 1
je 0x140059614
jmp 0x1400596fe
jmp 0x14005963e
cvtsi2sd xmm0, dword [rsp + 0x78]
movsd xmm1, qword [rsp + 0x340]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x638], eax
jmp 0x140059709
xor eax, eax
test eax, eax
je 0x14005964a
jmp 0x140059659
jmp 0x14005942e
jmp 0x14005942e
xor eax, eax
cmp eax, 2
je 0x1400596fe
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14b0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14b8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x14b4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14b4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14b8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x340]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x638], eax
jmp 0x140059709
mov dword [rsp + 0x638], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x210]
mov edx, dword [rsp + 0x638]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x210]
mov dword [rdx + rcx*4], eax
jmp 0x140058193
mov rax, qword [rsp + 0x758]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x758]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x14bc], eax
mov dword [rsp + 0x63c], 0xa
jmp 0x14005977b
mov eax, dword [rsp + 0x63c]
inc eax
mov dword [rsp + 0x63c], eax
cmp dword [rsp + 0x63c], 0x2d44
jae 0x14005981f
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x1df0], rax
mov rax, qword [rsp + 0x1df0]
mov qword [rsp + 0x1800], rax
mov dword [rsp + 0x1f8], 0
jmp 0x1400597cb
mov eax, dword [rsp + 0x1f8]
inc eax
mov dword [rsp + 0x1f8], eax
cmp dword [rsp + 0x1f8], 0x30b8
jae 0x1400597fd
cmp dword [rsp + 0x1f8], 0x37
jne 0x1400597e4
jmp 0x1400597fd
movsxd rax, dword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1800]
mov dword [rcx + rax*4], 0xfff
jmp 0x1400597bb
mov rax, qword [rsp + 0x1800]
mov qword [rsp + 0x1df8], rax
mov rcx, qword [rsp + 0x1df8]
call fcn.14005bfdc
jmp 0x14005976b
lea rax, [rsp + 0x1d1]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1d1]
call fcn.1400294f0
mov qword [rsp + 0x760], rax
mov rax, qword [rsp + 0x760]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14005aea1
mov rax, qword [rsp + 0x760]
mov qword [rsp + 0x208], rax
mov dword [rsp + 0x30], 0
jmp 0x140059880
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x30]
cmp rax, 1
jae 0x14005aea1
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14c0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14c4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x14c4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14c8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x14c8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140059c37
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd560]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x348], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14cc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14cc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14d4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x14d0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14d0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14d4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140059b5e
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14d8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14dc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x14dc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14e0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x14e0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140059b5e
mov dword [rsp + 0x7c], 0
jmp 0x140059a32
cmp dword [rsp + 0x7c], 0xf
jae 0x140059b59
cvtsi2sd xmm0, dword [rsp + 0x7c]
movsd xmm1, qword [rsp + 0x348]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e00], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e00]
ucomisd xmm1, xmm0
jp 0x140059aa4
jne 0x140059aa4
mov eax, dword [rsp + 0x7c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x348]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x348], xmm0
jmp 0x140059933
cvtsi2sd xmm0, dword [rsp + 0x7c]
movsd xmm1, qword [rsp + 0x348]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e08], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e08]
ucomisd xmm1, xmm0
jp 0x140059b06
jne 0x140059b06
mov eax, dword [rsp + 0x7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x348]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x348], xmm0
jmp 0x140059b1d
xor eax, eax
cmp eax, 1
je 0x140059b19
jmp 0x140059c03
jmp 0x140059b43
cvtsi2sd xmm0, dword [rsp + 0x7c]
movsd xmm1, qword [rsp + 0x348]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x640], eax
jmp 0x140059c0e
xor eax, eax
test eax, eax
je 0x140059b4f
jmp 0x140059b5e
jmp 0x140059933
jmp 0x140059933
xor eax, eax
cmp eax, 2
je 0x140059c03
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14e4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14ec], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x14e8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14e8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14ec]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x348]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x640], eax
jmp 0x140059c0e
mov dword [rsp + 0x640], 8
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x208]
mov edx, dword [rsp + 0x640]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x208]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14f0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14f8], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x14f4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14f4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14f8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005aad9
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14fc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14fc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1500], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1500]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1504], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1504]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005a078
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd558]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x350], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1508], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1508]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1510], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x150c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x150c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1510]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140059f9f
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1514], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1514]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1518], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1518]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x151c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x151c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140059f9f
mov dword [rsp + 0x80], 0
jmp 0x140059e61
cmp dword [rsp + 0x80], 0xf
jae 0x140059f9a
cvtsi2sd xmm0, dword [rsp + 0x80]
movsd xmm1, qword [rsp + 0x350]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e10], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e10]
ucomisd xmm1, xmm0
jp 0x140059edc
jne 0x140059edc
mov eax, dword [rsp + 0x80]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x350]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x350], xmm0
jmp 0x140059d59
cvtsi2sd xmm0, dword [rsp + 0x80]
movsd xmm1, qword [rsp + 0x350]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e18], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e18]
ucomisd xmm1, xmm0
jp 0x140059f44
jne 0x140059f44
mov eax, dword [rsp + 0x80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x350]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x350], xmm0
jmp 0x140059f5b
xor eax, eax
cmp eax, 1
je 0x140059f57
jmp 0x14005a044
jmp 0x140059f84
cvtsi2sd xmm0, dword [rsp + 0x80]
movsd xmm1, qword [rsp + 0x350]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x644], eax
jmp 0x14005a04f
xor eax, eax
test eax, eax
je 0x140059f90
jmp 0x140059f9f
jmp 0x140059d59
jmp 0x140059d59
xor eax, eax
cmp eax, 2
je 0x14005a044
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1520], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1520]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1528], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1524], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1524]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1528]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x350]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x644], eax
jmp 0x14005a04f
mov dword [rsp + 0x644], 8
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x208]
mov edx, dword [rsp + 0x644]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x208]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x152c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x152c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1530], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1530]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1534], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1534]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005a43b
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd550]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x358], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1538], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1538]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1540], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x153c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x153c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1540]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005a362
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1544], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1544]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1548], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1548]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x154c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x154c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005a362
mov dword [rsp + 0x84], 0
jmp 0x14005a224
cmp dword [rsp + 0x84], 0xf
jae 0x14005a35d
cvtsi2sd xmm0, dword [rsp + 0x84]
movsd xmm1, qword [rsp + 0x358]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e20], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e20]
ucomisd xmm1, xmm0
jp 0x14005a29f
jne 0x14005a29f
mov eax, dword [rsp + 0x84]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x358]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x358], xmm0
jmp 0x14005a11c
cvtsi2sd xmm0, dword [rsp + 0x84]
movsd xmm1, qword [rsp + 0x358]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e28], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e28]
ucomisd xmm1, xmm0
jp 0x14005a307
jne 0x14005a307
mov eax, dword [rsp + 0x84]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x358]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x358], xmm0
jmp 0x14005a31e
xor eax, eax
cmp eax, 1
je 0x14005a31a
jmp 0x14005a407
jmp 0x14005a347
cvtsi2sd xmm0, dword [rsp + 0x84]
movsd xmm1, qword [rsp + 0x358]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x648], eax
jmp 0x14005a412
xor eax, eax
test eax, eax
je 0x14005a353
jmp 0x14005a362
jmp 0x14005a11c
jmp 0x14005a11c
xor eax, eax
cmp eax, 2
je 0x14005a407
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1550], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1550]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1558], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1554], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1554]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1558]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x358]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x648], eax
jmp 0x14005a412
mov dword [rsp + 0x648], 8
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x208]
mov edx, dword [rsp + 0x648]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x208]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x30]
sub eax, 0x4d
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x360], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x155c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x155c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1564], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1560], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1560]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1564]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005a6b8
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1568], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1568]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x156c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x156c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1570], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1570]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005a6b8
mov dword [rsp + 0x88], 0
jmp 0x14005a57a
cmp dword [rsp + 0x88], 0xf
jae 0x14005a6b3
cvtsi2sd xmm0, dword [rsp + 0x88]
movsd xmm1, qword [rsp + 0x360]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e30], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e30]
ucomisd xmm1, xmm0
jp 0x14005a5f5
jne 0x14005a5f5
mov eax, dword [rsp + 0x88]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x360]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x360], xmm0
jmp 0x14005a472
cvtsi2sd xmm0, dword [rsp + 0x88]
movsd xmm1, qword [rsp + 0x360]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e38], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e38]
ucomisd xmm1, xmm0
jp 0x14005a65d
jne 0x14005a65d
mov eax, dword [rsp + 0x88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x360]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x360], xmm0
jmp 0x14005a674
xor eax, eax
cmp eax, 1
je 0x14005a670
jmp 0x14005a75d
jmp 0x14005a69d
cvtsi2sd xmm0, dword [rsp + 0x88]
movsd xmm1, qword [rsp + 0x360]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x64c], eax
jmp 0x14005a768
xor eax, eax
test eax, eax
je 0x14005a6a9
jmp 0x14005a6b8
jmp 0x14005a472
jmp 0x14005a472
xor eax, eax
cmp eax, 2
je 0x14005a75d
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1574], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1574]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x157c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x1578], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1578]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x157c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x360]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x64c], eax
jmp 0x14005a768
mov dword [rsp + 0x64c], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x30]
sub eax, 0x4d
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x368], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1580], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1580]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1588], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x1584], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x1584]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1588]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005a9e5
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x158c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x158c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1590], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1590]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1594], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1594]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005a9e5
mov dword [rsp + 0x8c], 0
jmp 0x14005a8a7
cmp dword [rsp + 0x8c], 0xf
jae 0x14005a9e0
cvtsi2sd xmm0, dword [rsp + 0x8c]
movsd xmm1, qword [rsp + 0x368]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e40], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e40]
ucomisd xmm1, xmm0
jp 0x14005a922
jne 0x14005a922
mov eax, dword [rsp + 0x8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x368]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x368], xmm0
jmp 0x14005a79f
cvtsi2sd xmm0, dword [rsp + 0x8c]
movsd xmm1, qword [rsp + 0x368]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e48], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e48]
ucomisd xmm1, xmm0
jp 0x14005a98a
jne 0x14005a98a
mov eax, dword [rsp + 0x8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x368]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x368], xmm0
jmp 0x14005a9a1
xor eax, eax
cmp eax, 1
je 0x14005a99d
jmp 0x14005aa8a
jmp 0x14005a9ca
cvtsi2sd xmm0, dword [rsp + 0x8c]
movsd xmm1, qword [rsp + 0x368]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x650], eax
jmp 0x14005aa95
xor eax, eax
test eax, eax
je 0x14005a9d6
jmp 0x14005a9e5
jmp 0x14005a79f
jmp 0x14005a79f
xor eax, eax
cmp eax, 2
je 0x14005aa8a
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x1598], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x1598]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15a0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x159c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x159c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x15a0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x368]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x650], eax
jmp 0x14005aa95
mov dword [rsp + 0x650], 8
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x208]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x64c]
movsxd rcx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x208]
mov edi, dword [rsp + 0x650]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x208]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x15a4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x15a4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15a8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x15a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15ac], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x15ac]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005ae9c
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd548]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x370], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x15b0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x15b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15b8], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x15b4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x15b4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x15b8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14005adc3
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x15bc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x15bc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15c0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x15c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15c4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x15c4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005adc3
mov dword [rsp + 0x90], 0
jmp 0x14005ac85
cmp dword [rsp + 0x90], 0xf
jae 0x14005adbe
cvtsi2sd xmm0, dword [rsp + 0x90]
movsd xmm1, qword [rsp + 0x370]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e50], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e50]
ucomisd xmm1, xmm0
jp 0x14005ad00
jne 0x14005ad00
mov eax, dword [rsp + 0x90]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x370]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x370], xmm0
jmp 0x14005ab7d
cvtsi2sd xmm0, dword [rsp + 0x90]
movsd xmm1, qword [rsp + 0x370]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1e58], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1e58]
ucomisd xmm1, xmm0
jp 0x14005ad68
jne 0x14005ad68
mov eax, dword [rsp + 0x90]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x370]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x370], xmm0
jmp 0x14005ad7f
xor eax, eax
cmp eax, 1
je 0x14005ad7b
jmp 0x14005ae68
jmp 0x14005ada8
cvtsi2sd xmm0, dword [rsp + 0x90]
movsd xmm1, qword [rsp + 0x370]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x654], eax
jmp 0x14005ae73
xor eax, eax
test eax, eax
je 0x14005adb4
jmp 0x14005adc3
jmp 0x14005ab7d
jmp 0x14005ab7d
xor eax, eax
cmp eax, 2
je 0x14005ae68
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x15c8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x15c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x15d0], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x15cc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x15cc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x15d0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x370]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x654], eax
jmp 0x14005ae73
mov dword [rsp + 0x654], 8
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x208]
mov edx, dword [rsp + 0x654]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x208]
mov dword [rdx + rcx*4], eax
jmp 0x140059876
mov rax, qword [rsp + 0x760]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x760]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x15d4], eax
mov ecx, dword [rsp + 0x15d4]
call fcn.140062a3c
mov rcx, qword [rsp + 0x2230]
xor rcx, rsp
call fcn.14005c650
add rsp, 0x2240
pop rdi
ret