Function at 0x1400028e7
Capabilities:
Encrypt data using speck

Disassembly:
jmp 0x1400a8520
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0xf78
xor eax, eax
mov dword [rsp + 0x20], r8d
mov ebp, r9d
mov dword [rsp + 0x28], edx
pxor xmm2, xmm2
movsxd rdx, edx
movsxd r8, r8d
mov qword [rsp + 0xeb0], rdx
mov qword [rsp + 0xc40], r8
mov dword [rsp + 0xe20], eax
mov dword [rsp + 0x488], eax
mov eax, 0x80
movups xmmword [rsp + rax + 0xb70], xmm2
movups xmmword [rsp + rax + 0xb60], xmm2
movups xmmword [rsp + rax + 0xb50], xmm2
movups xmmword [rsp + rax + 0xb40], xmm2
sub rax, 0x40
jne 0x1400a856e
mov r11d, 1
mov r9d, 0x39
mov r12, qword [rsp + 0xeb0]
mov r10d, r11d
mov rsi, qword [rsp + 0xfe0]
mov r8, r12
test r12, r12
jle 0x1400a87a4
movsxd rdx, ebp
shr rdx, 0x16
and rdx, 7
test ebp, 0x80000000
jne 0x1400a85dd
test rdx, 1
jne 0x1400a85dd
xor edx, edx
mov r15d, ebp
mov ebx, ebp
and r15d, 0x80002000
mov eax, 1
cmp r15d, 0x80002000
mov r15d, 0
mov r13d, ebp
cmove r15d, eax
xor edi, edi
and ebx, 0x80001000
cmp ebx, 0x80001000
mov ecx, edx
cmove edi, eax
xor r14d, r14d
and r13d, 0x80000800
cmp r13d, 0x80000800
cmove r14d, eax
shl r15d, 0xa
shl edi, 9
shl r14d, 8
or r15d, edi
shl eax, cl
or r15d, r14d
or r15d, eax
mov rax, rdx
and rax, 2
test rdx, 4
je 0x1400a866b
mov edx, 0xfa
test rax, rax
mov eax, 0xaaaa
cmovne rdx, rax
mov qword [rsp + 0xe00], rdx
jmp 0x1400a869b
test rax, rax
je 0x1400a867e
mov qword [rsp + 0xe00], 0xfa00
jmp 0x1400a869b
mov eax, 0xa8a8
test rdx, 1
mov edx, 0
cmove rdx, rax
mov qword [rsp + 0xe00], rdx
movss dword [rsp + 0x30], xmm0
movabs rcx, 0x80000000
mov r14d, dword [rsp + 0x30]
and rcx, r14
mov rbx, r14
mov rax, r14
xor rbx, rcx
mov r13, rbx
mov edi, ebx
shr r13, 7
mov edx, edi
mov dword [rsp + 0x30], ebx
add r13, 0xffffffffff810000
movss xmm1, dword [rsp + 0x30]
and rax, 0x7f800000
jne 0x1400a8884
test rbx, rbx
jne 0x1400a8710
bt r14, 0x1f
jae 0x1400a8700
mov rax, qword [rsp + 0x1000]
mov dword [rax], 0xffffffff
jmp 0x1400a8741
mov rax, qword [rsp + 0x1000]
mov dword [rax], 1
jmp 0x1400a8741
bt r14, 0x1f
jae 0x1400a8727
mov rax, qword [rsp + 0x1000]
mov dword [rax], 0xfffffffe
jmp 0x1400a8735
mov rax, qword [rsp + 0x1000]
mov dword [rax], 2
test ebp, 0x10000000
je 0x1400a8829
test ebp, 0x80
je 0x1400a8757
mov qword [rsp + 0xc40], 1
jmp 0x1400a87c6
test ebp, 2
je 0x1400a877f
mov rax, qword [rsp + 0xc40]
inc rax
mov qword [rsp + 0xc40], rax
cmp rax, qword [rsp + 0xeb0]
jle 0x1400a8799
mov r12, r8
mov rbx, rsi
lea rax, [r12 - 1]
mov qword [rsp + 0xc40], rax
mov rdi, rbx
test r12, r12
jne 0x1400a87d1
jmp 0x1400a8801
cmp qword [rsp + 0xc40], 0
jg 0x1400a87c6
mov rdx, qword [rsp + 0xff8]
mov rdi, rsi
mov byte [rsi], 0x30
lea rbx, [rsi + 1]
mov dword [rdx], 1
mov edx, 6
jmp 0x1400a904a
dec qword [rsp + 0xc40]
mov rdi, rsi
mov rax, qword [rsp + 0xc40]
lea r8, [rax + 1]
cmp rax, 0x60
jle 0x1400ad6ed
mov rcx, rsi
mov edx, 0x30
call fcn.140003ad0
mov rax, qword [rsp + 0xc40]
lea rbx, [rsi + rax + 1]
mov rdx, qword [rsp + 0xff8]
mov r8d, 0xb
test ebp, 0x40000000
mov dword [rdx], 1
mov edx, 0
cmovne edx, r8d
jmp 0x1400a904a
mov r13, rdx
and r13, 0x7f800000
shr r13, 0x17
test r13, r13
je 0x1400a8845
mov rax, rdx
shl rax, 0x28
jmp 0x1400a8862
mov rax, rdx
xor r13d, r13d
shl rax, 0x29
test rax, rax
jle 0x1400a885f
add rax, rax
inc r13
test rax, rax
jg 0x1400a8854
neg r13
shr rax, 0x2f
shl r13, 0x10
movzx eax, ax
add r13, 0xffffffffff810000
mov qword [rsp + 0xb88], rax
or r13, rax
jmp 0x1400a8b28
cmp rax, 0x7f800000
jne 0x1400a8b03
cmp rbx, 0x7f800000
jne 0x1400a89c1
bt r14, 0x1f
jae 0x1400a88b4
mov rax, qword [rsp + 0x1000]
mov dword [rax], 0xfffffffc
jmp 0x1400a88c2
mov rax, qword [rsp + 0x1000]
mov dword [rax], 4
test r15d, 0x400
je 0x1400a88e6
test r15d, 0x200
lea rax, str.INFINITY
lea r8, str.infinity
cmovne r8, rax
jmp 0x1400a88ed
lea r8, str.Infinity
mov rbx, rsi
mov dl, byte [r8]
test dl, dl
je 0x1400a898e
xor eax, eax
inc rax
lea r9, [rsi + rax*8]
mov byte [r9 - 8], dl
lea rbx, [r9 - 7]
mov dl, byte [r8 + rax*8 - 7]
test dl, dl
je 0x1400a898e
mov byte [r9 - 7], dl
lea rbx, [r9 - 6]
mov dl, byte [r8 + rax*8 - 6]
test dl, dl
je 0x1400a898e
mov byte [r9 - 6], dl
lea rbx, [r9 - 5]
mov dl, byte [r8 + rax*8 - 5]
test dl, dl
je 0x1400a898e
mov byte [r9 - 5], dl
lea rbx, [r9 - 4]
mov dl, byte [r8 + rax*8 - 4]
test dl, dl
je 0x1400a898e
mov byte [r9 - 4], dl
lea rbx, [r9 - 3]
mov dl, byte [r8 + rax*8 - 3]
test dl, dl
je 0x1400a898e
mov byte [r9 - 3], dl
lea rbx, [r9 - 2]
mov dl, byte [r8 + rax*8 - 2]
test dl, dl
je 0x1400a898e
mov byte [r9 - 2], dl
lea rbx, [r9 - 1]
mov dl, byte [r8 + rax*8 - 1]
test dl, dl
je 0x1400a898e
mov byte [r9 - 1], dl
mov rbx, r9
mov dl, byte [r8 + rax*8]
test dl, dl
jne 0x1400a88fd
mov r8, qword [rsp + 0xff8]
and ebp, 0x40000000
mov rdx, rbx
shr ebp, 0x1d
sub rdx, rsi
mov dword [r8], edx
mov ecx, ebp
mov edx, 4
shl edx, cl
mov rdi, qword [rsp + 0xfe0]
add edx, 0xfffffffc
jmp 0x1400a904a
test r15d, 0x400
je 0x1400a8a1a
test edi, 0x400000
jne 0x1400a89e2
shr rcx, 0x1e
mov edx, 0x10
shr edx, cl
add edx, 0xfffffff6
jmp 0x1400a89f4
mov eax, 0xfffffffb
mov edx, 5
bt r14, 0x1f
cmovb edx, eax
mov r8, qword [rsp + 0x1000]
test r15d, 0x200
lea rax, [0x14014e4d4]
mov dword [r8], edx
lea r8, [0x14014e4d8]
cmovne r8, rax
jmp 0x1400a8a2f
mov rax, qword [rsp + 0x1000]
lea r8, [0x14014e4dc]
mov dword [rax], 0
mov rbx, rsi
mov dl, byte [r8]
test dl, dl
je 0x1400a8ad0
xor eax, eax
inc rax
lea r9, [rsi + rax*8]
mov byte [r9 - 8], dl
lea rbx, [r9 - 7]
mov dl, byte [r8 + rax*8 - 7]
test dl, dl
je 0x1400a8ad0
mov byte [r9 - 7], dl
lea rbx, [r9 - 6]
mov dl, byte [r8 + rax*8 - 6]
test dl, dl
je 0x1400a8ad0
mov byte [r9 - 6], dl
lea rbx, [r9 - 5]
mov dl, byte [r8 + rax*8 - 5]
test dl, dl
je 0x1400a8ad0
mov byte [r9 - 5], dl
lea rbx, [r9 - 4]
mov dl, byte [r8 + rax*8 - 4]
test dl, dl
je 0x1400a8ad0
mov byte [r9 - 4], dl
lea rbx, [r9 - 3]
mov dl, byte [r8 + rax*8 - 3]
test dl, dl
je 0x1400a8ad0
mov byte [r9 - 3], dl
lea rbx, [r9 - 2]
mov dl, byte [r8 + rax*8 - 2]
test dl, dl
je 0x1400a8ad0
mov byte [r9 - 2], dl
lea rbx, [r9 - 1]
mov dl, byte [r8 + rax*8 - 1]
test dl, dl
je 0x1400a8ad0
mov byte [r9 - 1], dl
mov rbx, r9
mov dl, byte [r8 + rax*8]
test dl, dl
jne 0x1400a8a3f
mov r8, qword [rsp + 0xff8]
mov rdx, rbx
sub rdx, rsi
mov r9d, 0xa
test ebp, 0x40000000
mov dword [r8], edx
mov edx, 0
mov rdi, qword [rsp + 0xfe0]
cmovne edx, r9d
jmp 0x1400a904a
bt r14, 0x1f
jae 0x1400a8b1a
mov rax, qword [rsp + 0x1000]
mov dword [rax], 0xfffffffd
jmp 0x1400a8b28
mov rax, qword [rsp + 0x1000]
mov dword [rax], 3
shr rcx, 0x1f
mov dword [rsp + 0xe08], ecx
test r15d, 0x100
je 0x1400a90c3
and r15d, 0x200
mov r14, rdx
mov r11d, r15d
and r14, 0x7f800000
xor r11d, 0x200
mov r10d, 4
shr r11d, 4
shr r14, 0x17
lea r9d, [r11 + 0x46]
add r11d, 8
test r14, r14
je 0x1400a8b83
or rdx, 0xffffffffff800000
shl rdx, 0x28
jmp 0x1400a8b9d
shl rdx, 0x29
xor r14d, r14d
test rdx, rdx
jle 0x1400a8b9a
add rdx, rdx
inc r14
test rdx, rdx
jg 0x1400a8b8f
neg r14
mov eax, ebp
lea rbx, [r14 - 0x7e]
mov r13d, 1
and eax, 2
mov dword [rsp + 0xb78], eax
jne 0x1400a8bc3
add r14, 0xffffffffffffff85
mov eax, 3
mov r12, r8
jmp 0x1400a8c2b
cmp qword [rsp + 0xc40], 0
jl 0x1400ad8bb
mov rdi, rbx
xor r12d, r12d
and rdi, 3
mov rax, rdi
neg rax
add rax, 4
test rdi, rdi
cmove rax, r12
test rbx, rbx
jle 0x1400ad820
mov rbx, qword [rsp + 0xeb0]
lea r12, [r14 - 0x7b]
sar r12, 1
shr r12, 0x3e
lea r12, [r12 + r14 - 0x7b]
sar r12, 2
add r12, qword [rsp + 0xc40]
cmp r12, rbx
cmovge r12, rbx
lea r14, [rax + r14 - 0x7e]
test rax, rax
je 0x1400a8c60
mov rcx, rax
mov r13, rdx
neg rcx
mov ebx, 1
shl r13, cl
test r13, r13
mov ecx, eax
mov qword [rsp + 0xb90], r13
mov r13d, 2
cmove r13, rbx
shr rdx, cl
mov qword [rsp + 0xb88], rdx
jmp 0x1400a8c68
mov qword [rsp + 0xb88], rdx
mov byte [rsi], 0x30
lea rbx, [rsi + 1]
mov qword [rsp + 0x28], 0x10
mov rdi, rbx
mov dword [rsp + 0x48], 0
mov ecx, 1
test r12, r12
jle 0x1400a8e39
mov rax, r12
shr rax, 0x3f
add rax, r12
sar rax, 1
mov qword [rsp + 0x20], 0
test rax, rax
jbe 0x1400ad809
mov dword [rsp + 0xc10], r9d
mov qword [rsp + 0xe18], r12
mov qword [rsp + 0xdf0], rdi
mov qword [rsp + 0xc00], r8
mov dword [rsp + 0xc08], ebp
mov r12, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
mov rbx, rdx
dec r9
shr rbx, 0x3c
mov r8d, ebx
shl rdx, 4
and r8d, 1
cmp ebx, 0xa
jge 0x1400a8d00
add ebx, 0x30
jmp 0x1400a8d0c
lea ebp, [rbx + 0x37]
add ebx, 0x57
test r15d, r15d
cmovne ebx, ebp
mov byte [rsi + r12*2 + 1], bl
lea rbp, [rsi + r12*2]
lea rbx, [rbp + 2]
test r9, r9
jne 0x1400a8d38
cmp rcx, r13
jae 0x1400ad7d8
inc rcx
mov r9d, 0x10
mov rdx, qword [rsp + rcx*8 + 0xb80]
mov rbx, rdx
dec r9
shr rbx, 0x3c
mov r8d, ebx
shl rdx, 4
and r8d, 1
cmp ebx, 0xa
jge 0x1400a8d57
add ebx, 0x30
jmp 0x1400a8d63
lea edi, [rbx + 0x37]
add ebx, 0x57
test r15d, r15d
cmovne ebx, edi
mov byte [rsi + r12*2 + 2], bl
inc r12
lea rbx, [rbp + 3]
cmp r12, rax
jb 0x1400ad7b4
mov qword [rsp + 0x20], r12
mov rax, r12
add rax, rax
mov r12, qword [rsp + 0xe18]
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x48], r8d
mov r9d, dword [rsp + 0xc10]
mov rdi, qword [rsp + 0xdf0]
mov r8, qword [rsp + 0xc00]
mov ebp, dword [rsp + 0xc08]
mov qword [rsp + 0x20], rax
cmp rax, r12
jae 0x1400a8e1d
cmp qword [rsp + 0x28], 0
jne 0x1400a8ddf
cmp rcx, r13
jae 0x1400a8e2a
inc rcx
mov qword [rsp + 0x28], 0x10
mov rdx, qword [rsp + rcx*8 + 0xb80]
mov rax, rdx
shr rax, 0x3c
mov ebx, eax
dec qword [rsp + 0x28]
and ebx, 1
shl rdx, 4
mov dword [rsp + 0x48], ebx
cmp eax, 0xa
jge 0x1400a8e02
add eax, 0x30
jmp 0x1400a8e0e
lea ebx, [rax + 0x37]
add eax, 0x57
test r15d, r15d
cmovne eax, ebx
mov r15, qword [rsp + 0x20]
mov byte [r15 + rsi + 1], al
lea rbx, [rsi + r15 + 2]
cmp qword [rsp + 0x28], 0
jne 0x1400a8e39
cmp rcx, r13
jb 0x1400a8e2e
xor edx, edx
jmp 0x1400a8e39
inc rcx
mov rdx, qword [rsp + rcx*8 + 0xb80]
mov qword [rsp + 0x38], 0
lea r15, [rcx + 1]
cmp r15, r13
ja 0x1400a8f12
sub r13, r15
xor r15d, r15d
inc r13
mov eax, 1
mov qword [rsp + 0x40], r13
shr r13, 1
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x20], r15
test r13, r13
mov r13, qword [rsp + 0x40]
jbe 0x1400a8ef3
mov qword [rsp + 0xc00], r8
lea r15, [rsp + rcx*8 + 0xb88]
mov qword [rsp + 0xe10], rsi
mov dword [rsp + 0xc08], ebp
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
or rax, qword [rbp + r15]
inc r8
or rax, qword [rbp + r15 + 8]
add rbp, 0x10
cmp r8, rsi
jb 0x1400a8eb1
mov qword [rsp + 0x30], r8
mov r15, r8
mov r8, qword [rsp + 0xc00]
mov rsi, qword [rsp + 0xe10]
mov ebp, dword [rsp + 0xc08]
mov qword [rsp + 0x38], rax
lea rax, [r15*2 + 1]
lea r15, [rax - 1]
cmp r15, r13
jae 0x1400a8f12
mov r15, qword [rsp + 0x38]
lea r13, [rcx + rax]
or r15, qword [rsp + r13*8 + 0xb80]
mov qword [rsp + 0x38], r15
mov r13, qword [rsp + 0xff8]
mov r15d, dword [rsp + 0x48]
add r15d, r15d
mov dword [r13], r14d
mov r13, rdx
mov r14d, dword [rsp + 0xe08]
add rdx, rdx
mov edx, 0
lea r14d, [r15 + r14*8]
mov r15d, 1
cmovne edx, r15d
shr r13, 0x3f
add r14d, r13d
mov r13, qword [rsp + 0x38]
or r13, rdx
mov edx, 0
cmovne edx, r15d
lea ecx, [r14 + rdx*4]
mov r14, qword [rsp + 0xe00]
shr r14, cl
and r14, 1
mov rdx, rbx
test r14d, r14d
je 0x1400a8fd1
movsx r8d, byte [rbx - 1]
cmp r8d, r9d
jne 0x1400a8fb2
xor r13d, r13d
inc r13
lea r14, [r13 + r13]
neg r14
lea r8, [rdx + r14]
lea rbx, [rdx + r14 + 1]
cmp r9b, byte [r8]
jne 0x1400ad763
mov rbx, r8
cmp r9b, byte [r8 - 1]
je 0x1400a8f87
movsx r8d, byte [r8 - 1]
mov edx, 1
cmp r8d, 0x39
cmove edx, r11d
add r8d, edx
mov byte [rbx - 1], r8b
cmp rbx, rdi
je 0x1400ad730
jmp 0x1400a8fda
test r12, r12
jle 0x1400a8741
test ebp, 0x80
mov rbp, rbx
je 0x1400a9013
cmp byte [rbx - 1], 0x30
jne 0x1400a9048
xor edx, edx
inc rdx
lea r8, [rdx + rdx]
neg r8
lea r9, [rbp + r8]
cmp byte [r9], 0x30
lea rbx, [rbp + r8 + 1]
jne 0x1400a9048
mov rbx, r9
cmp byte [r9 - 1], 0x30
je 0x1400a8fed
jmp 0x1400a9048
sub r12, rbx
add r12, rdi
lea r13d, [r12 - 1]
movsxd r13, r13d
test r13, r13
jl 0x1400a9048
cmp r13, 0x60
jle 0x1400ad76d
inc r13
mov rcx, rbx
mov edx, 0x30
mov r8, r13
call fcn.140003ad0
lea rbx, [rbp + r13]
xor edx, edx
mov r8, qword [rsp + 0xfe8]
mov byte [rbx], 0
test r8, r8
je 0x1400a9063
mov rbp, rdi
sub rbp, rsi
mov dword [r8], ebp
mov rbp, qword [rsp + 0xff0]
test rbp, rbp
je 0x1400a9079
neg rsi
add rsi, rbx
mov dword [rbp], esi
mov rbp, rdi
test rdi, rdi
je 0x1400a9098
cmp rbp, rbx
jae 0x1400a9098
mov sil, byte [rbp]
inc rbp
cmp sil, 0x30
jne 0x1400a909d
test rbp, rbp
jne 0x1400a9081
mov edx, 0xb
mov rcx, qword [rsp + 0x1008]
test rcx, rcx
je 0x1400a90ac
mov dword [rcx], edx
mov rax, rdi
add rsp, 0xf78
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0x4d104d43
mov ebx, 0x4d104d42
test r13, r13
mov edi, ebp
cmovl rbx, rax
mov r14d, r15d
imul r13, rbx
mov eax, r15d
and edi, 2
and r14d, 2
lea rbx, [rsi + 1]
sar r13, 0x30
and eax, 0x41
mov dword [rsp + 0xb78], edi
and r15d, 0x14
pxor xmm0, xmm0
inc r13
mov dword [rsp + 0xc28], r14d
lea rdi, [0x140000000]
mov qword [rsp + 0xe30], rbx
mov dword [rsp + 0xc38], r10d
mov qword [rsp + 0xe10], rsi
cvtss2sd xmm0, xmm1
mov dword [rsp + 0xc18], r15d
mov dword [rsp + 0xc20], eax
mov dword [rsp + 0xc30], r11d
mov r11d, 0x80
mov dword [rsp + 0xc10], r9d
mov r9d, 1
mov qword [rsp + 0xc00], r8
mov dword [rsp + 0xc08], ebp
mov esi, dword [rsp + 0xb78]
mov rbx, qword [rsp + 0xc40]
mov r14d, dword [rsp + 0xe20]
mov r10, qword [rsp + 0xff8]
jmp 0x1400a91da
mov r13, qword [rsp + 0xde8]
mov r9d, 1
neg r13
mov r11d, 0x80
mov rdx, qword [rsp + 0xde0]
lea rdi, [0x140000000]
mov esi, dword [rsp + 0xb78]
inc r13
mov rbx, qword [rsp + 0xc40]
mov r12, qword [rsp + 0xe18]
mov r14d, dword [rsp + 0xe20]
mov r10, qword [rsp + 0xff8]
mov eax, r13d
test esi, esi
je 0x1400a9233
test rbx, rbx
jge 0x1400a91f4
neg ebx
mov dword [rsp + 0x488], ebx
mov r14d, ebx
xor ebx, ebx
lea r12, [r13 + rbx]
cmp r12, qword [rsp + 0xeb0]
jle 0x1400a922a
sub r12, qword [rsp + 0xeb0]
mov dword [r10], eax
neg r12d
add r12d, dword [rsp + 0x488]
test r14d, r14d
cmovne r14d, r12d
mov r12, qword [rsp + 0xc00]
jmp 0x1400a9236
test r12, r12
jle 0x1400ad8c8
mov dword [r10], eax
neg r13
jne 0x1400a9292
mov rax, rdx
xor ecx, ecx
and rax, 0x7f800000
mov r8d, 0x18
shr rax, 0x17
test rax, rax
je 0x1400a9265
mov rbp, rdx
or rbp, 0xffffffffff800000
shl rbp, 0x28
jmp 0x1400a9281
mov rbp, rdx
xor eax, eax
shl rbp, 0x29
test rbp, rbp
jle 0x1400a927e
add rbp, rbp
inc rax
test rbp, rbp
jg 0x1400a9273
neg rax
mov qword [rsp + 0xb88], rbp
add rax, 0xffffffffffffff82
jmp 0x1400a93cf
cmp r12, 0xf
jl 0x1400a92c7
mov rax, r11
lea rcx, [rsp + rax + 0x190]
movups xmmword [rcx], xmm2
movups xmmword [rcx - 0x10], xmm2
movups xmmword [rcx - 0x20], xmm2
movups xmmword [rcx - 0x30], xmm2
sub rax, 0x40
jne 0x1400a929b
cmp r13, 0xfffffffffffffeaa
jl 0x1400a935a
jmp 0x1400a92ff
mov ecx, 1
cmp r13, 0x24
jle 0x1400a9363
mov rax, r11
movups xmmword [rsp + rax + 0x190], xmm2
movups xmmword [rsp + rax + 0x180], xmm2
movups xmmword [rsp + rax + 0x170], xmm2
movups xmmword [rsp + rax + 0x160], xmm2
sub rax, 0x40
jne 0x1400a92d9
cmp r13, 0x159
jg 0x1400a935a
mov r8d, 0x40
cmp r12, 0x11
cmovg r8, r11
xor ecx, ecx
xor eax, eax
cmp r8, 0x80
cmovne ecx, r9d
mov qword [rsp + 0xe28], rcx
mov qword [rsp + 0xde8], r13
mov qword [rsp + 0xde0], rdx
mov qword [rsp + 0xc40], rbx
mov qword [rsp + 0xe18], r12
mov dword [rsp + 0xe20], r14d
jmp 0x1400a9a59
xor ecx, ecx
mov r8, r11
xor eax, eax
jmp 0x1400a9325
movsd xmm3, qword [rdi + r13*8 + 0x14fa58]
movabs rax, 0x7ff0000000000000
mulsd xmm3, xmm0
mov r8d, 0x35
movq r15, xmm3
and rax, r15
shr rax, 0x34
test rax, rax
je 0x1400a93a5
movabs rbp, 0x10000000000000
or rbp, r15
shl rbp, 0xb
jmp 0x1400a93c1
mov rbp, r15
xor eax, eax
shl rbp, 0xc
test rbp, rbp
jle 0x1400a93be
add rbp, rbp
inc rax
test rbp, rbp
jg 0x1400a93b3
neg rax
mov qword [rsp + 0xb88], rbp
add rax, 0xfffffffffffffc02
mov qword [rsp + 0xe28], rcx
mov ebp, 1
mov qword [rsp + 0xde8], r13
mov qword [rsp + 0xde0], rdx
mov qword [rsp + 0xc40], rbx
mov qword [rsp + 0xe18], r12
mov dword [rsp + 0xe20], r14d
test rax, rax
jg 0x1400a918a
neg rax
test eax, eax
je 0x1400a9570
mov esi, eax
xor r9d, r9d
neg esi
mov rdx, qword [rsp + rbp*8 + 0xb80]
mov ecx, esi
mov rbx, rdx
shl rbx, cl
mov ecx, eax
shr rdx, cl
mov qword [rsp + rbp*8 + 0xb80], rdx
lea rdx, [rbp - 1]
mov edi, edx
mov qword [rsp + rbp*8 + 0xb88], rbx
test edi, edi
je 0x1400a9565
movsxd rdx, edx
lea r10d, [rdi + 0x3f]
shr r10d, 6
mov dword [rsp + 0xc50], eax
lea rbx, [rsp + rdx*8 + 0xb80]
xor edx, edx
mov r11d, r9d
mov r13, rdx
shl r11d, 6
mov r15, r13
mov r14, r15
lea eax, [r11 + 0x40]
neg r11d
cmp edi, eax
cmovl eax, edi
add r11d, eax
je 0x1400a94ca
movsxd rcx, r9d
mov r12, rcx
shl r12, 9
shl rcx, 6
neg r12
movsxd rax, eax
neg rcx
add r12, rbx
add rcx, rax
mov rdx, qword [r14 + r12]
inc r13
mov qword [rsp + r15 + 0x490], rdx
add r14, 0xfffffffffffffff8
add r15, 8
cmp r13, rcx
jb 0x1400a94ac
xor edx, edx
mov r14, rdx
test r11d, r11d
je 0x1400a9551
movsxd r12, r9d
mov r13, r12
shl r13, 9
neg r13
shl r12, 6
movsxd rax, eax
neg r12
mov qword [rsp + 0xdf8], r8
add r12, rax
mov rax, qword [rbx + r13 + 8]
lea r11, [rbx + r13]
mov r15d, dword [rsp + 0xc50]
mov ecx, esi
lea r8, [r14*8]
neg r8
add r8, r11
mov rdx, qword [rsp + r14*8 + 0x490]
inc r14
shl rdx, cl
mov ecx, r15d
or rax, rdx
mov qword [r8 + 8], rax
mov rax, qword [r8]
shr rax, cl
cmp r14, r12
jb 0x1400a9505
shl r14, 3
lea r11, [rbx + r13 + 8]
sub r11, r14
xor edx, edx
mov r8, qword [rsp + 0xdf8]
mov qword [r11], rax
inc r9d
cmp r9d, r10d
jb 0x1400a946e
mov rbx, qword [rsp + rbp*8 + 0xb88]
test rbx, rbx
lea rax, [rbp + 1]
cmovne rbp, rax
mov rsi, qword [rsp + 0xe18]
mov edx, 0x27
cmp rsi, 0x27
mov r10, qword [rsp + 0xe10]
cmovle rdx, rsi
mov rbx, qword [rsp + 0xe30]
mov rdi, rbx
mov byte [r10], 0x30
xor r10d, r10d
cmp edx, dword [rsp + 0xe20]
jle 0x1400a9791
sub edx, dword [rsp + 0xe20]
je 0x1400a9791
mov qword [rsp + 0xdf8], r8
xor r9d, r9d
mov qword [rsp + 0xdf0], rdi
xor ecx, ecx
mov r15d, 1
mov qword [rsp + 0xb80], 0
xor esi, esi
test rbp, rbp
je 0x1400a9764
mov esi, ebp
mov rax, rcx
mov r14, qword [rsp + rbp*8 + 0xb80]
mov qword [rsp + rbp*8 + 0xb80], 0
test esi, esi
je 0x1400a9752
mov edi, esi
mov r11, rcx
shr edi, 0x1f
mov eax, r15d
add edi, esi
mov r8, r11
sar edi, 1
test edi, edi
jbe 0x1400a96e2
movsxd r12, ebp
movsxd rax, edi
lea r13, [rsp + r12*8 + 0xb80]
mov r12, qword [r13]
xor edi, edi
lea r15, [r14 + r14*4]
cmp r15, r14
lea r12, [r12 + r15*2]
mov qword [r8 + r13], r12
setb dil
inc r11
shr r14, 0x3e
add r14, rdi
mov rdi, r15
add r15, r15
add r14, r14
cmp r12, r15
mov r15d, 0
mov r12, qword [r8 + r13 - 8]
setb r15b
shr rdi, 0x3f
or r14, rdi
add r14, r15
lea r15, [r12 + r12*4]
xor edi, edi
cmp r15, r12
setb dil
shr r12, 0x3e
lea r14, [r14 + r15*2]
add r12, rdi
mov rdi, r15
add r15, r15
add r12, r12
cmp r14, r15
mov r15d, 0
mov qword [r8 + r13 - 8], r14
setb r15b
shr rdi, 0x3f
or r12, rdi
mov r14, qword [r8 + r13 - 0x10]
add r12, r15
add r8, 0xfffffffffffffff0
cmp r11, rax
jb 0x1400a9638
mov r15d, 1
lea eax, [r11 + r11 + 1]
shl r11, 4
neg r11
mov qword [r13 + r11], r12
lea r8d, [rax - 1]
cmp r8d, esi
jae 0x1400a974a
movsxd rdi, eax
lea rsi, [r14 + r14*4]
movsxd rax, ebp
xor r8d, r8d
cmp rsi, r14
lea r12, [rsi + rsi]
setb r8b
sub rax, rdi
shr r14, 0x3e
add r14, r8
xor r8d, r8d
mov r11, qword [rsp + rax*8 + 0xb88]
add r14, r14
lea r13, [r11 + rsi*2]
shr rsi, 0x3f
cmp r13, r12
mov qword [rsp + rax*8 + 0xb88], r13
setb r8b
or r14, rsi
add r14, r8
mov qword [rsp + rax*8 + 0xb80], r14
mov rax, qword [rsp + rbp*8 + 0xb80]
jmp 0x1400a9752
mov rax, qword [rsp + rbp*8 + 0xb80]
test rax, rax
lea r8, [rbp - 1]
mov esi, dword [rsp + 0xb80]
cmove rbp, r8
inc r9d
lea eax, [rsi + 0x30]
mov byte [rbx], al
add r10, 0x35269
inc rbx
cmp r9d, edx
jb 0x1400a95d4
mov r8, qword [rsp + 0xdf8]
mov rdi, qword [rsp + 0xdf0]
jmp 0x1400a9798
mov esi, dword [rsp + 0xb80]
add r10, 0xffff
lea r13, [r8 + 0x3f]
and r13, 0xffffffffffffffc0
movabs r12, 0x8000000000000000
mov rax, r13
shr r10, 0x10
sub rax, r8
add rax, r10
mov ebp, eax
mov ecx, ebp
mov r11, qword [rsp + 0xe28]
mov r10, qword [rsp + 0xb88]
shl r11, cl
mov byte [rbx], 0
add r12, r10
je 0x1400a97fb
movabs r9, 0x8000000000000000
mov edx, 1
cmp r9, r12
mov r9d, 0
cmovne r9d, edx
jmp 0x1400a97fe
xor r9d, r9d
xor r15d, r15d
mov edx, 1
test r12, r12
cmovns r15d, edx
and esi, 1
mov r14d, dword [rsp + 0xe08]
lea r14d, [r15 + r14*8]
lea edx, [rsi + rsi]
lea esi, [r14 + rsi*2]
mov r14, qword [rsp + 0xe00]
lea ecx, [rsi + r9*4]
shr r14, cl
lea r9, [r12 + r11]
and r14, 1
lea rsi, [r11 + r11]
cmp r9, rsi
mov rsi, r13
mov r9d, 0
setbe r9b
sub rsi, rax
cmp rsi, 0x40
jb 0x1400a9a27
movabs rsi, 0x8000000000000000
lea r9, [rsi + r10 + 1]
cmp r9, 1
ja 0x1400adbf0
shr rax, 6
mov ecx, ebp
shr r13, 6
sub r13, rax
mov r11, qword [rsp + 0xe28]
mov ebp, r13d
shl r11, cl
mov esi, ebp
mov r9, r11
mov r10, r11
cmp ebp, 1
jle 0x1400a99cc
mov ecx, 1
lea r14d, [rbp - 1]
shr r14d, 0x1f
xor eax, eax
xor r15d, r15d
lea r14d, [rbp + r14 - 1]
sar r14d, 1
test r14d, r14d
jbe 0x1400a996a
movsxd r13, r13d
mov qword [rsp + 0xdf0], rdi
mov qword [rsp + 0xc48], rbx
lea r13, [rsp + r13*8 + 0xb80]
nop
mov rdi, qword [r15 + r13]
xor ebx, ebx
test rdi, rdi
cmovne ebx, ecx
add r9, rdi
neg r10
cmp r9, rdi
mov r9d, 0
setb r9b
add r10, rdi
cmp r10, rdi
mov r10d, 0
seta r10b
xor edi, edi
or r12, rbx
mov rbx, qword [r15 + r13 - 8]
test rbx, rbx
cmovne edi, ecx
add r9, rbx
neg r10
cmp r9, rbx
mov r9d, 0
setb r9b
add r10, rbx
cmp r10, rbx
mov r10d, 0
seta r10b
inc eax
or r12, rdi
add r15, 0xfffffffffffffff0
cmp eax, r14d
jb 0x1400a98e0
mov rdi, qword [rsp + 0xdf0]
lea ecx, [rax + rax + 1]
add eax, eax
neg eax
mov rbx, qword [rsp + 0xc48]
add ebp, eax
lea r13d, [rcx - 1]
lea r14d, [rsi - 1]
cmp r13d, r14d
jae 0x1400adc2c
movsxd rsi, esi
xor r13d, r13d
mov ebp, esi
neg r10
sub ebp, ecx
xor r15d, r15d
movsxd rcx, ecx
sub rsi, rcx
mov r14, qword [rsp + rsi*8 + 0xb88]
mov esi, 1
test r14, r14
cmovne r13d, esi
add r9, r14
cmp r9, r14
mov r9d, 0
setb r9b
add r10, r14
cmp r10, r14
mov r10d, 0
seta r10b
or r12, r13
cmovge r15d, esi
movsxd rbp, ebp
mov rsi, qword [rsp + rbp*8 + 0xb80]
add r9, rsi
sub rsi, r10
xor r9, rsi
shr r9, 0x3f
test r12, r12
je 0x1400a9a04
movabs rbp, 0x8000000000000000
xor r10d, r10d
mov esi, 1
cmp rbp, r12
cmovne r10d, esi
jmp 0x1400a9a07
xor r10d, r10d
mov ebp, dword [rsp + 0xe08]
mov r14, qword [rsp + 0xe00]
lea esi, [rdx + rbp*8]
add esi, r15d
lea ecx, [rsi + r10*4]
shr r14, cl
and r14, 1
test r9d, r9d
je 0x1400adbf0
test r11, r11
je 0x1400adbf0
cmp r8, 0x80
jae 0x1400adb98
mov eax, 0x80
cmp r8, 0x40
mov r8d, 0x40
cmovae r8, rax
mov rbp, qword [rsp + 0xde0]
and rbp, 0x7f800000
shr rbp, 0x17
test rbp, rbp
je 0x1400a9a86
mov rsi, qword [rsp + 0xde0]
or rsi, 0xffffffffff800000
shl rsi, 0x28
jmp 0x1400a9aa7
mov rsi, qword [rsp + 0xde0]
xor ebp, ebp
shl rsi, 0x29
test rsi, rsi
jle 0x1400a9aa4
add rsi, rsi
inc rbp
test rsi, rsi
jg 0x1400a9a99
neg rbp
mov qword [rsp + 0xb88], rsi
mov eax, 0x80
movups xmmword [rsp + rax + 0x10], xmm2
movups xmmword [rsp + rax], xmm2
movups xmmword [rsp + rax - 0x10], xmm2
movups xmmword [rsp + rax - 0x20], xmm2
sub rax, 0x40
jne 0x1400a9ab4
mov rcx, qword [rsp + 0xde8]
cmp r8, 0x40
jne 0x1400aa1cf
mov rax, rcx
mov edx, 1
lea rcx, [rax + 0x2f]
cmp rcx, 0x5e
ja 0x1400a9b56
lea rcx, [0x140000000]
mov rbx, rax
mov rdi, qword [rcx + rbx*8 + 0x14f158]
movsx rax, word [rcx + rbx*2 + 0x14f33e]
mov qword [rsp + 0x1a8], rdi
test rdi, rdi
jne 0x1400ad9ac
xor ebx, ebx
xor ecx, ecx
inc rbx
add rcx, 0xfffffffffffffff0
lea rdi, [rbx + rbx]
neg rdi
cmp qword [rsp + rcx + 0x1b0], 0
lea rdx, [rdi + 2]
jne 0x1400ad23a
cmp qword [rsp + rcx + 0x1a8], 0
lea rdx, [rdi + 1]
je 0x1400a9b21
jmp 0x1400ad23a
cmp qword [rsp + 0xde8], 0
jl 0x1400ad9db
mov r12, rax
mov rcx, r12
shr rcx, 3
lea rax, [0x140000000]
movsxd r9, ecx
movzx ebx, word [rax + r9*2 + 0x14f522]
lea rdi, [r9 + 1]
shr ebx, 5
cmp rbx, r12
cmovle r9, rdi
movzx r11d, word [rax + r9*2 + 0x14f520]
mov r10d, r11d
shr r11d, 5
and r10d, 0x1f
movsx rcx, word [rax + r10*2 + 0x14f598]
neg r11
add r11, r12
movsxd r9, r11d
mov rax, qword [rax + r10*8 + 0x14f4a0]
lea rdi, [0x140000000]
mov qword [rsp + 0x28], rax
movsx rbx, word [rdi + r9*2 + 0x14f33e]
mov r9, qword [rdi + r9*8 + 0x14f158]
mov qword [rsp + 0x1a8], r9
test r9, r9
jne 0x1400a9c19
xor r9d, r9d
xor edi, edi
inc r9
add rdi, 0xfffffffffffffff0
lea r10, [r9 + r9]
neg r10
cmp qword [rsp + rdi + 0x1b0], 0
lea rdx, [r10 + 2]
jne 0x1400a9c19
cmp qword [rsp + rdi + 0x1a8], 0
lea rdx, [r10 + 1]
je 0x1400a9bed
mov r11, qword [rsp + rdx*8 + 0x1a0]
mov r14, rax
mov edi, r11d
mov r10, r11
shr r14, 0x20
mov r13, rdi
mov r15d, eax
mov rax, r14
imul r13, r14
imul rdi, r15
shr r10, 0x20
mov r12, r13
imul rax, r10
imul r10, r15
shl r13, 0x20
mov r9d, edx
shr r12, 0x20
add rdi, r13
movsxd r11, edx
add rax, r12
xor r12d, r12d
cmp rdi, r13
mov r13, r10
setb r12b
shl r10, 0x20
add rdi, r10
cmp rdi, r10
mov qword [rsp + r11*8 + 0xa58], rdi
mov edi, 0
setb dil
add rax, r12
shr r13, 0x20
add rax, r13
add rax, rdi
mov qword [rsp + r11*8 + 0xad0], 0
dec r9d
mov qword [rsp + r11*8 + 0xa50], rax
js 0x1400a9cff
cmp r11, 2
jl 0x1400ad9d4
mov edi, r11d
xor eax, eax
and edi, 0xfffffffe
movsxd rdi, edi
movdqu xmmword [rsp + rax*8 + 0xad0], xmm2
movdqu xmmword [rsp + rax*8 + 0xa50], xmm2
add rax, 2
cmp rax, rdi
jb 0x1400a9cc5
cmp rdi, r11
jae 0x1400a9cff
xor eax, eax
mov qword [rsp + rdi*8 + 0xad0], rax
mov qword [rsp + rdi*8 + 0xa50], rax
inc rdi
cmp rdi, r11
jb 0x1400a9ce7
xor r10d, r10d
lea r9, [rdx - 1]
movsxd r9, r9d
xor edi, edi
test r9, r9
je 0x1400a9e2b
mov qword [rsp + 0x7e8], rbx
lea r13, [rsp + r9*8 + 0xa50]
mov r12, qword [r13 + 8]
lea rax, [rsp + r9*8 + 0x1a0]
mov qword [rsp + 0x7f0], rcx
lea r11, [rsp + r9*8 + 0xad0]
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
mov rcx, qword [rax + rdi*8]
mov rbp, r14
mov esi, ecx
mov r8, rcx
imul rbp, rsi
imul rsi, r15
shr r8, 0x20
mov rcx, r15
imul rcx, r8
imul r8, r14
mov rbx, rbp
inc r10
shr rbp, 0x20
shl rbx, 0x20
add r8, rbp
mov rbp, rcx
add rsi, rbx
shl rbp, 0x20
cmp rsi, rbx
mov ebx, 0
setb bl
add rsi, rbp
cmp rsi, rbp
mov ebp, 0
setb bpl
add r12, rsi
cmp r12, rsi
mov qword [r13 + rdi*8 + 8], r12
mov r12d, 0
setb r12b
xor esi, esi
shr rcx, 0x20
add rbx, rcx
add r8, rbx
add rbp, r12
add r8, rbp
mov r12, qword [r13 + rdi*8]
add r12, r8
cmp r12, r8
setb sil
add qword [r11 + rdi*8 - 8], rsi
dec rdi
cmp r10, r9
jb 0x1400a9d58
shl r10, 3
neg r10
mov rbx, qword [rsp + 0x7e8]
mov rcx, qword [rsp + 0x7f0]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
mov qword [r10 + r13 + 8], r12
mov r13d, edx
lea r9, [rdx + 1]
mov r11, qword [rsp + r9*8 + 0xa50]
lea rdi, [rsp + rdx*8 + 0x1a8]
mov qword [rsp + 0xc68], r9
lea rax, [rcx + rbx]
mov qword [rdi], r11
xor r10d, r10d
test r13d, r13d
je 0x1400a9f76
mov r15d, r13d
mov r11d, 1
shr r15d, 0x1f
xor r14d, r14d
add r15d, r13d
xor r12d, r12d
sar r15d, 1
test r15d, r15d
jbe 0x1400a9f44
movsxd r11, edx
movsxd r15, r15d
mov qword [rsp + 0x838], r15
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
lea r15, [rsp + r11*8 + 0x1a0]
mov qword [rsp + 0x830], r15
lea r15, [rsp + r11*8 + 0xa50]
lea r11, [rsp + r11*8 + 0xad0]
mov qword [rsp + 0xdf8], r8
mov r8, r15
mov rsi, qword [rsp + 0x830]
mov rbp, qword [rsp + 0x838]
nop dword [rax + rax]
add r10, qword [r12 + r11]
inc r14
mov r15, qword [r12 + r8]
add r15, r10
cmp r15, r10
mov r10d, 0
mov qword [r12 + rsi], r15
setb r10b
add r10, qword [r12 + r11 - 8]
mov r15, qword [r12 + r8 - 8]
add r15, r10
cmp r15, r10
mov r10d, 0
mov qword [r12 + rsi - 8], r15
setb r10b
add r12, 0xfffffffffffffff0
cmp r14, rbp
jb 0x1400a9ee0
mov rbp, qword [rsp + 0xcb8]
lea r11d, [r14 + r14 + 1]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
lea r12d, [r11 - 1]
cmp r12d, r13d
jae 0x1400a9f73
movsxd r11, r11d
movsxd r12, edx
sub r12, r11
add r10, qword [rsp + r12*8 + 0xad8]
add r10, qword [rsp + r12*8 + 0xa58]
mov qword [rsp + r12*8 + 0x1a8], r10
mov r11, qword [rdi]
jmp 0x1400a9f76
mov r11, qword [rdi]
test r11, r11
jne 0x1400a9fc6
xor r11d, r11d
lea r10, [rsp + rdx*8 + 0x1a8]
mov r12, qword [rsp + 0xc68]
xor edi, edi
inc r11
add rdi, 0xfffffffffffffff0
lea rdx, [r11 + r11]
neg rdx
add rdx, r12
cmp qword [rdi + r10 + 8], 0
lea r9, [rdx + 1]
jne 0x1400ad9c7
mov r9, rdx
cmp qword [rdi + r10], 0
je 0x1400a9f90
lea rdi, [rsp + rdx*8 + 0x1a0]
dec rdx
mov r10, qword [rsp + 0x1a8]
test r10, r10
jle 0x1400aa117
add r10, r10
lea rax, [rcx + rbx - 1]
mov qword [rsp + 0x1a8], r10
xor r11d, r11d
cmp r9, 2
jb 0x1400aa117
mov qword [rsp + 0xc80], rsi
lea r10, [r9 + 0x3e]
shr r10, 6
lea r12, [r9 - 1]
mov qword [rsp + 0xdf8], r8
xor esi, esi
movsxd rbx, r11d
mov r8, rbx
shl r8, 6
lea rcx, [r8 + 0x40]
neg r8
cmp r12, rcx
cmovl rcx, r12
add r8, rcx
cmp r8, 2
jl 0x1400ad9bf
mov r14, rbx
mov rcx, r8
shl r14, 9
and rcx, 0xfffffffffffffffe
xor r13d, r13d
lea r15, [rsp + r14 + 0x1a0]
mov r14, rsi
movdqu xmm3, xmmword [r15 + r14*8 + 0x10]
add r13d, 2
movdqu xmmword [rsp + r14*8 + 0x490], xmm3
add r14, 2
cmp r13, rcx
jb 0x1400aa053
movsxd r13, ecx
mov r14d, ecx
mov ecx, ecx
cmp rcx, r8
jae 0x1400aa0a5
mov rcx, rbx
shl rcx, 9
lea rcx, [rsp + rcx + 0x1a0]
mov r15, qword [rcx + r13*8 + 0x10]
inc r14d
mov qword [rsp + r13*8 + 0x490], r15
inc r13
cmp r14, r8
jb 0x1400aa08d
xor ecx, ecx
mov r14, rsi
test r8, r8
je 0x1400aa0fb
shl rbx, 9
mov r13, qword [rsp + rbx + 0x1a8]
lea r15, [rsp + rbx + 0x1a0]
mov rsi, qword [rsp + r14*8 + 0x490]
inc ecx
shr rsi, 0x3f
or r13, rsi
mov qword [r15 + r14*8 + 8], r13
mov r13, qword [r15 + r14*8 + 0x10]
inc r14
add r13, r13
cmp rcx, r8
jb 0x1400aa0c3
movsxd rcx, ecx
xor esi, esi
lea r8, [rsp + rcx*8 + 0x1a0]
mov qword [r8 + rbx + 8], r13
inc r11d
cmp r11, r10
jb 0x1400aa012
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
cmp qword [rdi], 0
cmovne rdx, r9
cmp rdx, 1
jb 0x1400ad23a
mov rcx, qword [rsp + 0x1b0]
mov edx, 1
shr rcx, 0x3f
mov rbx, qword [rsp + 0x1a8]
add rbx, rcx
cmp rbx, rcx
jae 0x1400aa176
movabs r10, 0x8000000000000000
mov qword [rsp + 0x1a0], 0
inc rax
mov qword [rsp + 0x1a8], r10
mov r9d, 8
jmp 0x1400ad24a
mov qword [rsp + 0x1a8], rbx
test rbx, rbx
jne 0x1400ad9ac
xor ebx, ebx
xor ecx, ecx
inc rbx
add rcx, 0xfffffffffffffff0
lea rdx, [rbx + rbx]
neg rdx
lea r9, [rdx + 1]
add rdx, 2
cmp qword [rsp + rcx + 0x1b0], 0
jne 0x1400ad23a
mov rdx, r9
cmp qword [rsp + rcx + 0x1a8], 0
je 0x1400aa18b
shl r9, 3
mov r10, qword [rsp + r9 + 0x1a0]
jmp 0x1400ad24a
mov eax, 0x80
movups xmmword [rsp + rax + 0x110], xmm2
movups xmmword [rsp + rax + 0x100], xmm2
movups xmmword [rsp + rax + 0xf0], xmm2
movups xmmword [rsp + rax + 0xe0], xmm2
sub rax, 0x40
jne 0x1400aa1d4
xor edi, edi
mov ebx, 2
cmp qword [rsp + 0xde8], 0xfffffffffffffdea
jge 0x1400aab8c
mov r14, r8
xor eax, eax
shr r14, 6
mov r9d, 0x1000
xor r10d, r10d
mov r11d, 6
cmp qword [rsp + 0xde8], 0xfffffffffffff000
lea r13, [r14 - 1]
lea r12, [rsp + r14*8 + 0x118]
lea rdx, [rsp + r14*8 + 0x120]
jle 0x1400aa2a2
mov qword [rsp + 0xc88], rax
mov qword [rsp + 0xc70], rbx
mov qword [rsp + 0xc90], rdx
mov qword [rsp + 0xc98], r12
mov qword [rsp + 0xca0], r13
mov qword [rsp + 0xca8], r14
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
mov rax, qword [rsp + 0xc78]
jmp 0x1400aab23
mov qword [rsp + 0xc88], rax
mov qword [rsp + 0xc70], rbx
mov qword [rsp + 0xc90], rdx
mov qword [rsp + 0xc98], r12
mov qword [rsp + 0xca0], r13
mov qword [rsp + 0xca8], r14
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
mov rax, qword [rsp + 0xc78]
movsxd r9, r9d
add rcx, r9
test rdi, rdi
je 0x1400aaaee
lea r12, [0x140000000]
xor r15d, r15d
movsx rbx, word [r12 + r11 + 0x14ee7e]
mov qword [rsp + 0x940], rbx
mov rbp, qword [r12 + r10 + 0x14eb90]
mov r8, rbp
mov rbx, qword [rsp + rdi*8 + 0x120]
mov esi, ebx
shr r8, 0x20
mov r13, rsi
mov r14, qword [r12 + r10 + 0x14eb98]
mov r12, rbx
imul r13, r8
shr r12, 0x20
mov qword [rsp + 0xf18], r8
imul r8, r12
mov qword [rsp + 0x30], rbp
mov edx, ebp
lea rbp, [rdi + 1]
movsxd rbx, ebp
mov qword [rsp + 0xf10], rdx
mov qword [rsp + 0x28], r14
mov qword [rsp + rbx*8 + 0x8c0], r15
mov qword [rsp + rbx*8 + 0x8b8], r15
mov r15, r13
shr r15, 0x20
add r8, r15
mov r15, rsi
imul r15, rdx
imul rdx, r12
shl r13, 0x20
add r15, r13
cmp r15, r13
mov r13d, 0
setb r13b
add r8, r13
mov r13, rdx
shl rdx, 0x20
shr r13, 0x20
add r15, rdx
add r8, r13
xor r13d, r13d
cmp r15, rdx
mov rdx, r14
setb r13b
mov qword [rsp + rbx*8 + 0x848], r15
mov r15, rsi
shr rdx, 0x20
imul r15, rdx
add r8, r13
mov r13d, r14d
mov r14, r15
mov qword [rsp + 0xf20], r13
imul rsi, r13
imul r13, r12
imul r12, rdx
shr r15, 0x20
shl r14, 0x20
add r12, r15
mov r15, r13
add rsi, r14
shl r15, 0x20
cmp rsi, r14
mov r14d, 0
setb r14b
add rsi, r15
cmp rsi, r15
mov r15d, 0
setb r15b
add r8, rsi
cmp r8, rsi
mov esi, 0
setb sil
shr r13, 0x20
add r14, r13
add r12, r14
add r15, rsi
add r12, r15
mov qword [rsp + rbx*8 + 0x840], r8
add ebp, 0xfffffffe
mov qword [rsp + rbx*8 + 0x838], r12
js 0x1400aa4b3
dec rbx
cmp rbx, 2
jl 0x1400ada51
mov esi, ebx
xor ebp, ebp
and esi, 0xfffffffe
movsxd rsi, esi
movdqu xmmword [rsp + rbp*8 + 0x8c0], xmm2
movdqu xmmword [rsp + rbp*8 + 0x840], xmm2
add rbp, 2
cmp rbp, rsi
jb 0x1400aa479
cmp rsi, rbx
jae 0x1400aa4b3
xor ebp, ebp
mov qword [rsp + rsi*8 + 0x8c0], rbp
mov qword [rsp + rsi*8 + 0x840], rbp
inc rsi
cmp rsi, rbx
jb 0x1400aa49b
xor r12d, r12d
lea r14, [rdi - 1]
test r14d, r14d
movsxd r14, r14d
je 0x1400aa6b5
mov dword [rsp + 0x808], r9d
lea rsi, [rsp + r14*8 + 0x840]
mov r13, qword [rsi + 8]
lea r8, [rsp + r14*8 + 0x8c0]
mov rbp, qword [rsi + 0x10]
lea r15, [rsp + r14*8 + 0x120]
mov rbx, qword [r8]
mov qword [rsp + 0xf28], r15
mov qword [rsp + 0xc78], rax
mov qword [rsp + 0xf00], r14
mov qword [rsp + 0xf08], rdx
mov qword [rsp + 0x6b0], r11
mov qword [rsp + 0x800], r10
mov qword [rsp + 0x7f8], rcx
mov qword [rsp + 0x828], rdi
mov r9, r12
mov r10, qword [rsp + 0xf28]
inc r12
mov rcx, qword [rsp + 0xf18]
mov rax, rcx
mov r15, qword [rsp + 0xf10]
mov r11, r15
mov rdi, qword [r10 + r9*8]
mov r10, rdi
mov edi, edi
imul rax, rdi
imul r11, rdi
shr r10, 0x20
mov rdx, rax
imul r15, r10
imul rcx, r10
shl rdx, 0x20
mov r14, r15
add r11, rdx
shl r14, 0x20
cmp r11, rdx
mov edx, 0
setb dl
add r11, r14
cmp r11, r14
mov r14d, 0
setb r14b
add rbp, r11
cmp rbp, r11
mov qword [rsi + r9*8 + 0x10], rbp
mov ebp, 0
setb bpl
xor r11d, r11d
shr rax, 0x20
shr r15, 0x20
add rcx, rax
add rdx, r15
add rcx, rdx
add r14, rbp
add rcx, r14
add r13, rcx
cmp r13, rcx
mov rdx, qword [rsp + 0xf08]
mov r14, rdx
setb r11b
xor ecx, ecx
imul r14, rdi
add rbx, r11
mov rax, r14
mov qword [r8 + r9*8], rbx
xor r11d, r11d
mov rbx, qword [rsp + 0xf20]
imul rdi, rbx
imul rbx, r10
imul r10, rdx
shl rax, 0x20
mov r15, rbx
shl r15, 0x20
add rdi, rax
cmp rdi, rax
setb r11b
add rdi, r15
cmp rdi, r15
setb cl
shr r14, 0x20
lea rbp, [rdi + r13]
xor r13d, r13d
cmp rbp, rdi
setb r13b
add r10, r14
shr rbx, 0x20
add r11, rbx
add r10, r11
add rcx, r13
add r10, rcx
xor ebx, ebx
mov r13, qword [rsi + r9*8]
add r13, r10
cmp r13, r10
setb bl
add rbx, qword [r8 + r9*8 - 8]
dec r9
cmp r12, qword [rsp + 0xf00]
jb 0x1400aa534
shl r12, 3
sub rsi, r12
sub r8, r12
mov rax, qword [rsp + 0xc78]
mov r11, qword [rsp + 0x6b0]
mov r10, qword [rsp + 0x800]
mov rcx, qword [rsp + 0x7f8]
mov r9d, dword [rsp + 0x808]
mov rdi, qword [rsp + 0x828]
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], rbp
mov qword [r8], rbx
add rax, qword [rsp + 0x940]
lea rdx, [rdi + 1]
mov r14d, edx
lea rbp, [rdi + 2]
mov r12, qword [rsp + rbp*8 + 0x840]
lea rbx, [rsp + rdi*8 + 0x130]
mov qword [rbx], r12
mov rsi, rbp
xor r8d, r8d
test r14d, r14d
je 0x1400aa80e
mov r15d, r14d
mov r13d, 1
shr r15d, 0x1f
xor r12d, r12d
add r15d, r14d
sar r15d, 1
test r15d, r15d
jbe 0x1400aa7dc
movsxd r13, edx
movsxd r15, r15d
mov qword [rsp + 0x818], r15
mov qword [rsp + 0x800], r10
mov qword [rsp + 0x7f8], rcx
lea r15, [rsp + r13*8 + 0x120]
mov qword [rsp + 0x810], r15
lea r15, [rsp + r13*8 + 0x840]
lea r13, [rsp + r13*8 + 0x8c0]
mov dword [rsp + 0x808], r9d
mov qword [rsp + 0x828], rdi
mov r10, r15
mov r9, qword [rsp + 0x810]
mov rdi, qword [rsp + 0x818]
mov rcx, r12
nop dword [rax]
add r8, qword [rcx + r13]
inc r12
mov r15, qword [rcx + r10]
add r15, r8
cmp r15, r8
mov r8d, 0
mov qword [rcx + r9], r15
setb r8b
add r8, qword [rcx + r13 - 8]
mov r15, qword [rcx + r10 - 8]
add r15, r8
cmp r15, r8
mov r8d, 0
mov qword [rcx + r9 - 8], r15
setb r8b
add rcx, 0xfffffffffffffff0
cmp r12, rdi
jb 0x1400aa770
mov r10, qword [rsp + 0x800]
lea r13d, [r12 + r12 + 1]
mov rcx, qword [rsp + 0x7f8]
mov r9d, dword [rsp + 0x808]
mov rdi, qword [rsp + 0x828]
lea r12d, [r13 - 1]
cmp r12d, r14d
jae 0x1400aa80b
movsxd r13, r13d
movsxd r12, edx
sub r12, r13
add r8, qword [rsp + r12*8 + 0x8c8]
add r8, qword [rsp + r12*8 + 0x848]
mov qword [rsp + r12*8 + 0x128], r8
mov r12, qword [rbx]
jmp 0x1400aa80e
mov r12, qword [rbx]
test r12, r12
jne 0x1400aa856
xor r8d, r8d
lea rdi, [rsp + rdi*8 + 0x130]
xor ebx, ebx
inc r8
add rbx, 0xfffffffffffffff0
lea rdx, [r8 + r8]
neg rdx
add rdx, rsi
cmp qword [rbx + rdi + 8], 0
lea rbp, [rdx + 1]
jne 0x1400ada44
mov rbp, rdx
cmp qword [rbx + rdi], 0
je 0x1400aa820
lea rbx, [rsp + rdx*8 + 0x120]
dec rdx
mov rsi, qword [rsp + 0x128]
test rsi, rsi
jle 0x1400aa9b9
add rsi, rsi
dec rax
mov qword [rsp + 0x128], rsi
xor r14d, r14d
cmp rbp, 2
jb 0x1400aa9b9
mov qword [rsp + 0x800], r10
lea r12, [rbp + 0x3e]
shr r12, 6
lea r13, [rbp - 1]
mov qword [rsp + 0x7f8], rcx
xor r8d, r8d
mov dword [rsp + 0x808], r9d
movsxd rsi, r14d
mov rdi, rsi
shl rdi, 6
lea rcx, [rdi + 0x40]
neg rdi
cmp r13, rcx
cmovl rcx, r13
add rdi, rcx
cmp rdi, 2
jl 0x1400ada3c
mov r10, rsi
mov rcx, rdi
shl r10, 9
and rcx, 0xfffffffffffffffe
xor r9d, r9d
lea r15, [rsp + r10 + 0x120]
mov r10, r8
movdqu xmm3, xmmword [r15 + r10*8 + 0x10]
add r9d, 2
movdqu xmmword [rsp + r10*8 + 0x490], xmm3
add r10, 2
cmp r9, rcx
jb 0x1400aa8ea
movsxd r9, ecx
mov r10d, ecx
mov ecx, ecx
cmp rcx, rdi
jae 0x1400aa93c
mov rcx, rsi
shl rcx, 9
lea rcx, [rsp + rcx + 0x120]
mov r15, qword [rcx + r9*8 + 0x10]
inc r10d
mov qword [rsp + r9*8 + 0x490], r15
inc r9
cmp r10, rdi
jb 0x1400aa924
xor r9d, r9d
mov r10, r8
test rdi, rdi
je 0x1400aa995
shl rsi, 9
mov r15, qword [rsp + rsi + 0x128]
lea rcx, [rsp + rsi + 0x120]
mov r8, qword [rsp + r10*8 + 0x490]
inc r9d
shr r8, 0x3f
or r15, r8
mov qword [rcx + r10*8 + 8], r15
mov r15, qword [rcx + r10*8 + 0x10]
inc r10
add r15, r15
cmp r9, rdi
jb 0x1400aa95b
movsxd r9, r9d
xor r8d, r8d
lea rcx, [rsp + r9*8 + 0x120]
mov qword [rcx + rsi + 8], r15
inc r14d
cmp r14, r12
jb 0x1400aa8a9
mov r10, qword [rsp + 0x800]
mov rcx, qword [rsp + 0x7f8]
mov r9d, dword [rsp + 0x808]
cmp qword [rbx], 0
mov rdi, rbp
cmove rdi, rdx
cmp rdi, qword [rsp + 0xca8]
jb 0x1400aab23
mov rdi, qword [rsp + 0xca8]
mov rdx, rdi
mov rbx, qword [rsp + rdx*8 + 0x128]
shr rbx, 0x3f
mov rbp, qword [rsp + rdx*8 + 0x120]
add rbp, rbx
cmp rbp, rbx
jae 0x1400aaa99
mov rbx, qword [rsp + 0xc98]
mov rdi, qword [rsp + 0xca0]
mov qword [rsp + rdx*8 + 0x120], rbp
mov qword [rsp + 0x120], 0
cmp qword [rbx], 0xffffffffffffffff
jne 0x1400aaa68
mov rsi, rbx
xor ebx, ebx
xor edx, edx
mov r8, rdi
inc rbx
add rdx, 0xfffffffffffffff0
lea rbp, [rbx + rbx]
neg rbp
add rbp, r8
cmp qword [rdx + rsi + 8], 0xffffffffffffffff
lea rdi, [rbp + 1]
jne 0x1400aaa58
mov rdi, rbp
cmp qword [rdx + rsi], 0xffffffffffffffff
je 0x1400aaa31
mov qword [rsp + 0xc98], rsi
mov qword [rsp + 0xca0], r8
test rdi, rdi
jne 0x1400aaa8c
movabs rdx, 0x8000000000000000
inc rax
mov qword [rsp + 0x128], rdx
mov edi, 1
jmp 0x1400aab23
inc qword [rsp + rdi*8 + 0x120]
jmp 0x1400aab23
mov qword [rsp + rdx*8 + 0x120], rbp
test rbp, rbp
jne 0x1400aab23
xor ebx, ebx
mov rsi, qword [rsp + 0xc90]
xor edx, edx
mov r8, rdi
inc rbx
add rdx, 0xfffffffffffffff0
lea rbp, [rbx + rbx]
neg rbp
add rbp, r8
cmp qword [rdx + rsi + 8], 0
lea rdi, [rbp + 1]
jne 0x1400aaadc
mov rdi, rbp
cmp qword [rdx + rsi], 0
je 0x1400aaab5
mov qword [rsp + 0xc90], rsi
mov qword [rsp + 0xca8], r8
jmp 0x1400aab23
lea rbx, [0x140000000]
mov edi, 2
mov rdx, qword [rbx + r10 + 0x14eb98]
mov rbp, qword [rbx + r10 + 0x14eb90]
movsx rax, word [rbx + r11 + 0x14ee7e]
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x130], rbp
mov rbx, qword [rsp + 0xc88]
inc rbx
add r11, 0xfffffffffffffffe
sar r9d, 1
add r10, 0xfffffffffffffff0
cmp rbx, 4
jae 0x1400aab5f
mov edx, r9d
neg edx
movsxd rdx, edx
cmp rcx, rdx
jg 0x1400aab2b
nop word [rax + rax]
mov qword [rsp + 0xc88], rbx
jmp 0x1400aa2f2
mov qword [rsp + 0xc78], rax
mov rbx, qword [rsp + 0xc70]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
jmp 0x1400ab5aa
cmp qword [rsp + 0xde8], 0x216
jle 0x1400ab5aa
xor r11d, r11d
mov r12d, 0x1000
xor r9d, r9d
mov eax, 6
xor r10d, r10d
cmp qword [rsp + 0xde8], 0x1000
jge 0x1400aabe1
mov qword [rsp + 0xcb8], rbp
lea rbp, [0x140000000]
mov qword [rsp + 0xc80], rsi
mov rdx, qword [rsp + 0xc78]
jmp 0x1400aac35
mov rdx, qword [rsp + 0xde8]
mov qword [rsp + 0xcb8], rbp
lea rbp, [0x140000000]
mov qword [rsp + 0xc80], rsi
lea rcx, [rdx - 0x1000]
mov rsi, qword [rbp + r10 + 0x14ed18]
mov edi, 2
mov r13, qword [rbp + r10 + 0x14ed10]
movsx rdx, word [rbp + rax + 0x14ee9a]
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], r13
mov r15, r8
shr r15, 6
mov qword [rsp + 0xc70], rbx
mov qword [rsp + 0xb60], r15
mov qword [rsp + 0xdf8], r8
lea r14, [r15 - 1]
mov qword [rsp + 0xb58], r14
lea r13, [rsp + r15*8 + 0x118]
mov qword [rsp + 0xb50], r13
lea rsi, [rsp + r15*8 + 0x120]
mov qword [rsp + 0x948], rsi
inc r11
add rax, 0xfffffffffffffffe
sar r12, 1
add r9, 0xfffffffffffffffe
add r10, 0xfffffffffffffff0
cmp r11, 4
jae 0x1400ab582
cmp rcx, r12
jl 0x1400aac80
sub rcx, r12
test rdi, rdi
je 0x1400ad6d1
mov qword [rsp + 0x368], rax
lea rax, [0x140000000]
lea r15, [rdi + 1]
mov dword [rsp + 0x370], r15d
movsx rsi, word [rax + r9 + 0x14eea0]
mov qword [rsp + 0x940], rsi
mov r13, qword [rax + r10 + 0x14ed10]
mov rbx, r13
mov rsi, qword [rsp + rdi*8 + 0x120]
mov ebp, esi
mov qword [rsp + 0x30], r13
shr rbx, 0x20
mov r8d, r13d
mov r13, rbp
mov r14, qword [rax + r10 + 0x14ed18]
mov rax, rsi
imul r13, rbx
shr rax, 0x20
mov qword [rsp + 0xe48], rbx
imul rbx, rax
movsxd rsi, r15d
xor r15d, r15d
mov qword [rsp + 0xe40], r8
mov qword [rsp + 0x28], r14
mov qword [rsp + rsi*8 + 0x2a0], r15
mov qword [rsp + rsi*8 + 0x298], r15
mov r15, r13
shr r15, 0x20
add rbx, r15
mov r15, rbp
imul r15, r8
imul r8, rax
shl r13, 0x20
add r15, r13
cmp r15, r13
mov r13d, 0
setb r13b
add rbx, r13
mov r13, r8
shl r8, 0x20
shr r13, 0x20
add r15, r8
add rbx, r13
xor r13d, r13d
cmp r15, r8
mov r8, r14
setb r13b
mov qword [rsp + rsi*8 + 0x228], r15
mov r15, rbp
shr r8, 0x20
imul r15, r8
add rbx, r13
mov r13d, r14d
mov r14, r15
mov qword [rsp + 0xe50], r13
imul rbp, r13
imul r13, rax
imul rax, r8
shr r15, 0x20
shl r14, 0x20
add rax, r15
mov r15, r13
add rbp, r14
shl r15, 0x20
cmp rbp, r14
mov r14d, 0
setb r14b
add rbp, r15
cmp rbp, r15
mov qword [rsp + 0xe58], r8
mov r8d, 0
setb r8b
add rbx, rbp
cmp rbx, rbp
mov ebp, 0
setb bpl
shr r13, 0x20
add r14, r13
add rax, r14
add r8, rbp
add rax, r8
mov qword [rsp + rsi*8 + 0x220], rbx
mov qword [rsp + rsi*8 + 0x218], rax
add rsi, 0xfffffffffffffffe
mov rax, qword [rsp + 0x368]
test esi, esi
jl 0x1400aaea7
mov r8d, dword [rsp + 0x370]
mov r13d, 1
xor ebx, ebx
lea ebp, [r8 - 1]
mov r14d, ebp
shr r14d, 0x1f
lea r8d, [r8 + r14 - 1]
sar r8d, 1
test r8d, r8d
jbe 0x1400aae8d
xor r13d, r13d
inc ebx
mov qword [rsp + rsi*8 + 0x2a0], r13
mov qword [rsp + rsi*8 + 0x220], r13
mov qword [rsp + rsi*8 + 0x298], r13
mov qword [rsp + rsi*8 + 0x218], r13
add rsi, 0xfffffffffffffffe
cmp ebx, r8d
jb 0x1400aae5d
lea r13d, [rbx + rbx + 1]
dec r13d
cmp r13d, ebp
jae 0x1400aaea7
xor ebx, ebx
mov qword [rsp + rsi*8 + 0x2a0], rbx
mov qword [rsp + rsi*8 + 0x220], rbx
xor r13d, r13d
lea r14, [rdi - 1]
test r14d, r14d
movsxd r14, r14d
je 0x1400ab0dc
mov qword [rsp + 0x338], r11
lea rsi, [rsp + r14*8 + 0x220]
mov rbx, qword [rsi + 0x10]
lea r8, [rsp + r14*8 + 0x2a0]
mov qword [rsp + 0x330], rbx
lea r15, [rsp + r14*8 + 0x120]
mov qword [rsp + 0x828], rdi
mov rbp, qword [rsi + 8]
mov rbx, qword [r8]
mov qword [rsp + 0xe60], r15
mov qword [rsp + 0xe38], r14
mov qword [rsp + 0x368], rax
mov qword [rsp + 0x328], r10
mov qword [rsp + 0x320], r9
mov qword [rsp + 0x340], r12
mov qword [rsp + 0xc78], rdx
mov qword [rsp + 0x7f8], rcx
mov rdi, qword [rsp + 0x330]
mov r11, r13
mov r10, qword [rsp + 0xe60]
inc r13
mov rcx, qword [rsp + 0xe48]
mov rax, rcx
mov r15, qword [rsp + 0xe40]
mov r12, r15
mov r9, qword [r10 + r11*8]
mov r10, r9
mov r9d, r9d
imul rax, r9
imul r12, r9
shr r10, 0x20
mov rdx, rax
imul r15, r10
imul rcx, r10
shl rdx, 0x20
mov r14, r15
add r12, rdx
shl r14, 0x20
cmp r12, rdx
mov edx, 0
setb dl
add r12, r14
cmp r12, r14
mov r14d, 0
setb r14b
add rdi, r12
cmp rdi, r12
mov qword [rsi + r11*8 + 0x10], rdi
mov edi, 0
setb dil
xor r12d, r12d
shr rax, 0x20
shr r15, 0x20
add rcx, rax
add rdx, r15
add rcx, rdx
add r14, rdi
add rcx, r14
add rbp, rcx
cmp rbp, rcx
mov rdx, qword [rsp + 0xe58]
mov r14, rdx
setb r12b
xor ecx, ecx
imul r14, r9
add rbx, r12
mov rax, r14
mov qword [r8 + r11*8], rbx
xor r12d, r12d
mov rbx, qword [rsp + 0xe50]
imul r9, rbx
imul rbx, r10
imul r10, rdx
shl rax, 0x20
mov r15, rbx
shl r15, 0x20
add r9, rax
cmp r9, rax
setb r12b
add r9, r15
cmp r9, r15
setb cl
shr r14, 0x20
lea rdi, [r9 + rbp]
xor ebp, ebp
cmp rdi, r9
setb bpl
add r10, r14
shr rbx, 0x20
add r12, rbx
add r10, r12
add rcx, rbp
add r10, rcx
xor ebx, ebx
mov rbp, qword [rsi + r11*8]
add rbp, r10
cmp rbp, r10
setb bl
add rbx, qword [r8 + r11*8 - 8]
dec r11
cmp r13, qword [rsp + 0xe38]
jb 0x1400aaf40
shl r13, 3
sub rsi, r13
sub r8, r13
mov qword [rsp + 0x330], rdi
mov rax, qword [rsp + 0x368]
mov r10, qword [rsp + 0x328]
mov qword [rsi + 8], rbp
mov rbp, rdi
mov r9, qword [rsp + 0x320]
mov r11, qword [rsp + 0x338]
mov r12, qword [rsp + 0x340]
mov rdx, qword [rsp + 0xc78]
mov rcx, qword [rsp + 0x7f8]
mov rdi, qword [rsp + 0x828]
mov qword [rsi + 0x10], rbp
mov qword [r8], rbx
add rdx, qword [rsp + 0x940]
lea r8, [rdi + 1]
mov esi, r8d
lea r14, [rdi + 2]
mov rbx, qword [rsp + r14*8 + 0x220]
lea r13, [rsp + rdi*8 + 0x130]
mov qword [rsp + 0xb68], r14
mov qword [r13], rbx
mov qword [rsp + 0x378], 0
test esi, esi
je 0x1400ab265
mov r15d, esi
mov ebx, 1
shr r15d, 0x1f
xor ebp, ebp
add r15d, esi
sar r15d, 1
test r15d, r15d
jbe 0x1400ab22b
movsxd rbx, r8d
movsxd r15, r15d
mov qword [rsp + 0x350], r15
mov qword [rsp + 0x338], r11
mov qword [rsp + 0xc78], rdx
lea r15, [rsp + rbx*8 + 0x120]
mov qword [rsp + 0x348], r15
lea r15, [rsp + rbx*8 + 0x220]
lea rbx, [rsp + rbx*8 + 0x2a0]
mov qword [rsp + 0x7f8], rcx
mov qword [rsp + 0x828], rdi
mov qword [rsp + 0x340], r12
mov r11, r15
mov rdi, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x350]
mov rdx, rbp
mov r15, qword [rsp + 0x378]
add r15, qword [rdx + rbx]
inc rbp
mov r12, qword [rdx + r11]
add r12, r15
cmp r12, r15
mov r15d, 0
mov qword [rdx + rdi], r12
setb r15b
add r15, qword [rdx + rbx - 8]
mov r12, qword [rdx + r11 - 8]
add r12, r15
cmp r12, r15
mov r15d, 0
mov qword [rdx + rdi - 8], r12
setb r15b
add rdx, 0xfffffffffffffff0
cmp rbp, rcx
jb 0x1400ab1b0
mov qword [rsp + 0x378], r15
lea ebx, [rbp + rbp + 1]
mov r11, qword [rsp + 0x338]
mov r12, qword [rsp + 0x340]
mov rdx, qword [rsp + 0xc78]
mov rcx, qword [rsp + 0x7f8]
mov rdi, qword [rsp + 0x828]
lea ebp, [rbx - 1]
cmp ebp, esi
jae 0x1400ab261
movsxd rbx, ebx
movsxd rsi, r8d
sub rsi, rbx
mov rbp, qword [rsp + 0x378]
add rbp, qword [rsp + rsi*8 + 0x2a8]
add rbp, qword [rsp + rsi*8 + 0x228]
mov qword [rsp + rsi*8 + 0x128], rbp
mov rbx, qword [r13]
jmp 0x1400ab265
mov rbx, qword [r13]
test rbx, rbx
jne 0x1400ab2b4
xor esi, esi
lea rbp, [rsp + rdi*8 + 0x130]
mov rdi, qword [rsp + 0xb68]
xor ebx, ebx
inc rsi
add rbx, 0xfffffffffffffff0
lea r8, [rsi + rsi]
neg r8
add r8, rdi
cmp qword [rbx + rbp + 8], 0
lea r14, [r8 + 1]
jne 0x1400adb8b
mov r14, r8
cmp qword [rbx + rbp], 0
je 0x1400ab27e
lea r13, [rsp + r8*8 + 0x120]
dec r8
mov rbx, qword [rsp + 0x128]
test rbx, rbx
jle 0x1400ab435
add rbx, rbx
dec rdx
mov qword [rsp + 0x128], rbx
xor ebp, ebp
cmp r14, 2
jb 0x1400ab435
mov qword [rsp + 0x320], r9
lea rbx, [r14 + 0x3e]
shr rbx, 6
lea rsi, [r14 - 1]
mov qword [rsp + 0x338], r11
xor r9d, r9d
mov qword [rsp + 0x340], r12
mov qword [rsp + 0xc78], rdx
mov qword [rsp + 0x7f8], rcx
movsxd rcx, ebp
mov rdi, rcx
shl rdi, 6
lea rdx, [rdi + 0x40]
neg rdi
cmp rsi, rdx
cmovl rdx, rsi
add rdi, rdx
cmp rdi, 2
jl 0x1400adb83
mov r12, rcx
mov rdx, rdi
shl r12, 9
and rdx, 0xfffffffffffffffe
xor r11d, r11d
lea r15, [rsp + r12 + 0x120]
mov r12, r9
movdqu xmm3, xmmword [r15 + r12*8 + 0x10]
add r11d, 2
movdqu xmmword [rsp + r12*8 + 0x490], xmm3
add r12, 2
cmp r11, rdx
jb 0x1400ab357
movsxd r11, edx
mov r12d, edx
mov edx, edx
cmp rdx, rdi
jae 0x1400ab3a9
mov rdx, rcx
shl rdx, 9
lea rdx, [rsp + rdx + 0x120]
mov r15, qword [rdx + r11*8 + 0x10]
inc r12d
mov qword [rsp + r11*8 + 0x490], r15
inc r11
cmp r12, rdi
jb 0x1400ab391
xor r11d, r11d
mov r12, r9
test rdi, rdi
je 0x1400ab402
shl rcx, 9
mov r15, qword [rsp + rcx + 0x128]
lea rdx, [rsp + rcx + 0x120]
mov r9, qword [rsp + r12*8 + 0x490]
inc r11d
shr r9, 0x3f
or r15, r9
mov qword [rdx + r12*8 + 8], r15
mov r15, qword [rdx + r12*8 + 0x10]
inc r12
add r15, r15
cmp r11, rdi
jb 0x1400ab3c8
movsxd r11, r11d
xor r9d, r9d
lea rdx, [rsp + r11*8 + 0x120]
mov qword [rdx + rcx + 8], r15
inc ebp
cmp rbp, rbx
jb 0x1400ab316
mov r9, qword [rsp + 0x320]
mov r11, qword [rsp + 0x338]
mov r12, qword [rsp + 0x340]
mov rdx, qword [rsp + 0xc78]
mov rcx, qword [rsp + 0x7f8]
cmp qword [r13], 0
mov rdi, r14
cmove rdi, r8
cmp rdi, qword [rsp + 0xb60]
jb 0x1400ab566
mov rdi, qword [rsp + 0xb60]
mov rbx, rdi
mov rbp, qword [rsp + rbx*8 + 0x128]
shr rbp, 0x3f
mov rsi, qword [rsp + rbx*8 + 0x120]
add rsi, rbp
cmp rsi, rbp
jae 0x1400ab512
mov rbp, qword [rsp + 0xb50]
mov rdi, qword [rsp + 0xb58]
mov qword [rsp + rbx*8 + 0x120], rsi
mov qword [rsp + 0x120], 0
cmp qword [rbp], 0xffffffffffffffff
jne 0x1400ab4e7
mov r8, rbp
xor ebp, ebp
xor ebx, ebx
mov r13, rdi
inc rbp
add rbx, 0xfffffffffffffff0
lea rsi, [rbp + rbp]
neg rsi
add rsi, r13
cmp qword [rbx + r8 + 8], 0xffffffffffffffff
lea rdi, [rsi + 1]
jne 0x1400ab4d7
mov rdi, rsi
cmp qword [rbx + r8], 0xffffffffffffffff
je 0x1400ab4af
mov qword [rsp + 0xb50], r8
mov qword [rsp + 0xb58], r13
test rdi, rdi
je 0x1400ab4f6
inc qword [rsp + rdi*8 + 0x120]
jmp 0x1400ab566
movabs rbx, 0x8000000000000000
inc rdx
mov qword [rsp + 0x128], rbx
mov edi, 1
jmp 0x1400ab566
mov qword [rsp + rbx*8 + 0x120], rsi
test rsi, rsi
jne 0x1400ab566
xor ebp, ebp
mov r8, qword [rsp + 0x948]
xor ebx, ebx
mov r13, rdi
inc rbp
add rbx, 0xfffffffffffffff0
lea rsi, [rbp + rbp]
neg rsi
add rsi, r13
cmp qword [rbx + r8 + 8], 0
lea rdi, [rsi + 1]
jne 0x1400ab556
mov rdi, rsi
cmp qword [rbx + r8], 0
je 0x1400ab52e
mov qword [rsp + 0x948], r8
mov qword [rsp + 0xb60], r13
inc r11
add rax, 0xfffffffffffffffe
sar r12, 1
add r9, 0xfffffffffffffffe
add r10, 0xfffffffffffffff0
cmp r11, 4
jb 0x1400aac9c
mov qword [rsp + 0xc78], rdx
mov rbx, qword [rsp + 0xc70]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
lea rax, [rcx + 0x1b]
cmp rax, 0x1a
ja 0x1400ab62f
lea r9, [0x140000000]
mov edx, 2
movsx rax, word [r9 + rcx*2 + 0x14ee7e]
shl rcx, 4
mov rbx, qword [r9 + rcx + 0x14eb58]
mov rcx, qword [r9 + rcx + 0x14eb50]
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x1b0], rcx
test rcx, rcx
jne 0x1400ada58
xor ebx, ebx
xor ecx, ecx
inc rbx
add rcx, 0xfffffffffffffff0
lea r9, [rbx + rbx]
neg r9
cmp qword [rsp + rcx + 0x1b8], 0
lea rdx, [r9 + 3]
jne 0x1400ac9bb
cmp qword [rsp + rcx + 0x1b0], 0
lea rdx, [r9 + 2]
je 0x1400ab5fa
jmp 0x1400ac9bb
mov eax, 0x80
movups xmmword [rsp + rax + 0x90], xmm2
movups xmmword [rsp + rax + 0x80], xmm2
movups xmmword [rsp + rax + 0x70], xmm2
movups xmmword [rsp + rax + 0x60], xmm2
sub rax, 0x40
jne 0x1400ab634
test rcx, rcx
jl 0x1400adb07
cmp rcx, 0x37
jl 0x1400ab6d7
mov r9, rcx
lea rax, [0x140000000]
shr r9, 3
movsxd r12, r9d
movzx edx, word [rax + r12*2 + 0x14edc2]
lea r10, [r12 + 1]
shr edx, 5
cmp rdx, rcx
cmovle r12, r10
movzx r14d, word [rax + r12*2 + 0x14edc0]
mov r13d, r14d
shr r14d, 5
and r13d, 0x1f
sub rcx, r14
movsxd r9, ecx
movsx rcx, word [rax + r13*2 + 0x14eea2]
shl r13, 4
mov qword [rsp + 0x940], rcx
mov r15, qword [rax + r13 + 0x14ed28]
mov rax, qword [rax + r13 + 0x14ed20]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], rax
jmp 0x1400ab6dc
movsxd r9, ecx
xor ebx, ebx
cmp r9, 0x37
je 0x1400adad1
mov rcx, r9
add rcx, 0xffffffffffffffe5
jle 0x1400ab758
lea rdx, [0x140000000]
mov r9d, 0x1b
mov r11d, 1
movsx rax, word [rdx + rcx*2 + 0x14f33e]
mov r10, qword [rdx + rcx*8 + 0x14f158]
mov qword [rsp + 0x7c8], rax
mov qword [rsp + 0xa8], r10
test r10, r10
jne 0x1400ab758
xor edx, edx
xor eax, eax
inc rdx
add rax, 0xfffffffffffffff0
lea r10, [rdx + rdx]
neg r10
cmp qword [rsp + rax + 0xb0], 0
lea r11, [r10 + 2]
jne 0x1400ab758
cmp qword [rsp + rax + 0xa8], 0
lea r11, [r10 + 1]
je 0x1400ab72c
lea r10, [0x140000000]
mov edx, 1
movsx rax, word [r10 + r9*2 + 0x14f33e]
mov r9, qword [r10 + r9*8 + 0x14f158]
mov qword [rsp + 0x1a8], r9
test r9, r9
jne 0x1400ab7b6
xor r10d, r10d
xor r9d, r9d
inc r10
add r9, 0xfffffffffffffff0
lea r12, [r10 + r10]
neg r12
cmp qword [rsp + r9 + 0x1b0], 0
lea rdx, [r12 + 2]
jne 0x1400ab7b6
cmp qword [rsp + r9 + 0x1a8], 0
lea rdx, [r12 + 1]
je 0x1400ab788
lea r9, [rdx*8]
mov r10, qword [rsp + r9 + 0x1a0]
test rcx, rcx
jle 0x1400ac10e
mov r14d, r10d
lea r12, [r11 + rdx]
mov r13, r10
mov rcx, r14
mov r10, qword [rsp + r11*8 + 0xa0]
lea r15, [r11 + rdx - 1]
mov qword [rsp + 0xc58], r12
mov r12, r10
shr r12, 0x20
mov r10d, r10d
imul rcx, r12
mov qword [rsp + 0x7d8], r14
imul r14, r10
shr r13, 0x20
imul r10, r13
imul r12, r13
mov dword [rsp + 0x7c0], r15d
movsxd r9, r15d
mov dword [rsp + 0x7e0], r15d
mov r15, rcx
shl rcx, 0x20
add r14, rcx
cmp r14, rcx
mov ecx, 0
mov qword [rsp + 0x7d0], r13
mov r13, r10
setb cl
shl r10, 0x20
shr r15, 0x20
add r14, r10
mov qword [rsp + 0x6b8], r9
lea r9, [rsp + r9*8 + 0x6c0]
add r12, r15
cmp r14, r10
mov qword [r9 + 8], r14
mov r14d, 0
setb r14b
add r12, rcx
shr r13, 0x20
add r12, r13
lea r13, [r11 - 1]
movsxd r13, r13d
add r12, r14
xor r14d, r14d
mov qword [r9], r12
mov r10, qword [rsp + 0x6b8]
mov r15d, dword [rsp + 0x7e0]
mov ecx, dword [rsp + 0x7c0]
test r13, r13
je 0x1400aba1c
mov qword [rsp + 0x6b8], r10
lea r15, [rsp + r10*8 + 0x740]
mov qword [rsp + 0x6a8], r15
lea r15, [rsp + r13*8 + 0xa0]
mov qword [rsp + 0x828], rdi
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
mov qword [rsp + 0xcc8], rdx
mov dword [rsp + 0x7c0], ecx
mov qword [rsp + 0xc70], rbx
mov qword [rsp + 0x6a0], r11
mov r8, r15
mov rdi, qword [rsp + 0x6a8]
mov rbp, r14
mov r10, qword [rsp + 0x7d8]
mov rsi, qword [rsp + 0x7d0]
mov r15, qword [r8 + rbp*8]
mov r11, r15
shr r11, 0x20
mov rdx, r10
imul rdx, r11
imul r11, rsi
mov ebx, r15d
mov rcx, r10
imul rcx, rbx
imul rbx, rsi
mov r15, rdx
inc r14
shl r15, 0x20
shr rdx, 0x20
add rcx, r15
add r11, rdx
xor edx, edx
cmp rcx, r15
mov r15, rbx
setb dl
shl r15, 0x20
add rcx, r15
cmp rcx, r15
mov r15d, 0
setb r15b
add r12, rcx
cmp r12, rcx
mov ecx, 0
mov qword [r9 + rbp*8], r12
setb cl
shr rbx, 0x20
mov r12d, r15d
add rdx, rbx
add r11, rdx
add r12, rcx
mov qword [rdi + rbp*8], 0
add r12, r11
dec rbp
cmp r14, r13
jb 0x1400ab930
mov r10, qword [rsp + 0x6b8]
lea r15, [r14*8]
neg r15
mov rdx, qword [rsp + 0xcc8]
mov ecx, dword [rsp + 0x7c0]
mov rbx, qword [rsp + 0xc70]
mov qword [r15 + r9], r12
mov r15d, r10d
mov r11, qword [rsp + 0x6a0]
sub r15d, r14d
mov rdi, qword [rsp + 0x828]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
movsxd r15, r15d
mov qword [rsp + r15*8 + 0x740], 0
dec r15d
js 0x1400aba8a
movsxd r15, r15d
inc r15
cmp r15, 2
jl 0x1400adac9
mov r12d, r15d
xor r13d, r13d
and r12d, 0xfffffffe
movsxd r12, r12d
movdqu xmmword [rsp + r13*8 + 0x740], xmm2
movdqu xmmword [rsp + r13*8 + 0x6c0], xmm2
add r13, 2
cmp r13, r12
jb 0x1400aba4d
cmp r12, r15
jae 0x1400aba8a
xor r13d, r13d
mov qword [rsp + r12*8 + 0x740], r13
mov qword [rsp + r12*8 + 0x6c0], r13
inc r12
cmp r12, r15
jb 0x1400aba72
dec rdx
xor r13d, r13d
movsxd r12, edx
test r12, r12
je 0x1400abd06
movsxd r14, r11d
lea rdx, [rsp + r12*8 + 0x1a0]
mov qword [rsp + 0xed8], rdx
lea rdx, [rsp + r12*8 + 0x6c0]
mov qword [rsp + 0xcc0], rax
lea r15, [rsp + r12*8 + 0x740]
mov qword [rsp + 0xed0], r15
xor eax, eax
mov qword [rsp + 0x690], r9
lea r15, [r14*8]
mov qword [rsp + 0xec8], r15
lea r15, [rdx + r14*8]
mov qword [rsp + 0xec0], r15
lea r15, [rsp + r14*8 + 0xa0]
mov qword [rsp + 0xeb8], r15
lea r11, [r12 + r14]
mov qword [rsp + 0x6b8], r10
mov dword [rsp + 0x7c0], ecx
mov qword [rsp + 0xc70], rbx
mov qword [rsp + 0x828], rdi
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
mov r15, qword [rsp + 0xed8]
mov r9, rax
mov rdi, r9
test r14, r14
je 0x1400abcb0
mov rsi, r15
lea r8, [r13*8]
sub rsi, r8
mov r10, qword [rsp + r11*8 + 0x6c0]
mov qword [rsp + 0xef8], rdx
mov qword [rsp + 0xef0], r11
mov rcx, qword [rsi]
mov rsi, rcx
mov ebp, ecx
mov rcx, qword [rsp + 0xec8]
sub rcx, r8
neg r8
add r8, qword [rsp + 0xec0]
mov rax, qword [rsp + 0xeb8]
shr rsi, 0x20
mov qword [rsp + 0xee8], r13
lea rbx, [rdx + rcx]
add rcx, qword [rsp + 0xed0]
mov qword [rsp + 0xee0], r12
mov r12, qword [rax + rdi*8]
mov rdx, r12
shr rdx, 0x20
mov r13, rbp
imul r13, rdx
imul rdx, rsi
mov r11d, r12d
mov r15, rbp
imul r15, r11
imul r11, rsi
mov r12, r13
dec rdi
shl r12, 0x20
shr r13, 0x20
add r15, r12
add rdx, r13
xor r13d, r13d
cmp r15, r12
mov r12, r11
setb r13b
shl r12, 0x20
add r15, r12
cmp r15, r12
mov r12d, 0
setb r12b
add r10, r15
cmp r10, r15
mov r15d, 0
setb r15b
shr r11, 0x20
add r13, r11
add rdx, r13
add r12, r15
add rdx, r12
lea r11, [r9*8]
mov r12, r8
inc r9
sub r12, r11
mov qword [r12], r10
mov r10, rbx
sub r10, r11
neg r11
add r11, rcx
mov r10, qword [r10 - 8]
add r10, rdx
cmp r10, rdx
mov edx, 0
setb dl
add qword [r11 - 0x10], rdx
cmp r9, r14
jb 0x1400abbc3
shl r9, 3
xor eax, eax
sub r8, r9
mov rdx, qword [rsp + 0xef8]
mov r15, qword [rsp + 0xed8]
mov r11, qword [rsp + 0xef0]
mov r13, qword [rsp + 0xee8]
mov r12, qword [rsp + 0xee0]
mov qword [r8], r10
inc r13
dec r11
cmp r13, r12
jb 0x1400abb48
mov rax, qword [rsp + 0xcc0]
mov r9, qword [rsp + 0x690]
mov r10, qword [rsp + 0x6b8]
mov ecx, dword [rsp + 0x7c0]
mov rbx, qword [rsp + 0xc70]
mov rdi, qword [rsp + 0x828]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
mov rdx, qword [rsp + 0xc58]
xor r13d, r13d
add rax, qword [rsp + 0x7c8]
mov r11, qword [rsp + rdx*8 + 0x6c0]
lea r14, [rsp + rdx*8 + 0x1a0]
mov qword [r14], r11
test ecx, ecx
je 0x1400abe36
mov r11d, ecx
mov r15d, 1
shr r11d, 0x1f
xor r12d, r12d
add r11d, ecx
sar r11d, 1
test r11d, r11d
jbe 0x1400abe07
mov qword [rsp + 0xcb8], rbp
lea r15, [rsp + r10*8 + 0x1a0]
mov qword [rsp + 0x698], r15
lea r15, [rsp + r10*8 + 0x740]
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
movsxd r11, r11d
mov r8, r15
mov rsi, qword [rsp + 0x698]
mov rbp, r12
nop dword [rax + rax]
nop dword [rax]
add r13, qword [rbp + r8]
inc r12
mov r15, qword [rbp + r9]
add r15, r13
cmp r15, r13
mov r13d, 0
mov qword [rbp + rsi], r15
setb r13b
add r13, qword [rbp + r8 - 8]
mov r15, qword [rbp + r9 - 8]
add r15, r13
cmp r15, r13
mov r13d, 0
mov qword [rbp + rsi - 8], r15
setb r13b
add rbp, 0xfffffffffffffff0
cmp r12, r11
jb 0x1400abda0
mov rbp, qword [rsp + 0xcb8]
lea r15d, [r12 + r12 + 1]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
lea r9d, [r15 - 1]
cmp r9d, ecx
jae 0x1400abe33
movsxd r15, r15d
sub r10, r15
add r13, qword [rsp + r10*8 + 0x748]
add r13, qword [rsp + r10*8 + 0x6c8]
mov qword [rsp + r10*8 + 0x1a8], r13
mov r11, qword [r14]
jmp 0x1400abe36
mov r11, qword [r14]
test r11, r11
jne 0x1400abe6f
xor r9d, r9d
mov r11, qword [rsp + 0xc58]
xor ecx, ecx
inc r9
add rcx, 0xfffffffffffffff0
lea r10, [r9 + r9]
neg r10
add r10, r11
cmp qword [rcx + r14 + 8], 0
lea rdx, [r10 + 1]
jne 0x1400abe6f
mov rdx, r10
cmp qword [rcx + r14], 0
je 0x1400abe48
mov rcx, qword [rsp + 0x1a8]
test rcx, rcx
jle 0x1400abfc0
add rcx, rcx
dec rax
mov qword [rsp + 0x1a8], rcx
xor r11d, r11d
cmp rdx, 2
jb 0x1400abfc0
mov qword [rsp + 0xc80], rsi
lea r10, [rdx + 0x3e]
shr r10, 6
lea r12, [rdx - 1]
mov qword [rsp + 0xdf8], r8
xor r8d, r8d
movsxd rsi, r11d
mov r9, rsi
shl r9, 6
lea rcx, [r9 + 0x40]
neg r9
cmp r12, rcx
cmovl rcx, r12
add r9, rcx
cmp r9, 2
jl 0x1400adac1
mov r14, rsi
mov rcx, r9
shl r14, 9
and rcx, 0xfffffffffffffffe
xor r13d, r13d
lea r15, [rsp + r14 + 0x1a0]
mov r14, r8
movdqu xmm3, xmmword [r15 + r14*8 + 0x10]
add r13d, 2
movdqu xmmword [rsp + r14*8 + 0x490], xmm3
add r14, 2
cmp r13, rcx
jb 0x1400abefb
movsxd r13, ecx
mov r14d, ecx
mov ecx, ecx
cmp rcx, r9
jae 0x1400abf4d
mov rcx, rsi
shl rcx, 9
lea rcx, [rsp + rcx + 0x1a0]
mov r15, qword [rcx + r13*8 + 0x10]
inc r14d
mov qword [rsp + r13*8 + 0x490], r15
inc r13
cmp r14, r9
jb 0x1400abf35
xor ecx, ecx
mov r14, r8
test r9, r9
je 0x1400abfa4
shl rsi, 9
mov r13, qword [rsp + rsi + 0x1a8]
lea r15, [rsp + rsi + 0x1a0]
mov r8, qword [rsp + r14*8 + 0x490]
inc ecx
shr r8, 0x3f
or r13, r8
mov qword [r15 + r14*8 + 8], r13
mov r13, qword [r15 + r14*8 + 0x10]
inc r14
add r13, r13
cmp rcx, r9
jb 0x1400abf6b
movsxd rcx, ecx
xor r8d, r8d
lea r9, [rsp + rcx*8 + 0x1a0]
mov qword [r9 + rsi + 8], r13
inc r11d
cmp r11, r10
jb 0x1400abeba
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
cmp qword [rsp + rdx*8 + 0x1a0], 0
lea rcx, [rdx - 1]
cmove rdx, rcx
mov rcx, r8
shr rcx, 6
cmp rdx, rcx
jb 0x1400ac0fe
mov rdx, rcx
mov r11, qword [rsp + rcx*8 + 0x1a8]
shr r11, 0x3f
lea r9, [rcx*8]
mov r10, qword [rsp + r9 + 0x1a0]
add r10, r11
cmp r10, r11
jae 0x1400ac0ae
mov qword [rsp + r9 + 0x1a0], r10
lea rdx, [rcx - 1]
mov qword [rsp + 0x1a0], 0
mov r11, rdx
cmp qword [rsp + rdx*8 + 0x1a0], 0xffffffffffffffff
jne 0x1400ac067
xor r10d, r10d
lea r9, [rsp + rcx*8 + 0x198]
xor ecx, ecx
inc r10
add rcx, 0xfffffffffffffff0
lea r12, [r10 + r10]
neg r12
add r12, r11
cmp qword [rcx + r9 + 8], 0xffffffffffffffff
lea rdx, [r12 + 1]
jne 0x1400ac067
mov rdx, r12
cmp qword [rcx + r9], 0xffffffffffffffff
je 0x1400ac03f
test rdx, rdx
je 0x1400ac08c
lea r9, [rdx*8]
mov r10, qword [rsp + r9 + 0x1a0]
inc r10
mov qword [rsp + r9 + 0x1a0], r10
jmp 0x1400ac10e
movabs r10, 0x8000000000000000
mov edx, 1
mov qword [rsp + 0x1a8], r10
inc rax
mov r9d, 8
jmp 0x1400ac10e
mov qword [rsp + r9 + 0x1a0], r10
test r10, r10
jne 0x1400ac10e
xor r12d, r12d
lea r11, [rsp + rcx*8 + 0x1a0]
xor r10d, r10d
inc r12
add r10, 0xfffffffffffffff0
lea r9, [r12 + r12]
neg r9
add r9, rcx
cmp qword [r10 + r11 + 8], 0
lea rdx, [r9 + 1]
jne 0x1400ac0fe
mov rdx, r9
cmp qword [r10 + r11], 0
je 0x1400ac0c9
shl r9, 3
mov r10, qword [rsp + r9 + 0x1a0]
jmp 0x1400ac10e
lea r9, [rdx*8]
mov r10, qword [rsp + r9 + 0x1a0]
test rbx, rbx
je 0x1400ac9cb
mov r14, qword [rsp + rbx*8 + 0x20]
lea r12, [rdx + rbx - 1]
mov r13, r14
lea rcx, [rdx + rbx]
mov qword [rsp + 0xb70], rcx
mov r9, r10
movsxd rcx, r12d
mov r12d, r10d
shr r13, 0x20
mov r11, r12
imul r11, r13
shr r9, 0x20
mov r10, r11
imul r13, r9
shr r10, 0x20
mov r15d, r14d
add r13, r10
mov r10, r12
lea r14, [rsp + rcx*8 + 0x380]
imul r10, r15
imul r15, r9
shl r11, 0x20
add r10, r11
mov qword [rsp + 0x480], r9
cmp r10, r11
mov r9, r15
mov r11d, 0
setb r11b
shl r15, 0x20
add r10, r15
cmp r10, r15
mov qword [r14 + 8], r10
mov r10d, 0
setb r10b
add r13, r11
shr r9, 0x20
xor r11d, r11d
add r13, r9
add r13, r10
lea r10, [rbx - 1]
mov qword [r14], r13
xor r9d, r9d
mov qword [rsp + 0x828], rdi
lea r15, [rsp + rcx*8 + 0x400]
mov qword [rsp + 0x360], r15
lea r15, [rsp + rbx*8 + 0x18]
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xcc0], rax
mov qword [rsp + 0xcc8], rdx
mov qword [rsp + 0xc70], rbx
mov qword [rsp + 0xdf8], r8
mov rsi, r15
mov rdi, qword [rsp + 0x360]
mov rbp, qword [rsp + 0x480]
mov r15, qword [rsi + r9*8]
mov r8, r15
shr r8, 0x20
mov rax, r12
imul rax, r8
imul r8, rbp
mov ebx, r15d
mov rdx, r12
imul rdx, rbx
imul rbx, rbp
mov r15, rax
inc r11
shl r15, 0x20
shr rax, 0x20
add rdx, r15
add r8, rax
xor eax, eax
cmp rdx, r15
mov r15, rbx
setb al
shl r15, 0x20
add rdx, r15
cmp rdx, r15
mov r15d, 0
setb r15b
add r13, rdx
cmp r13, rdx
mov edx, 0
mov qword [r14 + r9*8], r13
setb dl
shr rbx, 0x20
mov r13d, r15d
add rax, rbx
add r8, rax
add r13, rdx
mov qword [rdi + r9*8], 0
add r13, r8
dec r9
cmp r11, r10
jb 0x1400ac21d
mov rax, qword [rsp + 0xcc0]
lea r9, [r11*8]
neg r9
sub ecx, r11d
mov rdx, qword [rsp + 0xcc8]
mov rbx, qword [rsp + 0xc70]
mov rdi, qword [rsp + 0x828]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
mov qword [r9 + r14], r13
movsxd r9, ecx
dec ecx
mov qword [rsp + r9*8 + 0x400], 0
js 0x1400ac364
movsxd rcx, ecx
inc rcx
cmp rcx, 2
jl 0x1400adab9
mov r10d, ecx
xor r9d, r9d
and r10d, 0xfffffffe
movsxd r10, r10d
movdqu xmmword [rsp + r9*8 + 0x400], xmm2
movdqu xmmword [rsp + r9*8 + 0x380], xmm2
add r9, 2
cmp r9, r10
jb 0x1400ac327
cmp r10, rcx
jae 0x1400ac364
xor r9d, r9d
mov qword [rsp + r10*8 + 0x400], r9
mov qword [rsp + r10*8 + 0x380], r9
inc r10
cmp r10, rcx
jb 0x1400ac34c
xor r11d, r11d
lea r10, [rdx - 1]
movsxd r10, r10d
test r10, r10
je 0x1400ac5ad
mov qword [rsp + 0xcc8], rdx
lea r9, [rsp + r10*8 + 0x1a0]
mov qword [rsp + 0xe88], r9
lea r9, [rsp + r10*8 + 0x380]
mov qword [rsp + 0xcc0], rax
lea r15, [rsp + r10*8 + 0x400]
mov qword [rsp + 0xe68], r15
lea r14, [rbx*8]
mov qword [rsp + 0xe70], r14
lea r13, [r9 + rbx*8]
mov qword [rsp + 0xe78], r13
lea r12, [rsp + rbx*8 + 0x20]
mov qword [rsp + 0xe80], r12
lea rcx, [r10 + rbx]
mov qword [rsp + 0x828], rdi
xor eax, eax
mov qword [rsp + 0xcb8], rbp
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
mov rdx, qword [rsp + 0xe88]
mov r13, rax
mov r8, r13
test rbx, rbx
je 0x1400ac56e
mov rdi, rdx
lea r12, [r11*8]
sub rdi, r12
mov r14, qword [rsp + 0xe70]
sub r14, r12
neg r12
add r12, qword [rsp + 0xe78]
mov rbp, qword [rdi]
mov rdi, rbp
mov r15, qword [rsp + rcx*8 + 0x380]
shr rdi, 0x20
mov esi, ebp
lea rbp, [r9 + r14]
add r14, qword [rsp + 0xe68]
mov rax, qword [rsp + 0xe80]
mov qword [rsp + 0xea8], r9
mov qword [rsp + 0xea0], rcx
mov qword [rsp + 0xe98], r11
mov qword [rsp + 0xe90], r10
mov r9, qword [rax + r8*8]
mov rdx, r9
shr rdx, 0x20
mov r10, rsi
imul r10, rdx
imul rdx, rdi
mov ecx, r9d
mov r11, rsi
imul r11, rcx
imul rcx, rdi
mov r9, r10
dec r8
shl r9, 0x20
shr r10, 0x20
add r11, r9
add rdx, r10
xor r10d, r10d
cmp r11, r9
mov r9, rcx
setb r10b
shl r9, 0x20
add r11, r9
cmp r11, r9
mov r9d, 0
setb r9b
add r15, r11
cmp r15, r11
mov r11d, 0
setb r11b
shr rcx, 0x20
add r10, rcx
add rdx, r10
add r9, r11
add rdx, r9
lea rcx, [r13*8]
mov r9, r12
inc r13
sub r9, rcx
mov qword [r9], r15
mov r15, rbp
sub r15, rcx
neg rcx
add rcx, r14
mov r15, qword [r15 - 8]
add r15, rdx
cmp r15, rdx
mov edx, 0
setb dl
add qword [rcx - 0x10], rdx
cmp r13, rbx
jb 0x1400ac481
shl r13, 3
xor eax, eax
sub r12, r13
mov r9, qword [rsp + 0xea8]
mov rdx, qword [rsp + 0xe88]
mov rcx, qword [rsp + 0xea0]
mov r11, qword [rsp + 0xe98]
mov r10, qword [rsp + 0xe90]
mov qword [r12], r15
inc r11
dec rcx
cmp r11, r10
jb 0x1400ac406
mov rax, qword [rsp + 0xcc0]
mov rdx, qword [rsp + 0xcc8]
mov rdi, qword [rsp + 0x828]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
add rax, qword [rsp + 0x940]
lea rcx, [rdx + rbx - 1]
mov rdx, qword [rsp + 0xb70]
mov r13d, ecx
xor r11d, r11d
mov r9, qword [rsp + rdx*8 + 0x380]
lea rbx, [rsp + rdx*8 + 0x1a0]
mov qword [rbx], r9
test r13d, r13d
je 0x1400ac6de
mov r10d, r13d
mov r9d, 1
shr r10d, 0x1f
xor r14d, r14d
add r10d, r13d
xor r12d, r12d
sar r10d, 1
test r10d, r10d
jbe 0x1400ac6ac
movsxd r15, ecx
movsxd r10, r10d
mov qword [rsp + 0x358], r10
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
lea r9, [rsp + r15*8 + 0x380]
lea r10, [rsp + r15*8 + 0x1a0]
mov r8, r9
lea r9, [rsp + r15*8 + 0x400]
mov rsi, qword [rsp + 0x358]
nop word [rax + rax]
add r11, qword [r12 + r9]
inc r14
mov r15, qword [r12 + r8]
add r15, r11
cmp r15, r11
mov r11d, 0
mov qword [r12 + r10], r15
setb r11b
add r11, qword [r12 + r9 - 8]
mov r15, qword [r12 + r8 - 8]
add r15, r11
cmp r15, r11
mov r11d, 0
mov qword [r12 + r10 - 8], r15
setb r11b
add r12, 0xfffffffffffffff0
cmp r14, rsi
jb 0x1400ac650
mov rsi, qword [rsp + 0xc80]
lea r9d, [r14 + r14 + 1]
mov r8, qword [rsp + 0xdf8]
lea r10d, [r9 - 1]
cmp r10d, r13d
jae 0x1400ac6db
movsxd r9, r9d
movsxd r10, ecx
sub r10, r9
add r11, qword [rsp + r10*8 + 0x408]
add r11, qword [rsp + r10*8 + 0x388]
mov qword [rsp + r10*8 + 0x1a8], r11
mov r9, qword [rbx]
jmp 0x1400ac6de
mov r9, qword [rbx]
test r9, r9
jne 0x1400ac727
xor r10d, r10d
mov r11, qword [rsp + 0xb70]
xor r9d, r9d
inc r10
add r9, 0xfffffffffffffff0
lea rcx, [r10 + r10]
neg rcx
add rcx, r11
cmp qword [r9 + rbx + 8], 0
lea rdx, [rcx + 1]
jne 0x1400adaac
mov rdx, rcx
cmp qword [r9 + rbx], 0
je 0x1400ac6f1
lea rbx, [rsp + rcx*8 + 0x1a0]
dec rcx
mov r9, qword [rsp + 0x1a8]
test r9, r9
jle 0x1400ac888
add r9, r9
dec rax
mov qword [rsp + 0x1a8], r9
xor r11d, r11d
cmp rdx, 2
jb 0x1400ac888
mov qword [rsp + 0xcb8], rbp
lea r10, [rdx + 0x3e]
shr r10, 6
lea r12, [rdx - 1]
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
xor r8d, r8d
movsxd r9, r11d
mov rsi, r9
shl rsi, 6
lea rbp, [rsi + 0x40]
neg rsi
cmp r12, rbp
cmovl rbp, r12
add rsi, rbp
cmp rsi, 2
jl 0x1400adaa4
mov r14, r9
mov rbp, rsi
shl r14, 9
and rbp, 0xfffffffffffffffe
xor r13d, r13d
lea r15, [rsp + r14 + 0x1a0]
mov r14, r8
movdqu xmm3, xmmword [r15 + r14*8 + 0x10]
add r13d, 2
movdqu xmmword [rsp + r14*8 + 0x490], xmm3
add r14, 2
cmp r13, rbp
jb 0x1400ac7bb
movsxd r13, ebp
mov r14d, ebp
mov ebp, ebp
cmp rbp, rsi
jae 0x1400ac80d
mov rbp, r9
shl rbp, 9
lea rbp, [rsp + rbp + 0x1a0]
mov r15, qword [rbp + r13*8 + 0x10]
inc r14d
mov qword [rsp + r13*8 + 0x490], r15
inc r13
cmp r14, rsi
jb 0x1400ac7f5
xor ebp, ebp
mov r14, r8
test rsi, rsi
je 0x1400ac864
shl r9, 9
mov r13, qword [rsp + r9 + 0x1a8]
lea r15, [rsp + r9 + 0x1a0]
mov r8, qword [rsp + r14*8 + 0x490]
inc ebp
shr r8, 0x3f
or r13, r8
mov qword [r15 + r14*8 + 8], r13
mov r13, qword [r15 + r14*8 + 0x10]
inc r14
add r13, r13
cmp rbp, rsi
jb 0x1400ac82b
movsxd rbp, ebp
xor r8d, r8d
lea rsi, [rsp + rbp*8 + 0x1a0]
mov qword [rsi + r9 + 8], r13
inc r11d
cmp r11, r10
jb 0x1400ac77a
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
cmp qword [rbx], 0
mov r11, r8
cmove rdx, rcx
shr r11, 6
cmp rdx, r11
jb 0x1400ac9bb
mov rdx, r11
mov rcx, qword [rsp + r11*8 + 0x1a8]
shr rcx, 0x3f
lea r9, [r11*8]
mov r10, qword [rsp + r9 + 0x1a0]
add r10, rcx
cmp r10, rcx
jae 0x1400ac96c
mov qword [rsp + r9 + 0x1a0], r10
lea rdx, [r11 - 1]
mov qword [rsp + 0x1a0], 0
mov r10, rdx
cmp qword [rsp + rdx*8 + 0x1a0], 0xffffffffffffffff
jne 0x1400ac925
xor r9d, r9d
lea rbx, [rsp + r11*8 + 0x198]
xor ecx, ecx
inc r9
add rcx, 0xfffffffffffffff0
lea r11, [r9 + r9]
neg r11
add r11, r10
cmp qword [rcx + rbx + 8], 0xffffffffffffffff
lea rdx, [r11 + 1]
jne 0x1400ac925
mov rdx, r11
cmp qword [rcx + rbx], 0xffffffffffffffff
je 0x1400ac8fe
test rdx, rdx
je 0x1400ac94a
lea r9, [rdx*8]
mov r10, qword [rsp + r9 + 0x1a0]
inc r10
mov qword [rsp + r9 + 0x1a0], r10
jmp 0x1400ac9cb
movabs r10, 0x8000000000000000
inc rax
mov qword [rsp + 0x1a8], r10
mov edx, 1
mov r9d, 8
jmp 0x1400ac9cb
mov qword [rsp + r9 + 0x1a0], r10
test r10, r10
jne 0x1400ac9cb
xor r10d, r10d
lea rbx, [rsp + r11*8 + 0x1a0]
xor ecx, ecx
inc r10
add rcx, 0xfffffffffffffff0
lea r9, [r10 + r10]
neg r9
add r9, r11
cmp qword [rcx + rbx + 8], 0
lea rdx, [r9 + 1]
jne 0x1400ac9bb
mov rdx, r9
cmp qword [rcx + rbx], 0
je 0x1400ac986
shl r9, 3
mov r10, qword [rsp + r9 + 0x1a0]
jmp 0x1400ac9cb
lea r9, [rdx*8]
mov r10, qword [rsp + r9 + 0x1a0]
test rdi, rdi
je 0x1400ad24a
mov r15, qword [rsp + rdi*8 + 0x120]
mov r14, r15
mov r13d, r10d
lea rcx, [rdi + rdx]
mov qword [rsp + 0xc60], rcx
mov rcx, r10
shr r14, 0x20
mov r10, r13
imul r10, r14
shr rcx, 0x20
mov r11, r10
imul r14, rcx
shr r11, 0x20
lea rbx, [rdi + rdx - 1]
mov r12d, r15d
add r14, r11
mov r11, r13
imul r11, r12
imul r12, rcx
shl r10, 0x20
add r11, r10
cmp r11, r10
mov r10d, 0
movsxd r9, ebx
setb r10b
add r14, r10
mov r10, r12
shl r12, 0x20
lea r15, [rsp + r9*8 + 0x950]
add r11, r12
cmp r11, r12
lea r12, [rdi - 1]
mov qword [r15 + 8], r11
mov r11d, 0
setb r11b
shr r10, 0x20
add r14, r10
add r14, r11
movsxd r11, r12d
xor r12d, r12d
mov qword [r15], r14
xor r10d, r10d
test r11, r11
je 0x1400acbad
mov qword [rsp + 0xcb8], rbp
lea rbx, [rsp + r9*8 + 0x9d0]
mov qword [rsp + 0x820], rbx
lea rbx, [rsp + r11*8 + 0x120]
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xcc0], rax
mov qword [rsp + 0xcc8], rdx
mov qword [rsp + 0x828], rdi
mov qword [rsp + 0xdf8], r8
mov rbp, rbx
mov rsi, qword [rsp + 0x820]
mov r8, qword [rbp + r10*8]
mov rdi, r8
shr rdi, 0x20
mov rax, r13
imul rax, rdi
imul rdi, rcx
mov ebx, r8d
mov rdx, r13
imul rdx, rbx
imul rbx, rcx
mov r8, rax
inc r12
shl r8, 0x20
shr rax, 0x20
add rdx, r8
add rdi, rax
xor eax, eax
cmp rdx, r8
mov r8, rbx
setb al
shl r8, 0x20
add rdx, r8
cmp rdx, r8
mov r8d, 0
setb r8b
add r14, rdx
cmp r14, rdx
mov edx, 0
mov qword [r15 + r10*8], r14
setb dl
shr rbx, 0x20
mov r14d, r8d
add rax, rbx
add rdi, rax
add r14, rdx
mov qword [rsi + r10*8], 0
add r14, rdi
dec r10
cmp r12, r11
jb 0x1400acad4
mov ebx, r9d
lea rcx, [r12*8]
neg rcx
sub ebx, r12d
mov rax, qword [rsp + 0xcc0]
mov rdx, qword [rsp + 0xcc8]
mov rdi, qword [rsp + 0x828]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
mov qword [rcx + r15], r14
movsxd r9, ebx
dec ebx
mov qword [rsp + r9*8 + 0x9d0], 0
js 0x1400acc13
movsxd rbx, ebx
inc rbx
cmp rbx, 2
jl 0x1400ada9c
mov r9d, ebx
xor ecx, ecx
and r9d, 0xfffffffe
movsxd r9, r9d
movdqu xmmword [rsp + rcx*8 + 0x9d0], xmm2
movdqu xmmword [rsp + rcx*8 + 0x950], xmm2
add rcx, 2
cmp rcx, r9
jb 0x1400acbd9
cmp r9, rbx
jae 0x1400acc13
xor ecx, ecx
mov qword [rsp + r9*8 + 0x9d0], rcx
mov qword [rsp + r9*8 + 0x950], rcx
inc r9
cmp r9, rbx
jb 0x1400acbfb
xor r10d, r10d
lea rbx, [rdx - 1]
movsxd rbx, ebx
test rbx, rbx
je 0x1400ace67
movsxd r11, edi
lea r15, [rsp + rbx*8 + 0x9d0]
mov qword [rsp + 0xcc8], rdx
lea r9, [rsp + rbx*8 + 0x1a0]
mov qword [rsp + 0xf30], r15
mov qword [rsp + 0xcc0], rax
xor eax, eax
mov qword [rsp + 0x828], rdi
lea rcx, [rbx + r11]
mov qword [rsp + 0xf50], rcx
lea rcx, [rsp + rbx*8 + 0x950]
mov qword [rsp + 0xcb8], rbp
lea r14, [r11*8]
mov qword [rsp + 0xf38], r14
lea r13, [rcx + r11*8]
mov qword [rsp + 0xf40], r13
lea r12, [rsp + r11*8 + 0x120]
mov qword [rsp + 0xf48], r12
mov qword [rsp + 0xc80], rsi
mov qword [rsp + 0xdf8], r8
mov rdx, qword [rsp + 0xf50]
mov r14, rax
mov r12, r14
test r11, r11
je 0x1400ace28
mov r8, r9
lea r13, [r10*8]
sub r8, r13
mov r15, qword [rsp + rdx*8 + 0x950]
mov qword [rsp + 0xf70], rcx
mov qword [rsp + 0xf68], r9
mov rbp, qword [r8]
mov r8, rbp
mov edi, ebp
mov rbp, qword [rsp + 0xf38]
sub rbp, r13
neg r13
add r13, qword [rsp + 0xf40]
mov rax, qword [rsp + 0xf48]
shr r8, 0x20
mov qword [rsp + 0xf50], rdx
lea rsi, [rcx + rbp]
add rbp, qword [rsp + 0xf30]
mov qword [rsp + 0xf60], r10
mov qword [rsp + 0xf58], rbx
mov rbx, qword [rax + r12*8]
mov rdx, rbx
shr rdx, 0x20
mov r9, rdi
imul r9, rdx
imul rdx, r8
mov ecx, ebx
mov r10, rdi
imul r10, rcx
imul rcx, r8
mov rbx, r9
dec r12
shl rbx, 0x20
shr r9, 0x20
add r10, rbx
add rdx, r9
xor r9d, r9d
cmp r10, rbx
mov rbx, rcx
setb r9b
shl rbx, 0x20
add r10, rbx
cmp r10, rbx
mov ebx, 0
setb bl
add r15, r10
cmp r15, r10
mov r10d, 0
setb r10b
shr rcx, 0x20
add r9, rcx
add rdx, r9
add rbx, r10
add rdx, rbx
lea rcx, [r14*8]
mov rbx, r13
inc r14
sub rbx, rcx
mov qword [rbx], r15
mov r15, rsi
sub r15, rcx
neg rcx
add rcx, rbp
mov r15, qword [r15 - 8]
add r15, rdx
cmp r15, rdx
mov edx, 0
setb dl
add qword [rcx - 0x10], rdx
cmp r14, r11
jb 0x1400acd3e
shl r14, 3
xor eax, eax
sub r13, r14
mov rcx, qword [rsp + 0xf70]
mov r9, qword [rsp + 0xf68]
mov rdx, qword [rsp + 0xf50]
mov r10, qword [rsp + 0xf60]
mov rbx, qword [rsp + 0xf58]
mov qword [r13], r15
inc r10
dec rdx
cmp r10, rbx
jb 0x1400accbb
mov rax, qword [rsp + 0xcc0]
mov rdx, qword [rsp + 0xcc8]
mov rdi, qword [rsp + 0x828]
mov rbp, qword [rsp + 0xcb8]
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
add rax, qword [rsp + 0xc78]
lea r13, [rdi + rdx - 1]
mov rdx, qword [rsp + 0xc60]
mov r9d, r13d
xor ebx, ebx
mov rcx, qword [rsp + rdx*8 + 0x950]
lea r12, [rsp + rdx*8 + 0x1a0]
mov qword [r12], rcx
test r9d, r9d
je 0x1400acf72
mov r14d, r9d
mov ecx, 1
shr r14d, 0x1f
xor edi, edi
add r14d, r9d
xor r11d, r11d
sar r14d, 1
test r14d, r14d
jbe 0x1400acf3f
movsxd rcx, r13d
movsxd r14, r14d
mov qword [rsp + 0xdf8], r8
lea r15, [rsp + rcx*8 + 0x1a0]
lea r10, [rsp + rcx*8 + 0x950]
lea rcx, [rsp + rcx*8 + 0x9d0]
nop dword [rax + rax]
nop dword [rax]
add rbx, qword [r11 + rcx]
inc rdi
mov r8, qword [r11 + r10]
add r8, rbx
cmp r8, rbx
mov ebx, 0
mov qword [r11 + r15], r8
setb bl
add rbx, qword [r11 + rcx - 8]
mov r8, qword [r11 + r10 - 8]
add r8, rbx
cmp r8, rbx
mov ebx, 0
mov qword [r11 + r15 - 8], r8
setb bl
add r11, 0xfffffffffffffff0
cmp rdi, r14
jb 0x1400acef0
mov r8, qword [rsp + 0xdf8]
lea ecx, [rdi + rdi + 1]
lea edi, [rcx - 1]
cmp edi, r9d
jae 0x1400acf6e
movsxd rcx, ecx
movsxd rdi, r13d
sub rdi, rcx
add rbx, qword [rsp + rdi*8 + 0x9d8]
add rbx, qword [rsp + rdi*8 + 0x958]
mov qword [rsp + rdi*8 + 0x1a8], rbx
mov rcx, qword [r12]
jmp 0x1400acf72
mov rcx, qword [r12]
test rcx, rcx
jne 0x1400acfb9
xor ebx, ebx
mov rdi, qword [rsp + 0xc60]
xor ecx, ecx
inc rbx
add rcx, 0xfffffffffffffff0
lea r13, [rbx + rbx]
neg r13
add r13, rdi
cmp qword [rcx + r12 + 8], 0
lea rdx, [r13 + 1]
jne 0x1400ada8f
mov rdx, r13
cmp qword [rcx + r12], 0
je 0x1400acf83
lea r12, [rsp + r13*8 + 0x1a0]
dec r13
mov rcx, qword [rsp + 0x1a8]
test rcx, rcx
jle 0x1400ad108
add rcx, rcx
dec rax
mov qword [rsp + 0x1a8], rcx
xor r10d, r10d
cmp rdx, 2
jb 0x1400ad108
mov qword [rsp + 0xc80], rsi
lea r9, [rdx + 0x3e]
shr r9, 6
lea r11, [rdx - 1]
mov qword [rsp + 0xdf8], r8
xor esi, esi
movsxd rdi, r10d
mov rbx, rdi
shl rbx, 6
lea rcx, [rbx + 0x40]
neg rbx
cmp r11, rcx
cmovl rcx, r11
add rbx, rcx
cmp rbx, 2
jl 0x1400ada87
mov r14, rdi
mov rcx, rbx
shl r14, 9
and rcx, 0xfffffffffffffffe
xor r8d, r8d
lea r15, [rsp + r14 + 0x1a0]
mov r14, rsi
movdqu xmm3, xmmword [r15 + r14*8 + 0x10]
add r8d, 2
movdqu xmmword [rsp + r14*8 + 0x490], xmm3
add r14, 2
cmp r8, rcx
jb 0x1400ad044
movsxd r8, ecx
mov r14d, ecx
mov ecx, ecx
cmp rcx, rbx
jae 0x1400ad096
mov rcx, rdi
shl rcx, 9
lea rcx, [rsp + rcx + 0x1a0]
mov r15, qword [rcx + r8*8 + 0x10]
inc r14d
mov qword [rsp + r8*8 + 0x490], r15
inc r8
cmp r14, rbx
jb 0x1400ad07e
xor ecx, ecx
mov r14, rsi
test rbx, rbx
je 0x1400ad0ec
shl rdi, 9
mov r8, qword [rsp + rdi + 0x1a8]
lea r15, [rsp + rdi + 0x1a0]
mov rsi, qword [rsp + r14*8 + 0x490]
inc ecx
shr rsi, 0x3f
or r8, rsi
mov qword [r15 + r14*8 + 8], r8
mov r8, qword [r15 + r14*8 + 0x10]
inc r14
add r8, r8
cmp rcx, rbx
jb 0x1400ad0b4
movsxd rcx, ecx
xor esi, esi
lea rbx, [rsp + rcx*8 + 0x1a0]
mov qword [rbx + rdi + 8], r8
inc r10d
cmp r10, r9
jb 0x1400ad003
mov rsi, qword [rsp + 0xc80]
mov r8, qword [rsp + 0xdf8]
cmp qword [r12], 0
mov r11, r8
cmove rdx, r13
shr r11, 6
cmp rdx, r11
jb 0x1400ad23a
mov rdx, r11
mov rcx, qword [rsp + r11*8 + 0x1a8]
shr rcx, 0x3f
lea r9, [r11*8]
mov r10, qword [rsp + r9 + 0x1a0]
add r10, rcx
cmp r10, rcx
jae 0x1400ad1ec
mov qword [rsp + r9 + 0x1a0], r10
lea rdx, [r11 - 1]
mov qword [rsp + 0x1a0], 0
mov r9, rdx
cmp qword [rsp + rdx*8 + 0x1a0], 0xffffffffffffffff
jne 0x1400ad1a5
xor edi, edi
lea rbx, [rsp + r11*8 + 0x198]
xor ecx, ecx
inc rdi
add rcx, 0xfffffffffffffff0
lea r10, [rdi + rdi]
neg r10
add r10, r9
cmp qword [rcx + rbx + 8], 0xffffffffffffffff
lea rdx, [r10 + 1]
jne 0x1400ad1a5
mov rdx, r10
cmp qword [rcx + rbx], 0xffffffffffffffff
je 0x1400ad17e
test rdx, rdx
je 0x1400ad1ca
lea r9, [rdx*8]
mov r10, qword [rsp + r9 + 0x1a0]
inc r10
mov qword [rsp + r9 + 0x1a0], r10
jmp 0x1400ad24a
movabs r10, 0x8000000000000000
inc rax
mov qword [rsp + 0x1a8], r10
mov edx, 1
mov r9d, 8
jmp 0x1400ad24a
mov qword [rsp + r9 + 0x1a0], r10
test r10, r10
jne 0x1400ad24a
xor edi, edi
lea rbx, [rsp + r11*8 + 0x1a0]
xor ecx, ecx
inc rdi
add rcx, 0xfffffffffffffff0
lea r9, [rdi + rdi]
neg r9
add r9, r11
cmp qword [rcx + rbx + 8], 0
lea rdx, [r9 + 1]
jne 0x1400ad23a
mov rdx, r9
cmp qword [rcx + rbx], 0
je 0x1400ad205
shl r9, 3
mov r10, qword [rsp + r9 + 0x1a0]
jmp 0x1400ad24a
lea r9, [rdx*8]
mov r10, qword [rsp + r9 + 0x1a0]
mov edi, esi
mov r11, rsi
mov rsi, r10
mov r13, rdi
shr rsi, 0x20
mov ecx, edx
imul r13, rsi
shr r11, 0x20
mov r14, r13
imul rsi, r11
shr r14, 0x20
mov r12d, ecx
mov r15d, r10d
add rsi, r14
mov r14, rdi
imul r14, r15
imul r15, r11
shl r13, 0x20
add r14, r13
cmp r14, r13
mov r13d, 0
movsxd rbx, edx
setb r13b
add rsi, r13
mov r13, r15
shl r15, 0x20
lea r10, [rsp + rbx*8 + 0xce0]
add r14, r15
cmp r14, r15
lea r15, [rdx - 1]
mov qword [r10 + 8], r14
mov r14d, 0
setb r14b
shr r13, 0x20
add rsi, r13
add rsi, r14
movsxd r14, r15d
xor r15d, r15d
mov qword [r10], rsi
xor r13d, r13d
test r14, r14
je 0x1400ad409
mov qword [rsp + 0xcb8], rbp
lea r12, [rsp + rbx*8 + 0xd60]
mov qword [rsp + 0xcb0], r12
lea r12, [rsp + r14*8 + 0x1a0]
mov qword [rsp + 0xdf8], r8
mov dword [rsp + 0xcd0], ecx
mov qword [rsp + 0xcd8], r9
mov qword [rsp + 0xcc0], rax
mov qword [rsp + 0xcc8], rdx
mov rbp, r12
mov r8, qword [rsp + 0xcb0]
mov r12, qword [rbp + r13*8]
mov r9, r12
shr r9, 0x20
mov rax, rdi
imul rax, r9
imul r9, r11
mov ecx, r12d
mov rdx, rdi
imul rdx, rcx
imul rcx, r11
mov r12, rax
inc r15
shl r12, 0x20
shr rax, 0x20
add rdx, r12
add r9, rax
xor eax, eax
cmp rdx, r12
mov r12, rcx
setb al
shl r12, 0x20
add rdx, r12
cmp rdx, r12
mov r12d, 0
setb r12b
add rsi, rdx
cmp rsi, rdx
mov edx, 0
mov qword [r10 + r13*8], rsi
setb dl
shr rcx, 0x20
mov esi, r12d
add rax, rcx
add r9, rax
add rsi, rdx
mov qword [r8 + r13*8], 0
add rsi, r9
dec r13
cmp r15, r14
jb 0x1400ad334
mov ecx, dword [rsp + 0xcd0]
lea r12, [r15*8]
neg r12
mov r9, qword [rsp + 0xcd8]
mov rax, qword [rsp + 0xcc0]
mov rdx, qword [rsp + 0xcc8]
mov qword [r12 + r10], rsi
mov r12d, ebx
mov rbp, qword [rsp + 0xcb8]
sub r12d, r15d
mov r8, qword [rsp + 0xdf8]
movsxd r12, r12d
mov qword [rsp + r12*8 + 0xd60], 0
dec r12d
js 0x1400ad472
movsxd r12, r12d
inc r12
cmp r12, 2
jl 0x1400ada80
mov edi, r12d
xor esi, esi
and edi, 0xfffffffe
movsxd rdi, edi
movdqu xmmword [rsp + rsi*8 + 0xd60], xmm2
movdqu xmmword [rsp + rsi*8 + 0xce0], xmm2
add rsi, 2
cmp rsi, rdi
jb 0x1400ad438
cmp rdi, r12
jae 0x1400ad472
xor esi, esi
mov qword [rsp + rdi*8 + 0xd60], rsi
mov qword [rsp + rdi*8 + 0xce0], rsi
inc rdi
cmp rdi, r12
jb 0x1400ad45a
mov rdi, qword [rsp + r9 + 0xce8]
lea rax, [rax + rbp - 0x7e]
mov qword [rsp + r9 + 0xb88], rdi
lea rbp, [rdx + 1]
mov rsi, rbp
xor r14d, r14d
test ecx, ecx
je 0x1400ad543
mov edi, 1
xor r13d, r13d
mov r11d, edi
mov edi, ecx
shr edi, 0x1f
xor r12d, r12d
add edi, ecx
sar edi, 1
test edi, edi
jbe 0x1400ad51c
movsxd rdi, edi
lea r11, [rsp + rbx*8 + 0xb80]
lea r9, [rsp + rbx*8 + 0xd60]
nop word [rax + rax]
add r14, qword [r12 + r9]
inc r13
mov r15, qword [r12 + r10]
add r15, r14
cmp r15, r14
mov r14d, 0
mov qword [r12 + r11], r15
setb r14b
add r14, qword [r12 + r9 - 8]
mov r15, qword [r12 + r10 - 8]
add r15, r14
cmp r15, r14
mov r14d, 0
mov qword [r12 + r11 - 8], r15
setb r14b
add r12, 0xfffffffffffffff0
cmp r13, rdi
jb 0x1400ad4d0
lea r11d, [r13 + r13 + 1]
lea r9d, [r11 - 1]
cmp r9d, ecx
jae 0x1400ad543
movsxd r11, r11d
sub rbx, r11
add r14, qword [rsp + rbx*8 + 0xd68]
add r14, qword [rsp + rbx*8 + 0xce8]
mov qword [rsp + rbx*8 + 0xb88], r14
lea r10, [rsp + rdx*8 + 0xb88]
cmp qword [r10], 0
jne 0x1400ad590
xor edi, edi
lea rbx, [rsp + rdx*8 + 0xb88]
xor ecx, ecx
inc rdi
add rcx, 0xfffffffffffffff0
lea rdx, [rdi + rdi]
neg rdx
add rdx, rsi
cmp qword [rcx + rbx + 8], 0
lea rbp, [rdx + 1]
jne 0x1400ada73
mov rbp, rdx
cmp qword [rcx + rbx], 0
je 0x1400ad55d
lea r10, [rsp + rdx*8 + 0xb80]
mov rdx, qword [rsp + 0xb88]
test rdx, rdx
jle 0x1400ad6be
add rdx, rdx
dec rax
mov qword [rsp + 0xb88], rdx
xor ecx, ecx
cmp rbp, 2
jb 0x1400ad6be
xor edi, edi
lea rdx, [rbp + 0x3e]
shr rdx, 6
lea rbx, [rbp - 1]
movsxd rsi, ecx
mov r9, rsi
shl r9, 6
lea r11, [r9 + 0x40]
neg r9
cmp rbx, r11
cmovl r11, rbx
add r9, r11
cmp r9, 2
jl 0x1400ada6b
mov r11, rsi
mov r13, r9
shl r11, 9
and r13, 0xfffffffffffffffe
xor r14d, r14d
lea r12, [rsp + r11 + 0xb80]
mov r11, rdi
movdqu xmm3, xmmword [r12 + r11*8 + 0x10]
add r14d, 2
movdqu xmmword [rsp + r11*8 + 0x490], xmm3
add r11, 2
cmp r14, r13
jb 0x1400ad60a
movsxd r12, r13d
mov r11d, r13d
mov r13d, r13d
cmp r13, r9
jae 0x1400ad65d
mov r13, rsi
shl r13, 9
lea r13, [rsp + r13 + 0xb80]
mov r14, qword [r13 + r12*8 + 0x10]
inc r11d
mov qword [rsp + r12*8 + 0x490], r14
inc r12
cmp r11, r9
jb 0x1400ad645
xor r14d, r14d
mov r12, rdi
test r9, r9
je 0x1400ad6b3
shl rsi, 9
mov r13, qword [rsp + rsi + 0xb88]
lea r11, [rsp + rsi + 0xb80]
mov r15, qword [rsp + r12*8 + 0x490]
inc r14d
shr r15, 0x3f
or r13, r15
mov qword [r11 + r12*8 + 8], r13
mov r13, qword [r11 + r12*8 + 0x10]
inc r12
add r13, r13
cmp r14, r9
jb 0x1400ad67c
movsxd r14, r14d
lea r9, [rsp + r14*8 + 0xb80]
mov qword [r9 + rsi + 8], r13
inc ecx
cmp rcx, rdx
jb 0x1400ad5c9
nop
cmp qword [r10], 0
lea rdx, [rbp - 1]
cmove rbp, rdx
jmp 0x1400a9404
mov rbx, qword [rsp + 0xc70]
lea rbp, [0x140000000]
mov r8, qword [rsp + 0xdf8]
jmp 0x1400aac07
cmp r8, 0x10
jl 0x1400ad72c
mov rdx, r8
xor eax, eax
movdqu xmm0, xmmword [str.0000000000000000]
and rdx, 0xfffffffffffffff0
movdqu xmmword [rax + rsi], xmm0
add rax, 0x10
cmp rax, rdx
jb 0x1400ad704
cmp rdx, r8
jae 0x1400a87f4
mov byte [rdx + rsi], 0x30
inc rdx
cmp rdx, r8
jb 0x1400ad71b
jmp 0x1400a87f4
xor edx, edx
jmp 0x1400ad712
mov rdx, qword [rsp + 0xff8]
dec rdi
add dword [rdx], r10d
cmp dword [rsp + 0xb78], 0
je 0x1400a8fda
inc r12
mov rdx, qword [rsp + 0xeb0]
cmp r12, rdx
cmovge r12, rdx
jmp 0x1400a8fda
movsx r8d, byte [rbx - 1]
jmp 0x1400a8fb2
cmp r12d, 0x10
jl 0x1400ad7af
mov r9d, r12d
xor edx, edx
movdqu xmm0, xmmword [str.0000000000000000]
and r9d, 0xfffffff0
add edx, 0x10
movdqu xmmword [rbx], xmm0
add rbx, 0x10
cmp edx, r9d
jb 0x1400ad784
cmp r9d, r12d
jae 0x1400ad7a7
inc r9d
mov byte [rbx], 0x30
inc rbx
cmp r9d, r12d
jb 0x1400ad799
inc r13
jmp 0x1400a9043
xor r9d, r9d
jmp 0x1400ad794
test r9, r9
jne 0x1400a8ce1
cmp rcx, r13
jae 0x1400ad7d8
inc rcx
mov r9d, 0x10
mov rdx, qword [rsp + rcx*8 + 0xb80]
jmp 0x1400a8ce1
mov dword [rsp + 0x48], r8d
mov r9d, dword [rsp + 0xc10]
mov rdi, qword [rsp + 0xdf0]
mov r12, qword [rsp + 0xe18]
mov r8, qword [rsp + 0xc00]
mov ebp, dword [rsp + 0xc08]
jmp 0x1400a8e2a
mov qword [rsp + 0x20], 0
test r12, r12
ja 0x1400a8ddf
jmp 0x1400a8e39
mov edi, dword [rsp + 0x20]
mov r12d, dword [rsp + 0x28]
cmp r12d, edi
cmovl edi, r12d
mov r12, rbx
sar r12, 1
shr r12, 0x3e
movsxd rdi, edi
lea r12, [r12 + r14 - 0x7e]
sar r12, 2
add r12, rdi
shl rdi, 2
neg rdi
mov qword [rsp + 0x30], rdi
cmp rbx, rdi
jge 0x1400a8c21
test r12, r12
jge 0x1400a8c21
mov eax, dword [rsp + 0xe08]
mov qword [rsp + 0xb88], rdx
mov rdx, qword [rsp + 0xe00]
add qword [rsp + 0x30], 4
lea ecx, [rax*8 + 4]
shr rdx, cl
and rdx, 1
test edx, edx
je 0x1400a8741
lea rbx, [rsi + 1]
mov rbp, qword [rsp + 0xff8]
mov rdi, rsi
mov rdx, qword [rsp + 0x30]
mov byte [rsi], 0x31
mov dword [rbp], edx
xor edx, edx
jmp 0x1400a904a
mov qword [rsp + 0xb88], rdx
jmp 0x1400a87a4
cmp dword [rsp + 0xc28], 0
jne 0x1400ad8fc
cmp dword [rsp + 0xc20], 0
je 0x1400ad8e1
test r12, r12
js 0x1400ad8fc
cmp dword [rsp + 0xc18], 0
jne 0x1400ad92a
mov dword [r10], eax
neg r13
je 0x1400a923b
jmp 0x1400a92c7
mov rdx, qword [rsp + 0xff8]
mov qword [rsp + 0xc40], rbx
mov r8, qword [rsp + 0xc00]
mov rsi, qword [rsp + 0xe10]
mov ebp, dword [rsp + 0xc08]
mov dword [rdx], eax
jmp 0x1400a8741
mov edx, dword [rsp + 0xe08]
mov r9, qword [rsp + 0xe00]
mov qword [rsp + 0xc40], rbx
mov rbx, qword [rsp + 0xe30]
lea ecx, [rdx*8 + 4]
shr r9, cl
mov r8, qword [rsp + 0xc00]
mov rsi, qword [rsp + 0xe10]
mov ebp, dword [rsp + 0xc08]
test r9, 1
je 0x1400ad99d
mov rax, qword [rsp + 0xc40]
mov ebp, 1
xor r8d, r8d
test eax, eax
mov edx, eax
cmovne ebp, r8d
neg edx
movsxd rdx, edx
add rdx, rbp
mov qword [rsp + 0x30], rdx
jmp 0x1400ad89e
mov rdx, qword [rsp + 0xff8]
mov dword [rdx], eax
jmp 0x1400a8741
mov r10, qword [rsp + 0x1a8]
mov r9d, 8
jmp 0x1400ad24a
mov rcx, rsi
jmp 0x1400aa071
lea rdi, [rsp + rdx*8 + 0x1a8]
jmp 0x1400a9fc6
xor edi, edi
jmp 0x1400a9ce0
mov rcx, rax
mov r9, rcx
neg r9
lea rax, [0x140000000]
mov rbx, r9
shr rbx, 3
movsxd r11, ebx
movzx edi, word [rax + r11*2 + 0x14f420]
lea r10, [r11 + 1]
shr edi, 5
cmp rdi, r9
cmovl r11, r10
movzx r13d, word [rax + r11*2 + 0x14f420]
mov r12d, r13d
shr r13d, 5
and r12d, 0x1f
add r13, rcx
movsx rcx, word [rax + r12*2 + 0x14f57a]
movsxd r9, r13d
mov rax, qword [rax + r12*8 + 0x14f3a0]
jmp 0x1400a9bbe
mov rcx, r8
jmp 0x1400aa908
lea rbx, [rsp + rdx*8 + 0x128]
jmp 0x1400aa856
xor esi, esi
jmp 0x1400aa494
mov r10, qword [rsp + 0x1b0]
mov r9d, 0x10
jmp 0x1400ac9cb
mov r13, rdi
jmp 0x1400ad628
lea r10, [rsp + rdx*8 + 0xb88]
jmp 0x1400ad590
xor edi, edi
jmp 0x1400ad453
mov rcx, rsi
jmp 0x1400ad062
lea r12, [rsp + r13*8 + 0x1a8]
jmp 0x1400acfb9
xor r9d, r9d
jmp 0x1400acbf4
mov rbp, r8
jmp 0x1400ac7d9
lea rbx, [rsp + rcx*8 + 0x1a8]
jmp 0x1400ac727
xor r10d, r10d
jmp 0x1400ac344
mov rcx, r8
jmp 0x1400abf19
xor r12d, r12d
jmp 0x1400aba6a
mov rcx, qword [0x14014ed28]
mov edx, 2
mov r10, qword [0x14014ed20]
mov r9d, 0x10
movsx rax, word [0x14014eea2]
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0x1b0], r10
jmp 0x1400ac10e
mov r10, rcx
lea rax, [0x140000000]
neg r10
mov r9, r10
shr r9, 3
movsxd r13, r9d
movzx edx, word [rax + r13*2 + 0x14ec40]
lea r12, [r13 + 1]
shr edx, 5
cmp rdx, r10
cmovl r13, r12
movzx r15d, word [rax + r13*2 + 0x14ec40]
mov r14d, r15d
shr r15d, 5
and r14d, 0x1f
add rcx, r15
movsxd r9, ecx
movsx rcx, word [rax + r14*2 + 0x14ee86]
shl r14, 4
mov qword [rsp + 0x940], rcx
mov rcx, qword [rax + r14 + 0x14eba8]
mov rax, qword [rax + r14 + 0x14eba0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rax
jmp 0x1400ab6dc
mov rdx, r9
jmp 0x1400ab375
lea r13, [rsp + r8*8 + 0x128]
jmp 0x1400ab2b4
mov r13d, dword [rsp + 0xe08]
mov r14, qword [rsp + 0xe00]
mov r11d, dword [rsp + 0xc30]
mov r10d, dword [rsp + 0xc38]
lea ecx, [rdx + r13*8 + 1]
shr r14, cl
and r14, 1
mov r9d, dword [rsp + 0xc10]
mov r12, qword [rsp + 0xe18]
mov r8, qword [rsp + 0xc00]
mov rsi, qword [rsp + 0xe10]
mov ebp, dword [rsp + 0xc08]
jmp 0x1400a8f72
mov r11d, dword [rsp + 0xc30]
mov r10d, dword [rsp + 0xc38]
mov r9d, dword [rsp + 0xc10]
mov r12, qword [rsp + 0xe18]
mov r8, qword [rsp + 0xc00]
mov rsi, qword [rsp + 0xe10]
mov ebp, dword [rsp + 0xc08]
jmp 0x1400a8f72
xor r15d, r15d
mov esi, 1
test r12, r12
cmovge r15d, esi
jmp 0x1400a99cc