Function at 0x1400901e0
Capabilities:
Encrypt data using speck

Disassembly:
jmp 0x1400901e0
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0xff8
xor esi, esi
mov rax, qword [rsp + 0x1060]
mov ebp, r9d
mov r10, qword [rsp + 0x1068]
mov rbx, rcx
mov r11, qword [rsp + 0x1070]
pxor xmm0, xmm0
mov qword [rsp + 0xed0], rax
mov qword [rsp + 0xf30], r10
mov qword [rsp + 0xf28], r11
mov rax, qword [rsp + 0x1078]
mov r10, qword [rsp + 0x1080]
mov r11, qword [rsp + 0x1088]
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x28], edx
movsxd rdx, edx
movsxd r8, r8d
mov qword [rsp + 0xc68], rax
mov eax, 0x80
mov qword [rsp + 0x30], r10
mov qword [rsp + 0xf20], r11
mov qword [rsp + 0xfb0], rdx
mov qword [rsp + 0xc60], r8
mov dword [rsp + 0xe38], esi
mov dword [rsp + 0x800], esi
movups xmmword [rsp + rax + 0xb40], xmm0
movups xmmword [rsp + rax + 0xb30], xmm0
movups xmmword [rsp + rax + 0xb20], xmm0
movups xmmword [rsp + rax + 0xb10], xmm0
sub rax, 0x40
jne 0x14009028e
mov r8d, 1
mov esi, 0x39
mov r12, qword [rsp + 0xfb0]
mov edi, r8d
mov r11, r12
test r12, r12
jle 0x14009050a
movsxd rdx, ebp
shr rdx, 0x16
and rdx, 7
test ebp, 0x80000000
jne 0x1400902f4
test rdx, 1
jne 0x1400902f4
xor edx, edx
mov r9d, ebp
mov r10d, ebp
and r9d, 0x80002000
mov eax, 1
cmp r9d, 0x80002000
mov r9d, 0
mov r14d, ebp
cmove r9d, eax
xor r13d, r13d
and r10d, 0x80001000
cmp r10d, 0x80001000
mov ecx, edx
cmove r13d, eax
xor r15d, r15d
and r14d, 0x80000800
cmp r14d, 0x80000800
cmove r15d, eax
shl r9d, 0xa
shl r13d, 9
shl r15d, 8
or r9d, r13d
shl eax, cl
or r9d, r15d
or r9d, eax
mov rax, rdx
and rax, 2
test rdx, 4
je 0x140090380
mov edx, 0xfa
test rax, rax
mov eax, 0xaaaa
cmovne rdx, rax
jmp 0x1400903a1
test rax, rax
je 0x14009038c
mov edx, 0xfa00
jmp 0x1400903a1
mov eax, 0xa8a8
test rdx, 1
mov edx, 0
cmove rdx, rax
movabs r14, 0x8000000000000000
movabs rcx, 0x7fff000000000000
mov r10, qword [rbx + 8]
and r14, r10
mov rax, r10
xor rax, r14
mov r15, rax
shr r15, 0x20
add r15, 0xffffffffc0010000
mov r13, qword [rbx]
mov qword [rbx + 8], rax
and rcx, r10
jne 0x14009063e
mov rbx, rax
or rbx, r13
jne 0x140090409
bt r10, 0x3f
jae 0x1400903fc
mov rax, qword [rsp + 0x30]
mov dword [rax], 0xffffffff
jmp 0x140090434
mov rax, qword [rsp + 0x30]
mov dword [rax], 1
jmp 0x140090434
bt r10, 0x3f
jae 0x14009041d
mov rbx, qword [rsp + 0x30]
mov dword [rbx], 0xfffffffe
jmp 0x140090428
mov rbx, qword [rsp + 0x30]
mov dword [rbx], 2
test ebp, 0x10000000
je 0x140090531
test ebp, 0x80
je 0x14009044a
mov qword [rsp + 0xc60], 1
jmp 0x14009049c
test ebp, 2
je 0x140090472
mov rax, qword [rsp + 0xc60]
inc rax
mov qword [rsp + 0xc60], rax
cmp rax, qword [rsp + 0xfb0]
jle 0x140090491
mov r12, r11
mov r13, qword [rsp + 0xed0]
lea rdx, [r12 - 1]
mov qword [rsp + 0xc60], rdx
mov rbx, r13
test r12, r12
jne 0x1400904ac
jmp 0x1400904e4
cmp qword [rsp + 0xc60], 0
jle 0x14009050a
dec qword [rsp + 0xc60]
mov rbx, qword [rsp + 0xed0]
mov rdx, qword [rsp + 0xc60]
lea r8, [rdx + 1]
cmp rdx, 0x60
jle 0x1400957db
mov edx, 0x30
mov rcx, rbx
call fcn.140003ad0
mov rsi, qword [rsp + 0xc60]
mov rdx, qword [rsp + 0xed0]
lea r13, [rdx + rsi + 1]
mov rdx, qword [rsp + 0xc68]
test ebp, 0x40000000
mov ebp, 0xb
mov dword [rdx], 1
mov edx, 0
cmovne edx, ebp
jmp 0x14009104f
mov rbx, qword [rsp + 0xed0]
mov rdx, qword [rsp + 0xc68]
mov byte [rbx], 0x30
lea r13, [rbx + 1]
mov dword [rdx], 1
mov edx, 6
jmp 0x14009104f
movabs r15, 0x7fff000000000000
and r15, rax
shr r15, 0x30
mov r10, r15
test r15, r15
je 0x140090576
movabs rcx, 0x1000000000000
mov rbx, r13
or rcx, rax
shl rcx, 0xf
shr rbx, 0x31
or rcx, rbx
mov rbx, r13
mov qword [rsp + 0x38], rcx
shl rbx, 0xf
jmp 0x14009060f
test rax, rax
je 0x1400905d5
mov rbx, rax
xor ecx, ecx
shl rbx, 0x10
mov qword [rsp + 0x38], rbx
test rbx, rbx
jle 0x14009059e
add rbx, rbx
inc rcx
test rbx, rbx
jg 0x14009058e
mov qword [rsp + 0x38], rbx
mov r15, rcx
mov rbx, r13
add ecx, 0x10
movabs r10, 0x7fff000000000000
mov dword [rsp + 0x30], ecx
and r10, rax
neg ecx
neg r15
shr rbx, cl
or qword [rsp + 0x38], rbx
mov rbx, r13
mov ecx, dword [rsp + 0x30]
shr r10, 0x30
shl rbx, cl
jmp 0x14009060f
xor ebx, ebx
mov qword [rsp + 0x38], r13
xor r15d, r15d
test r13, r13
jle 0x1400905f7
mov r10, r13
add r10, r10
inc r15
test r10, r10
jg 0x1400905e7
mov qword [rsp + 0x38], r10
movabs r10, 0x7fff000000000000
neg r15
and r10, rax
add r15, 0xffffffffffffffd0
shr r10, 0x30
mov qword [rsp + 0xb60], rbx
mov rbx, qword [rsp + 0x38]
shr rbx, 0x2f
shl r15, 0x10
movzx ebx, bx
add r15, 0xffffffffc0010000
mov qword [rsp + 0xb58], rbx
or r15, rbx
jmp 0x14009091c
movabs rbx, 0x7fff000000000000
cmp rbx, rcx
jne 0x1400908db
xor rcx, rax
or rcx, r13
jne 0x14009078f
bt r10, 0x3f
jae 0x140090671
mov rax, qword [rsp + 0x30]
mov dword [rax], 0xfffffffc
jmp 0x14009067c
mov rax, qword [rsp + 0x30]
mov dword [rax], 4
test r9d, 0x400
je 0x1400906a0
test r9d, 0x200
lea rax, str.INFINITY
lea rdx, str.infinity
cmovne rdx, rax
jmp 0x1400906a7
lea rdx, str.Infinity
mov r13, qword [rsp + 0xed0]
mov rbx, r13
mov dil, byte [rdx]
test dil, dil
je 0x140090760
mov r9, rbx
xor esi, esi
inc rsi
lea r8, [r9 + rsi*8]
mov byte [r8 - 8], dil
lea r13, [r8 - 7]
mov dil, byte [rdx + rsi*8 - 7]
test dil, dil
je 0x140090760
mov byte [r8 - 7], dil
lea r13, [r8 - 6]
mov dil, byte [rdx + rsi*8 - 6]
test dil, dil
je 0x140090760
mov byte [r8 - 6], dil
lea r13, [r8 - 5]
mov dil, byte [rdx + rsi*8 - 5]
test dil, dil
je 0x140090760
mov byte [r8 - 5], dil
lea r13, [r8 - 4]
mov dil, byte [rdx + rsi*8 - 4]
test dil, dil
je 0x140090760
mov byte [r8 - 4], dil
lea r13, [r8 - 3]
mov dil, byte [rdx + rsi*8 - 3]
test dil, dil
je 0x140090760
mov byte [r8 - 3], dil
lea r13, [r8 - 2]
mov dil, byte [rdx + rsi*8 - 2]
test dil, dil
je 0x140090760
mov byte [r8 - 2], dil
lea r13, [r8 - 1]
mov dil, byte [rdx + rsi*8 - 1]
test dil, dil
je 0x140090760
mov byte [r8 - 1], dil
mov r13, r8
mov dil, byte [rdx + rsi*8]
test dil, dil
jne 0x1400906c3
mov rsi, qword [rsp + 0xc68]
and ebp, 0x40000000
mov rdx, r13
sub rdx, qword [rsp + 0xed0]
shr ebp, 0x1d
mov dword [rsi], edx
mov ecx, ebp
mov edx, 4
shl edx, cl
add edx, 0xfffffffc
jmp 0x14009104f
test r9d, 0x400
je 0x1400907e6
bt rax, 0x2f
jb 0x1400907b2
shr r14, 0x3e
mov edx, 0x10
mov ecx, r14d
shr edx, cl
add edx, 0xfffffff6
jmp 0x1400907c4
mov eax, 0xfffffffb
mov edx, 5
bt r10, 0x3f
cmovb edx, eax
mov rax, qword [rsp + 0x30]
test r9d, 0x200
lea rbx, [0x14014e4d4]
mov dword [rax], edx
lea rdx, [0x14014e4d8]
cmovne rdx, rbx
jmp 0x1400907f8
mov rax, qword [rsp + 0x30]
lea rdx, [0x14014e4dc]
mov dword [rax], 0
mov r13, qword [rsp + 0xed0]
mov rbx, r13
mov dil, byte [rdx]
test dil, dil
je 0x1400908b1
mov r9, rbx
xor esi, esi
inc rsi
lea r8, [r9 + rsi*8]
mov byte [r8 - 8], dil
lea r13, [r8 - 7]
mov dil, byte [rdx + rsi*8 - 7]
test dil, dil
je 0x1400908b1
mov byte [r8 - 7], dil
lea r13, [r8 - 6]
mov dil, byte [rdx + rsi*8 - 6]
test dil, dil
je 0x1400908b1
mov byte [r8 - 6], dil
lea r13, [r8 - 5]
mov dil, byte [rdx + rsi*8 - 5]
test dil, dil
je 0x1400908b1
mov byte [r8 - 5], dil
lea r13, [r8 - 4]
mov dil, byte [rdx + rsi*8 - 4]
test dil, dil
je 0x1400908b1
mov byte [r8 - 4], dil
lea r13, [r8 - 3]
mov dil, byte [rdx + rsi*8 - 3]
test dil, dil
je 0x1400908b1
mov byte [r8 - 3], dil
lea r13, [r8 - 2]
mov dil, byte [rdx + rsi*8 - 2]
test dil, dil
je 0x1400908b1
mov byte [r8 - 2], dil
lea r13, [r8 - 1]
mov dil, byte [rdx + rsi*8 - 1]
test dil, dil
je 0x1400908b1
mov byte [r8 - 1], dil
mov r13, r8
mov dil, byte [rdx + rsi*8]
test dil, dil
jne 0x140090814
mov rdi, qword [rsp + 0xc68]
mov rsi, r13
xor edx, edx
test ebp, 0x40000000
mov ebp, 0xa
cmovne edx, ebp
sub rsi, qword [rsp + 0xed0]
mov dword [rdi], esi
jmp 0x14009104f
bt r10, 0x3f
jae 0x140090900
mov rbx, qword [rsp + 0x30]
movabs r10, 0x7fff000000000000
and r10, rax
shr r10, 0x30
mov dword [rbx], 0xfffffffd
jmp 0x14009091c
mov rbx, qword [rsp + 0x30]
movabs r10, 0x7fff000000000000
and r10, rax
shr r10, 0x30
mov dword [rbx], 3
shr r14, 0x3f
mov dword [rsp + 0xe50], r14d
test r9d, 0x100
je 0x1400910e7
and r9d, 0x200
mov edi, 4
mov r8d, r9d
xor r8d, 0x200
shr r8d, 4
lea esi, [r8 + 0x46]
add r8d, 8
test r10, r10
je 0x14009097d
movabs r14, 0x1000000000000
or r14, rax
mov rax, r13
shl r14, 0xf
shr rax, 0x31
shl r13, 0xf
or r14, rax
jmp 0x1400909da
test rax, rax
je 0x1400909b7
shl rax, 0x10
xor ecx, ecx
test rax, rax
jle 0x140090998
add rax, rax
inc rcx
test rax, rax
jg 0x14009098d
mov ebx, ecx
mov r10, rcx
add ebx, 0x10
mov r14, r13
mov ecx, ebx
neg r10
neg ecx
shr r14, cl
mov ecx, ebx
or r14, rax
shl r13, cl
jmp 0x1400909da
mov r14, r13
xor r10d, r10d
test r13, r13
mov r13d, 0
jle 0x1400909d3
add r14, r14
inc r10
test r14, r14
jg 0x1400909c8
neg r10
add r10, 0xffffffffffffffd0
xor ebx, ebx
mov r15d, 1
test r13, r13
mov eax, ebp
cmovne ebx, r15d
lea rcx, [r10 - 0x3ffe]
mov qword [rsp + 0xb60], r13
mov qword [rsp + 0xb58], r14
lea r15, [rbx + 1]
and eax, 2
mov dword [rsp + 0xcb8], eax
jne 0x140090a23
add r10, 0xffffffffffffc005
mov eax, 3
mov r12, r11
jmp 0x140090a98
cmp qword [rsp + 0xc60], 0
jl 0x14009050a
mov r12, rcx
xor r13d, r13d
and r12, 3
mov rax, r12
neg rax
add rax, 4
test r12, r12
cmove rax, r13
test rcx, rcx
jle 0x14009591e
mov r13, qword [rsp + 0xfb0]
lea r12, [r10 - 0x3ffb]
sar r12, 1
shr r12, 0x3e
lea r12, [r12 + r10 - 0x3ffb]
sar r12, 2
add r12, qword [rsp + 0xc60]
cmp r12, r13
cmovge r12, r13
lea r10, [rax + r10 - 0x3ffe]
test rax, rax
je 0x140090c4f
mov rcx, rax
lea r13, [rsp + rbx*8 + 0xb58]
mov r14, qword [r13]
neg rcx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x20], ecx
shl r14, cl
mov ecx, eax
mov qword [rsp + 0x38], r14
mov qword [r13 + 8], r14
mov r14, qword [rsp + 0x30]
shr r14, cl
xor ecx, ecx
mov qword [r13], r14
mov qword [rsp + 0x28], r13
xor r13d, r13d
mov r14, qword [rsp + 0x38]
cmp r15, 1
je 0x140090c3c
mov dword [rsp + 0xc20], r9d
lea r14, [rbx + 0x3f]
mov qword [rsp + 0xe30], r12
shr r14, 6
mov qword [rsp + 0x30], r15
mov qword [rsp + 0xe08], r10
mov r10, rax
mov dword [rsp + 0xc28], r8d
mov rax, rcx
mov dword [rsp + 0xc30], edi
xor r8d, r8d
mov dword [rsp + 0xc18], esi
mov qword [rsp + 0xe28], rdx
mov qword [rsp + 0xc08], r11
mov dword [rsp + 0xc10], ebp
mov r9d, dword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov r11, rax
mov rsi, r8
shl r11, 6
mov rbp, rsi
lea rdx, [r11 + 0x40]
neg r11
cmp rbx, rdx
cmovb rdx, rbx
add r11, rdx
je 0x140090bd6
lea rdx, [r12 + r13]
movsxd r15, esi
inc rsi
mov rdi, qword [rbp + rdx - 8]
add rbp, 0xfffffffffffffff8
mov qword [rsp + r15*8 + 0x480], rdi
cmp rsi, r11
jb 0x140090b6f
mov rbp, r8
lea rdi, [r12 + r13]
mov rdx, qword [rdi]
movsxd r15, ebp
lea rsi, [rbp*8]
neg rsi
mov ecx, r9d
add rsi, rdi
inc rbp
mov r15, qword [rsp + r15*8 + 0x480]
shl r15, cl
mov ecx, r10d
or rdx, r15
mov qword [rsi], rdx
mov rdx, qword [rsi - 8]
shr rdx, cl
cmp rbp, r11
jb 0x140090b95
shl rbp, 3
sub rdi, rbp
mov qword [rdi], rdx
inc rax
add r13, 0xfffffffffffffe00
cmp rax, r14
jb 0x140090b4b
mov rax, qword [rsp + 0x28]
mov r9d, dword [rsp + 0xc20]
mov r15, qword [rsp + 0x30]
mov r10, qword [rsp + 0xe08]
mov r8d, dword [rsp + 0xc28]
mov edi, dword [rsp + 0xc30]
mov esi, dword [rsp + 0xc18]
mov r12, qword [rsp + 0xe30]
mov rdx, qword [rsp + 0xe28]
mov r11, qword [rsp + 0xc08]
mov ebp, dword [rsp + 0xc10]
mov r14, qword [rax + 8]
add rbx, 2
test r14, r14
mov r14, qword [rsp + 0xb58]
cmovne r15, rbx
mov rax, qword [rsp + 0xed0]
mov ecx, 1
mov qword [rsp + 0x28], 0x10
mov dword [rsp + 0x48], 0
mov byte [rax], 0x30
lea r13, [rax + 1]
mov rbx, r13
test r12, r12
jle 0x140090e49
mov rax, r12
shr rax, 0x3f
add rax, r12
sar rax, 1
mov qword [rsp + 0x20], 0
test rax, rax
jbe 0x140095907
mov dword [rsp + 0xc18], esi
mov qword [rsp + 0xe30], r12
mov qword [rsp + 0xc08], r11
mov qword [rsp + 0xe18], rbx
mov qword [rsp + 0xe28], rdx
mov dword [rsp + 0xc10], ebp
mov r12, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov rsi, qword [rsp + 0xed0]
mov rdx, r14
dec r11
shr rdx, 0x3c
mov ebp, edx
shl r14, 4
and ebp, 1
cmp edx, 0xa
jge 0x140090cfc
add edx, 0x30
jmp 0x140090d08
lea ebx, [rdx + 0x37]
add edx, 0x57
test r9d, r9d
cmovne edx, ebx
mov byte [rsi + r12*2 + 1], dl
lea rdx, [rsi + r12*2]
lea r13, [rdx + 2]
test r11, r11
jne 0x140090d34
cmp rcx, r15
jae 0x1400958d0
inc rcx
mov r11d, 0x10
mov r14, qword [rsp + rcx*8 + 0xb50]
mov rbx, r14
dec r11
shr rbx, 0x3c
mov ebp, ebx
shl r14, 4
and ebp, 1
cmp ebx, 0xa
jge 0x140090d51
add ebx, 0x30
jmp 0x140090d5f
lea r13d, [rbx + 0x37]
add ebx, 0x57
test r9d, r9d
cmovne ebx, r13d
mov byte [rsi + r12*2 + 2], bl
inc r12
lea r13, [rdx + 3]
cmp r12, rax
jb 0x1400958ac
mov qword [rsp + 0x20], r12
mov rax, r12
add rax, rax
mov r12, qword [rsp + 0xe30]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x48], ebp
mov esi, dword [rsp + 0xc18]
mov rbx, qword [rsp + 0xe18]
mov rdx, qword [rsp + 0xe28]
mov r11, qword [rsp + 0xc08]
mov ebp, dword [rsp + 0xc10]
mov qword [rsp + 0x20], rax
cmp rax, r12
jae 0x140090e2c
cmp qword [rsp + 0x28], 0
jne 0x140090de1
cmp rcx, r15
jae 0x140090e39
inc rcx
mov qword [rsp + 0x28], 0x10
mov r14, qword [rsp + rcx*8 + 0xb50]
mov rax, r14
shr rax, 0x3c
mov r13d, eax
dec qword [rsp + 0x28]
and r13d, 1
shl r14, 4
mov dword [rsp + 0x48], r13d
cmp eax, 0xa
jge 0x140090e07
add eax, 0x30
jmp 0x140090e15
lea r13d, [rax + 0x37]
add eax, 0x57
test r9d, r9d
cmovne eax, r13d
mov r13, qword [rsp + 0x20]
mov r9, qword [rsp + 0xed0]
mov byte [r13 + r9 + 1], al
lea r13, [r9 + r13 + 2]
cmp qword [rsp + 0x28], 0
jne 0x140090e49
cmp rcx, r15
jb 0x140090e3e
xor r14d, r14d
jmp 0x140090e49
inc rcx
mov r14, qword [rsp + rcx*8 + 0xb50]
mov qword [rsp + 0x40], 0
lea r9, [rcx + 1]
cmp r9, r15
ja 0x140090f21
sub r15, r9
xor r9d, r9d
inc r15
mov eax, 1
mov qword [rsp + 0x30], r15
shr r15, 1
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x20], r9
test r15, r15
mov r15, qword [rsp + 0x30]
jbe 0x140090f02
mov qword [rsp + 0xe28], rdx
lea r9, [rsp + rcx*8 + 0xb58]
mov qword [rsp + 0xc08], r11
mov dword [rsp + 0xc10], ebp
mov rdx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov r11, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
or rax, qword [rdx + r9]
inc r11
or rax, qword [rdx + r9 + 8]
add rdx, 0x10
cmp r11, rbp
jb 0x140090ec1
mov qword [rsp + 0x38], r11
mov r9, r11
mov rdx, qword [rsp + 0xe28]
mov r11, qword [rsp + 0xc08]
mov ebp, dword [rsp + 0xc10]
mov qword [rsp + 0x40], rax
lea rax, [r9*2 + 1]
lea r9, [rax - 1]
cmp r9, r15
jae 0x140090f21
mov r15, qword [rsp + 0x40]
lea r9, [rcx + rax]
or r15, qword [rsp + r9*8 + 0xb50]
mov qword [rsp + 0x40], r15
mov r9, qword [rsp + 0xc68]
mov r15d, dword [rsp + 0x48]
add r15d, r15d
mov dword [r9], r10d
mov r9, r14
mov r10d, dword [rsp + 0xe50]
add r14, r14
mov r14d, 0
lea r10d, [r15 + r10*8]
mov r15d, 1
cmovne r14d, r15d
shr r9, 0x3f
add r10d, r9d
mov r9, qword [rsp + 0x40]
or r9, r14
mov r9d, 0
cmovne r9d, r15d
lea ecx, [r10 + r9*4]
shr rdx, cl
and rdx, 1
test edx, edx
mov rdx, r13
je 0x140090fd7
movsx r9d, byte [r13 - 1]
cmp r9d, esi
jne 0x140090fb8
xor r10d, r10d
inc r10
lea r11, [r10 + r10]
neg r11
lea r9, [rdx + r11]
lea r13, [rdx + r11 + 1]
cmp sil, byte [r9]
jne 0x14009585b
mov r13, r9
cmp sil, byte [r9 - 1]
je 0x140090f8e
movsx r9d, byte [r9 - 1]
mov edx, 1
cmp r9d, 0x39
cmove edx, r8d
add r9d, edx
mov byte [r13 - 1], r9b
cmp r13, rbx
je 0x140095829
jmp 0x140090fe0
test r12, r12
jle 0x140090434
test ebp, 0x80
mov rbp, r13
je 0x140091018
cmp byte [r13 - 1], 0x30
jne 0x14009104d
xor edx, edx
inc rdx
lea rcx, [rdx + rdx]
neg rcx
lea rsi, [rbp + rcx]
cmp byte [rsi], 0x30
lea r13, [rbp + rcx + 1]
jne 0x14009104d
mov r13, rsi
cmp byte [rsi - 1], 0x30
je 0x140090ff4
jmp 0x14009104d
sub r12, r13
add r12, rbx
lea edi, [r12 - 1]
movsxd rdi, edi
test rdi, rdi
jl 0x14009104d
cmp rdi, 0x60
jle 0x140095865
inc rdi
mov rcx, r13
mov edx, 0x30
mov r8, rdi
call fcn.140003ad0
lea r13, [rbp + rdi]
xor edx, edx
mov byte [r13], 0
cmp qword [rsp + 0xf30], 0
je 0x140091074
mov rsi, qword [rsp + 0xf30]
mov rbp, rbx
sub rbp, qword [rsp + 0xed0]
mov dword [rsi], ebp
cmp qword [rsp + 0xf28], 0
je 0x140091097
mov rsi, qword [rsp + 0xf28]
mov rbp, qword [rsp + 0xed0]
neg rbp
add rbp, r13
mov dword [rsi], ebp
mov rbp, rbx
test rbx, rbx
je 0x1400910b6
cmp rbp, r13
jae 0x1400910b6
mov sil, byte [rbp]
inc rbp
cmp sil, 0x30
jne 0x1400910bb
test rbp, rbp
jne 0x14009109f
mov edx, 0xb
cmp qword [rsp + 0xf20], 0
je 0x1400910d0
mov rcx, qword [rsp + 0xf20]
mov dword [rcx], edx
mov rax, rbx
add rsp, 0xff8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r14d, 0x4d104d43
mov ebx, 0x4d104d42
test r15, r15
mov ecx, r9d
cmovl rbx, r14
mov r14d, ebp
imul r15, rbx
and r14d, 2
movabs rbx, 0x1000000000000
mov dword [rsp + 0xcb8], r14d
mov r14, rax
shl r14, 0x10
or rbx, rax
mov qword [rsp + 0xc48], r14
mov r14, r13
shl rbx, 0xf
and ecx, 0x41
shr r14, 0x31
or rbx, r14
mov r14, r13
mov qword [rsp + 0xc40], rbx
mov rbx, qword [rsp + 0xed0]
sar r15, 0x30
shl r14, 0xf
inc r15
mov dword [rsp + 0xc38], ecx
lea rbx, [rbx + 1]
mov qword [rsp + 0xe40], rbx
mov ebx, r9d
and r9d, 0x14
and ebx, 2
mov dword [rsp + 0xc20], r9d
mov dword [rsp + 0xc28], r8d
mov dword [rsp + 0xc30], edi
mov dword [rsp + 0xc18], esi
mov qword [rsp + 0xe28], rdx
mov dword [rsp + 0xc10], ebp
jmp 0x1400911eb
mov r15, qword [rsp + 0xdf0]
neg r15
mov ebx, dword [rsp + 0xbd0]
inc r15
mov r14, qword [rsp + 0xbe8]
mov r10, qword [rsp + 0xe08]
mov r13, qword [rsp + 0xbd8]
mov rax, qword [rsp + 0xbf0]
mov r12, qword [rsp + 0xe30]
mov r11, qword [rsp + 0xc08]
mov esi, r15d
cmp dword [rsp + 0xcb8], 0
je 0x140091280
cmp qword [rsp + 0xc60], 0
jge 0x14009122b
mov rdx, qword [rsp + 0xc60]
mov qword [rsp + 0xc60], 0
neg edx
mov dword [rsp + 0x800], edx
mov dword [rsp + 0xe38], edx
mov rdx, qword [rsp + 0xc60]
lea r12, [r15 + rdx]
cmp r12, qword [rsp + 0xfb0]
jle 0x140091277
sub r12, qword [rsp + 0xfb0]
mov rdx, qword [rsp + 0xc68]
neg r12d
mov ecx, dword [rsp + 0xe38]
add r12d, dword [rsp + 0x800]
test ecx, ecx
mov dword [rdx], esi
cmovne ecx, r12d
mov r12, r11
mov dword [rsp + 0xe38], ecx
jmp 0x14009128a
test r12, r12
jle 0x1400959c9
mov rdx, qword [rsp + 0xc68]
mov dword [rdx], esi
neg r15
jne 0x140091398
mov rsi, r10
xor edi, edi
mov ebp, 0x71
mov r8, rsi
test r10, r10
je 0x1400912b2
mov rdx, qword [rsp + 0xc40]
mov r9, r14
jmp 0x14009131a
test rax, rax
je 0x1400912fb
mov rdx, qword [rsp + 0xc48]
xor ecx, ecx
test rdx, rdx
jle 0x1400912d1
add rdx, rdx
inc rcx
test rdx, rdx
jg 0x1400912c6
mov rsi, rcx
mov r9, r13
add ecx, 0x10
neg rsi
mov dword [rsp + 0x358], ecx
neg ecx
shr r9, cl
or rdx, r9
mov r9, r13
mov ecx, dword [rsp + 0x358]
shl r9, cl
jmp 0x14009131a
xor r9d, r9d
mov rdx, r13
xor esi, esi
test r13, r13
jle 0x140091313
add rdx, rdx
inc rsi
test rdx, rdx
jg 0x140091308
neg rsi
add rsi, 0xffffffffffffffd0
mov ecx, 1
test r9, r9
mov qword [rsp + 0xb58], rdx
mov edx, 0
cmovne edx, ecx
add rsi, 0xffffffffffffc002
mov qword [rsp + 0xb60], r9
inc rdx
mov qword [rsp + 0xe10], r8
mov qword [rsp + 0xe48], rdi
mov qword [rsp + 0xdf0], r15
mov dword [rsp + 0xbd0], ebx
mov qword [rsp + 0xbe8], r14
mov qword [rsp + 0xe08], r10
mov qword [rsp + 0xbd8], r13
mov qword [rsp + 0xbf0], rax
mov qword [rsp + 0xe30], r12
mov qword [rsp + 0xc08], r11
jmp 0x140095168
mov edx, 0x80
movups xmmword [rsp + rdx + 0x190], xmm0
movups xmmword [rsp + rdx + 0x180], xmm0
movups xmmword [rsp + rdx + 0x170], xmm0
movups xmmword [rsp + rdx + 0x160], xmm0
sub rdx, 0x40
jne 0x14009139d
cmp r15, 0xfffffffffffffeaa
jl 0x1400913d5
cmp r15, 0x159
jle 0x1400913dc
mov ebp, 0x80
jmp 0x1400913ee
mov ebp, 0x40
mov edx, 0x80
cmp r12, 0x11
cmovg rbp, rdx
xor edi, edi
mov edx, 1
cmp rbp, 0x80
mov r8, r10
cmovne edi, edx
mov qword [rsp + 0xe10], r8
mov qword [rsp + 0xe48], rdi
mov qword [rsp + 0xdf0], r15
mov dword [rsp + 0xbd0], ebx
mov qword [rsp + 0xbe8], r14
mov qword [rsp + 0xe08], r10
mov qword [rsp + 0xbd8], r13
mov qword [rsp + 0xbf0], rax
mov qword [rsp + 0xe30], r12
mov qword [rsp + 0xc08], r11
mov r8, qword [rsp + 0xe10]
cmp qword [rsp + 0xe08], 0
je 0x140091476
mov rax, qword [rsp + 0xc40]
mov rdx, qword [rsp + 0xbe8]
jmp 0x1400914e6
cmp qword [rsp + 0xbf0], 0
je 0x1400914c2
mov rax, qword [rsp + 0xc48]
xor ecx, ecx
test rax, rax
jle 0x14009149b
add rax, rax
inc rcx
test rax, rax
jg 0x140091490
mov esi, ecx
mov r8, rcx
add esi, 0x10
neg r8
mov ecx, esi
mov rdx, qword [rsp + 0xbd8]
neg ecx
mov rbx, rdx
shr rbx, cl
mov ecx, esi
shl rdx, cl
or rax, rbx
jmp 0x1400914e6
xor edx, edx
mov rax, qword [rsp + 0xbd8]
xor r8d, r8d
test rax, rax
jle 0x1400914df
add rax, rax
inc r8
test rax, rax
jg 0x1400914d4
neg r8
add r8, 0xffffffffffffffd0
test rdx, rdx
mov qword [rsp + 0xb58], rax
mov eax, 1
mov qword [rsp + 0xb60], rdx
mov edx, 0
cmovne edx, eax
mov eax, 0x80
mov dword [rsp + 0xe00], edx
mov qword [rsp + 0xfd0], rdx
lea rcx, [rdx + 1]
mov qword [rsp + 0xdf8], rcx
movups xmmword [rsp + rax + 0x10], xmm0
movups xmmword [rsp + rax], xmm0
movups xmmword [rsp + rax - 0x10], xmm0
movups xmmword [rsp + rax - 0x20], xmm0
sub rax, 0x40
jne 0x140091526
mov rax, qword [rsp + 0xdf0]
cmp rbp, 0x40
jne 0x140091bef
mov edi, 1
lea rdx, [rax + 0x2f]
cmp rdx, 0x5e
ja 0x1400915c5
mov rdx, rax
lea rax, [0x140000000]
mov rcx, qword [rax + rdx*8 + 0x14f158]
movsx rsi, word [rax + rdx*2 + 0x14f33e]
mov qword [rsp + 0x1a8], rcx
test rcx, rcx
jne 0x140095a5f
xor edx, edx
xor eax, eax
inc rdx
add rax, 0xfffffffffffffff0
lea rcx, [rdx + rdx]
neg rcx
cmp qword [rsp + rax + 0x1b0], 0
lea rdi, [rcx + 2]
jne 0x140094a75
cmp qword [rsp + rax + 0x1a8], 0
lea rdi, [rcx + 1]
je 0x140091590
jmp 0x140094a75
cmp qword [rsp + 0xdf0], 0
js 0x140095a88
mov r10, rax
mov rax, r10
shr rax, 3
lea r11, [0x140000000]
movsxd rbx, eax
movzx edx, word [r11 + rbx*2 + 0x14f522]
lea rcx, [rbx + 1]
shr edx, 5
cmp rdx, r10
cmovle rbx, rcx
movzx r9d, word [r11 + rbx*2 + 0x14f520]
mov esi, r9d
shr r9d, 5
and esi, 0x1f
movsx rax, word [r11 + rsi*2 + 0x14f598]
neg r9
add r9, r10
movsxd r9, r9d
mov rcx, qword [r11 + rsi*8 + 0x14f4a0]
lea rbx, [0x140000000]
mov qword [rsp + 0x28], rcx
mov rsi, qword [rbx + r9*8 + 0x14f158]
movsx rdx, word [rbx + r9*2 + 0x14f33e]
mov qword [rsp + 0x1a8], rsi
test rsi, rsi
jne 0x140091686
xor esi, esi
xor ebx, ebx
inc rsi
add rbx, 0xfffffffffffffff0
lea r9, [rsi + rsi]
neg r9
cmp qword [rsp + rbx + 0x1b0], 0
lea rdi, [r9 + 2]
jne 0x140091686
cmp qword [rsp + rbx + 0x1a8], 0
lea rdi, [r9 + 1]
je 0x14009165a
mov r10, qword [rsp + rdi*8 + 0x1a0]
mov r13, rcx
mov ebx, r10d
mov r9, r10
shr r13, 0x20
mov r12, rbx
mov r14d, ecx
mov rcx, r13
imul r12, r13
imul rbx, r14
shr r9, 0x20
mov r11, r12
imul rcx, r9
imul r9, r14
shl r12, 0x20
xor r15d, r15d
shr r11, 0x20
add rbx, r12
movsxd r10, edi
add rcx, r11
cmp rbx, r12
mov r11, r9
mov esi, edi
setb r15b
shl r9, 0x20
add rbx, r9
cmp rbx, r9
mov qword [rsp + r10*8 + 0xa28], rbx
mov ebx, 0
setb bl
add rcx, r15
shr r11, 0x20
add rcx, r11
add rcx, rbx
mov qword [rsp + r10*8 + 0xaa0], 0
dec esi
mov qword [rsp + r10*8 + 0xa20], rcx
js 0x140091769
cmp r10, 2
jl 0x140095a81
mov ebx, r10d
xor ecx, ecx
and ebx, 0xfffffffe
movsxd rbx, ebx
movdqu xmmword [rsp + rcx*8 + 0xaa0], xmm0
movdqu xmmword [rsp + rcx*8 + 0xa20], xmm0
add rcx, 2
cmp rcx, rbx
jb 0x14009172f
cmp rbx, r10
jae 0x140091769
xor ecx, ecx
mov qword [rsp + rbx*8 + 0xaa0], rcx
mov qword [rsp + rbx*8 + 0xa20], rcx
inc rbx
cmp rbx, r10
jb 0x140091751
xor r9d, r9d
lea rsi, [rdi - 1]
movsxd rsi, esi
xor ebx, ebx
test rsi, rsi
je 0x140091887
mov qword [rsp + 0x7c8], rdx
lea r12, [rsp + rsi*8 + 0xa20]
mov r11, qword [r12 + 8]
lea rcx, [rsp + rsi*8 + 0x1a0]
mov qword [rsp + 0x7d0], rax
lea r10, [rsp + rsi*8 + 0xaa0]
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov rax, qword [rcx + rbx*8]
mov rbp, r13
mov r8d, eax
mov r15, rax
imul rbp, r8
imul r8, r14
shr r15, 0x20
mov rax, r14
imul rax, r15
imul r15, r13
mov rdx, rbp
inc r9
shr rbp, 0x20
shl rdx, 0x20
add r15, rbp
mov rbp, rax
add r8, rdx
shl rbp, 0x20
cmp r8, rdx
mov edx, 0
setb dl
add r8, rbp
cmp r8, rbp
mov ebp, 0
setb bpl
add r11, r8
cmp r11, r8
mov qword [r12 + rbx*8 + 8], r11
mov r11d, 0
setb r11b
xor r8d, r8d
shr rax, 0x20
add rdx, rax
add r15, rdx
add rbp, r11
add r15, rbp
mov r11, qword [r12 + rbx*8]
add r11, r15
cmp r11, r15
setb r8b
add qword [r10 + rbx*8 - 8], r8
dec rbx
cmp r9, rsi
jb 0x1400917bb
shl r9, 3
neg r9
mov rdx, qword [rsp + 0x7c8]
mov rax, qword [rsp + 0x7d0]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
mov qword [r9 + r12 + 8], r11
mov r15d, edi
lea rbx, [rdi + 1]
mov r9, qword [rsp + rbx*8 + 0xa20]
lea rcx, [rsp + rdi*8 + 0x1a8]
mov qword [rsp + 0xc58], rbx
lea rsi, [rax + rdx]
mov qword [rcx], r9
xor r13d, r13d
test r15d, r15d
je 0x1400919ae
mov r10d, r15d
mov r9d, 1
shr r10d, 0x1f
xor r14d, r14d
add r10d, r15d
xor r12d, r12d
sar r10d, 1
test r10d, r10d
jbe 0x14009197c
movsxd r9, edi
movsxd r10, r10d
mov qword [rsp + 0x810], r10
mov qword [rsp + 0xe20], rbp
mov qword [rsp + 0xcc0], r8
lea r10, [rsp + r9*8 + 0x1a0]
mov rbp, qword [rsp + 0x810]
lea r11, [rsp + r9*8 + 0xa20]
lea r9, [rsp + r9*8 + 0xaa0]
nop dword [rax]
add r13, qword [r12 + r9]
inc r14
mov r8, qword [r12 + r11]
add r8, r13
cmp r8, r13
mov r13d, 0
mov qword [r12 + r10], r8
setb r13b
add r13, qword [r12 + r9 - 8]
mov r8, qword [r12 + r11 - 8]
add r8, r13
cmp r8, r13
mov r13d, 0
mov qword [r12 + r10 - 8], r8
setb r13b
add r12, 0xfffffffffffffff0
cmp r14, rbp
jb 0x140091920
mov r8, qword [rsp + 0xcc0]
lea r9d, [r14 + r14 + 1]
mov rbp, qword [rsp + 0xe20]
lea r10d, [r9 - 1]
cmp r10d, r15d
jae 0x1400919ab
movsxd r9, r9d
movsxd r10, edi
sub r10, r9
add r13, qword [rsp + r10*8 + 0xaa8]
add r13, qword [rsp + r10*8 + 0xa28]
mov qword [rsp + r10*8 + 0x1a8], r13
mov r9, qword [rcx]
jmp 0x1400919ae
mov r9, qword [rcx]
test r9, r9
jne 0x1400919fe
xor r10d, r10d
lea r9, [rsp + rdi*8 + 0x1a8]
mov r11, qword [rsp + 0xc58]
xor ecx, ecx
inc r10
add rcx, 0xfffffffffffffff0
lea rdi, [r10 + r10]
neg rdi
add rdi, r11
cmp qword [rcx + r9 + 8], 0
lea rbx, [rdi + 1]
jne 0x140095a74
mov rbx, rdi
cmp qword [rcx + r9], 0
je 0x1400919c8
lea rcx, [rsp + rdi*8 + 0x1a0]
dec rdi
mov r9, qword [rsp + 0x1a8]
test r9, r9
jle 0x140091b41
add r9, r9
lea rsi, [rax + rdx - 1]
mov qword [rsp + 0x1a8], r9
xor r12d, r12d
cmp rbx, 2
jb 0x140091b41
mov qword [rsp + 0xe20], rbp
lea r10, [rbx + 0x3e]
shr r10, 6
lea r11, [rbx - 1]
xor edx, edx
movsxd rbp, r12d
mov r9, rbp
shl r9, 6
lea rax, [r9 + 0x40]
neg r9
cmp r11, rax
cmovl rax, r11
add r9, rax
cmp r9, 2
jl 0x140095a6c
mov r14, rbp
mov rax, r9
shl r14, 9
and rax, 0xfffffffffffffffe
xor r13d, r13d
lea r15, [rsp + r14 + 0x1a0]
mov r14, rdx
movdqu xmm1, xmmword [r15 + r14*8 + 0x10]
add r13d, 2
movdqu xmmword [rsp + r14*8 + 0x480], xmm1
add r14, 2
cmp r13, rax
jb 0x140091a83
movsxd r13, eax
mov r14d, eax
mov eax, eax
cmp rax, r9
jae 0x140091ad5
mov rax, rbp
shl rax, 9
lea rax, [rsp + rax + 0x1a0]
mov r15, qword [rax + r13*8 + 0x10]
inc r14d
mov qword [rsp + r13*8 + 0x480], r15
inc r13
cmp r14, r9
jb 0x140091abd
xor r13d, r13d
mov r15, rdx
test r9, r9
je 0x140091b2d
shl rbp, 9
mov r14, qword [rsp + rbp + 0x1a8]
lea rax, [rsp + rbp + 0x1a0]
mov rdx, qword [rsp + r15*8 + 0x480]
inc r13d
shr rdx, 0x3f
or r14, rdx
mov qword [rax + r15*8 + 8], r14
mov r14, qword [rax + r15*8 + 0x10]
inc r15
add r14, r14
cmp r13, r9
jb 0x140091af4
movsxd r13, r13d
xor edx, edx
lea rax, [rsp + r13*8 + 0x1a0]
mov qword [rax + rbp + 8], r14
inc r12d
cmp r12, r10
jb 0x140091a42
mov rbp, qword [rsp + 0xe20]
cmp qword [rcx], 0
cmovne rdi, rbx
cmp rdi, 1
jb 0x140094a75
mov rax, qword [rsp + 0x1b0]
mov edi, 1
shr rax, 0x3f
mov rdx, qword [rsp + 0x1a8]
add rdx, rax
cmp rdx, rax
jae 0x140091b9a
movabs r11, 0x8000000000000000
mov qword [rsp + 0x1a0], 0
inc rsi
mov qword [rsp + 0x1a8], r11
jmp 0x140094a7d
mov qword [rsp + 0x1a8], rdx
test rdx, rdx
jne 0x140095a5f
xor ecx, ecx
xor edx, edx
inc rcx
add rdx, 0xfffffffffffffff0
lea rdi, [rcx + rcx]
neg rdi
lea rax, [rdi + 1]
add rdi, 2
cmp qword [rsp + rdx + 0x1b0], 0
jne 0x140094a75
mov rdi, rax
cmp qword [rsp + rdx + 0x1a8], 0
je 0x140091baf
mov r11, qword [rsp + rax*8 + 0x1a0]
jmp 0x140094a7d
mov edx, 0x80
movups xmmword [rsp + rdx + 0x110], xmm0
movups xmmword [rsp + rdx + 0x100], xmm0
movups xmmword [rsp + rdx + 0xf0], xmm0
movups xmmword [rsp + rdx + 0xe0], xmm0
sub rdx, 0x40
jne 0x140091bf4
xor ecx, ecx
mov edx, 2
cmp qword [rsp + 0xdf0], 0xfffffffffffffdea
jge 0x140092584
mov r13, rbp
xor ebx, ebx
shr r13, 6
mov esi, 0x1000
xor edi, edi
mov r9d, 6
cmp qword [rsp + 0xdf0], 0xfffffffffffff000
lea r12, [r13 - 1]
lea r11, [rsp + r13*8 + 0x118]
lea r10, [rsp + r13*8 + 0x120]
jle 0x140091cb8
mov qword [rsp + 0xc80], rbx
mov qword [rsp + 0xc70], rdx
mov qword [rsp + 0xc88], r10
mov qword [rsp + 0xc90], r11
mov qword [rsp + 0xc98], r12
mov qword [rsp + 0xca0], r13
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov rbx, qword [rsp + 0xc78]
jmp 0x140092546
mov qword [rsp + 0xc80], rbx
mov qword [rsp + 0xc70], rdx
mov qword [rsp + 0xc88], r10
mov qword [rsp + 0xc90], r11
mov qword [rsp + 0xc98], r12
mov qword [rsp + 0xca0], r13
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov rbx, qword [rsp + 0xc78]
movsxd rsi, esi
add rax, rsi
test rcx, rcx
je 0x140092511
lea r12, [0x140000000]
xor r15d, r15d
movsx rbp, word [r12 + r9 + 0x14ee7e]
mov qword [rsp + 0x818], rbp
mov r8, qword [r12 + rdi + 0x14eb90]
mov r11, r8
mov rbp, qword [rsp + rcx*8 + 0x120]
mov r10d, ebp
shr r11, 0x20
mov r13, r10
mov r14, qword [r12 + rdi + 0x14eb98]
mov r12, rbp
imul r13, r11
shr r12, 0x20
mov qword [rsp + 0xf40], r11
imul r11, r12
mov qword [rsp + 0x30], r8
mov edx, r8d
lea r8, [rcx + 1]
movsxd rbp, r8d
mov qword [rsp + 0xf38], rdx
mov qword [rsp + 0x28], r14
mov qword [rsp + rbp*8 + 0x8a0], r15
mov qword [rsp + rbp*8 + 0x898], r15
mov r15, r13
shr r15, 0x20
add r11, r15
mov r15, r10
imul r15, rdx
imul rdx, r12
shl r13, 0x20
add r15, r13
cmp r15, r13
mov r13d, 0
setb r13b
add r11, r13
mov r13, rdx
shl rdx, 0x20
shr r13, 0x20
add r15, rdx
add r11, r13
xor r13d, r13d
cmp r15, rdx
mov rdx, r14
setb r13b
mov qword [rsp + rbp*8 + 0x828], r15
mov r15, r10
shr rdx, 0x20
imul r15, rdx
add r11, r13
mov r13d, r14d
mov r14, r15
mov qword [rsp + 0xf48], r13
imul r10, r13
imul r13, r12
imul r12, rdx
shr r15, 0x20
shl r14, 0x20
add r12, r15
mov r15, r13
add r10, r14
shl r15, 0x20
cmp r10, r14
mov r14d, 0
setb r14b
add r10, r15
cmp r10, r15
mov r15d, 0
setb r15b
add r11, r10
cmp r11, r10
mov r10d, 0
setb r10b
shr r13, 0x20
add r14, r13
add r12, r14
add r15, r10
add r12, r15
mov qword [rsp + rbp*8 + 0x820], r11
add r8d, 0xfffffffe
mov qword [rsp + rbp*8 + 0x818], r12
js 0x140091ecb
dec rbp
cmp rbp, 2
jl 0x140095afe
mov r8d, ebp
xor r10d, r10d
and r8d, 0xfffffffe
movsxd r8, r8d
movdqu xmmword [rsp + r10*8 + 0x8a0], xmm0
movdqu xmmword [rsp + r10*8 + 0x820], xmm0
add r10, 2
cmp r10, r8
jb 0x140091e8e
cmp r8, rbp
jae 0x140091ecb
xor r10d, r10d
mov qword [rsp + r8*8 + 0x8a0], r10
mov qword [rsp + r8*8 + 0x820], r10
inc r8
cmp r8, rbp
jb 0x140091eb3
xor r12d, r12d
lea r14, [rcx - 1]
test r14d, r14d
movsxd r14, r14d
je 0x1400920cd
mov dword [rsp + 0x7e8], esi
lea r10, [rsp + r14*8 + 0x820]
mov r13, qword [r10 + 8]
lea r11, [rsp + r14*8 + 0x8a0]
mov r8, qword [r10 + 0x10]
lea r15, [rsp + r14*8 + 0x120]
mov rbp, qword [r11]
mov qword [rsp + 0xf50], r15
mov qword [rsp + 0xc78], rbx
mov qword [rsp + 0xf58], r14
mov qword [rsp + 0xf60], rdx
mov qword [rsp + 0x6a0], r9
mov qword [rsp + 0x7e0], rdi
mov qword [rsp + 0x7d8], rax
mov qword [rsp + 0x808], rcx
mov rsi, r12
mov rdi, qword [rsp + 0xf50]
inc r12
mov rcx, qword [rsp + 0xf40]
mov rax, rcx
mov r15, qword [rsp + 0xf38]
mov r9, r15
mov rbx, qword [rdi + rsi*8]
mov rdi, rbx
mov ebx, ebx
imul rax, rbx
imul r9, rbx
shr rdi, 0x20
mov rdx, rax
imul r15, rdi
imul rcx, rdi
shl rdx, 0x20
mov r14, r15
add r9, rdx
shl r14, 0x20
cmp r9, rdx
mov edx, 0
setb dl
add r9, r14
cmp r9, r14
mov r14d, 0
setb r14b
add r8, r9
cmp r8, r9
mov qword [r10 + rsi*8 + 0x10], r8
mov r8d, 0
setb r8b
xor r9d, r9d
shr rax, 0x20
shr r15, 0x20
add rcx, rax
add rdx, r15
add rcx, rdx
add r14, r8
add rcx, r14
add r13, rcx
cmp r13, rcx
mov rdx, qword [rsp + 0xf60]
mov r14, rdx
setb r9b
xor ecx, ecx
imul r14, rbx
add rbp, r9
mov rax, r14
mov qword [r11 + rsi*8], rbp
xor r9d, r9d
mov rbp, qword [rsp + 0xf48]
imul rbx, rbp
imul rbp, rdi
imul rdi, rdx
shl rax, 0x20
mov r15, rbp
shl r15, 0x20
add rbx, rax
cmp rbx, rax
setb r9b
add rbx, r15
cmp rbx, r15
setb cl
shr r14, 0x20
lea r8, [rbx + r13]
xor r13d, r13d
cmp r8, rbx
setb r13b
add rdi, r14
shr rbp, 0x20
add r9, rbp
add rdi, r9
add rcx, r13
add rdi, rcx
xor ebp, ebp
mov r13, qword [r10 + rsi*8]
add r13, rdi
cmp r13, rdi
setb bpl
add rbp, qword [r11 + rsi*8 - 8]
dec rsi
cmp r12, qword [rsp + 0xf58]
jb 0x140091f4b
shl r12, 3
sub r10, r12
sub r11, r12
mov rbx, qword [rsp + 0xc78]
mov r9, qword [rsp + 0x6a0]
mov rdi, qword [rsp + 0x7e0]
mov rax, qword [rsp + 0x7d8]
mov esi, dword [rsp + 0x7e8]
mov rcx, qword [rsp + 0x808]
mov qword [r10 + 8], r13
mov qword [r10 + 0x10], r8
mov qword [r11], rbp
add rbx, qword [rsp + 0x818]
lea rdx, [rcx + 1]
mov r14d, edx
lea r8, [rcx + 2]
mov r10, qword [rsp + r8*8 + 0x820]
lea rbp, [rsp + rcx*8 + 0x130]
mov qword [rbp], r10
mov r12, r8
xor r13d, r13d
test r14d, r14d
je 0x14009222f
mov r15d, r14d
mov r10d, 1
shr r15d, 0x1f
xor r11d, r11d
add r15d, r14d
sar r15d, 1
test r15d, r15d
jbe 0x1400921fb
movsxd r10, edx
movsxd r15, r15d
mov qword [rsp + 0x7f8], r15
mov qword [rsp + 0x7e0], rdi
mov qword [rsp + 0x7d8], rax
lea r15, [rsp + r10*8 + 0x120]
mov qword [rsp + 0x7f0], r15
lea r15, [rsp + r10*8 + 0x820]
lea r10, [rsp + r10*8 + 0x8a0]
mov dword [rsp + 0x7e8], esi
mov qword [rsp + 0x808], rcx
mov rdi, r15
mov rsi, qword [rsp + 0x7f0]
mov rcx, qword [rsp + 0x7f8]
mov rax, r11
nop dword [rax]
nop dword [rax]
add r13, qword [rax + r10]
inc r11
mov r15, qword [rax + rdi]
add r15, r13
cmp r15, r13
mov r13d, 0
mov qword [rax + rsi], r15
setb r13b
add r13, qword [rax + r10 - 8]
mov r15, qword [rax + rdi - 8]
add r15, r13
cmp r15, r13
mov r13d, 0
mov qword [rax + rsi - 8], r15
setb r13b
add rax, 0xfffffffffffffff0
cmp r11, rcx
jb 0x140092190
mov rdi, qword [rsp + 0x7e0]
lea r10d, [r11 + r11 + 1]
mov rax, qword [rsp + 0x7d8]
mov esi, dword [rsp + 0x7e8]
mov rcx, qword [rsp + 0x808]
lea r11d, [r10 - 1]
cmp r11d, r14d
jae 0x14009222b
movsxd r10, r10d
movsxd r11, edx
sub r11, r10
add r13, qword [rsp + r11*8 + 0x8a8]
add r13, qword [rsp + r11*8 + 0x828]
mov qword [rsp + r11*8 + 0x128], r13
mov r10, qword [rbp]
jmp 0x14009222f
mov r10, qword [rbp]
test r10, r10
jne 0x140092277
xor r10d, r10d
lea rbp, [rsp + rcx*8 + 0x130]
xor ecx, ecx
inc r10
add rcx, 0xfffffffffffffff0
lea rdx, [r10 + r10]
neg rdx
add rdx, r12
cmp qword [rcx + rbp + 8], 0
lea r8, [rdx + 1]
jne 0x140095af1
mov r8, rdx
cmp qword [rcx + rbp], 0
je 0x140092241
lea rbp, [rsp + rdx*8 + 0x120]
dec rdx
mov rcx, qword [rsp + 0x128]
test rcx, rcx
jle 0x1400923d4
add rcx, rcx
dec rbx
mov qword [rsp + 0x128], rcx
xor r11d, r11d
cmp r8, 2
jb 0x1400923d4
mov qword [rsp + 0x7e0], rdi
lea r10, [r8 + 0x3e]
shr r10, 6
lea r12, [r8 - 1]
mov qword [rsp + 0x7d8], rax
mov dword [rsp + 0x7e8], esi
xor esi, esi
movsxd rdi, r11d
mov rcx, rdi
shl rcx, 6
lea rax, [rcx + 0x40]
neg rcx
cmp r12, rax
cmovl rax, r12
add rcx, rax
cmp rcx, 2
jl 0x140095ae9
mov r14, rdi
mov rax, rcx
shl r14, 9
and rax, 0xfffffffffffffffe
xor r13d, r13d
lea r15, [rsp + r14 + 0x120]
mov r14, rsi
movdqu xmm1, xmmword [r15 + r14*8 + 0x10]
add r13d, 2
movdqu xmmword [rsp + r14*8 + 0x480], xmm1
add r14, 2
cmp r13, rax
jb 0x140092309
movsxd r13, eax
mov r14d, eax
mov eax, eax
cmp rax, rcx
jae 0x14009235b
mov rax, rdi
shl rax, 9
lea rax, [rsp + rax + 0x120]
mov r15, qword [rax + r13*8 + 0x10]
inc r14d
mov qword [rsp + r13*8 + 0x480], r15
inc r13
cmp r14, rcx
jb 0x140092343
xor eax, eax
mov r14, rsi
test rcx, rcx
je 0x1400923b1
shl rdi, 9
mov r13, qword [rsp + rdi + 0x128]
lea r15, [rsp + rdi + 0x120]
mov rsi, qword [rsp + r14*8 + 0x480]
inc eax
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 rax, rcx
jb 0x140092379
movsxd rax, eax
xor esi, esi
lea rcx, [rsp + rax*8 + 0x120]
mov qword [rcx + rdi + 8], r13
inc r11d
cmp r11, r10
jb 0x1400922c8
mov rdi, qword [rsp + 0x7e0]
mov rax, qword [rsp + 0x7d8]
mov esi, dword [rsp + 0x7e8]
cmp qword [rbp], 0
mov rcx, r8
cmove rcx, rdx
cmp rcx, qword [rsp + 0xca0]
jb 0x140092546
mov rcx, qword [rsp + 0xca0]
mov rdx, rcx
mov rbp, qword [rsp + rdx*8 + 0x128]
shr rbp, 0x3f
mov r8, qword [rsp + rdx*8 + 0x120]
add r8, rbp
cmp r8, rbp
jae 0x1400924bb
mov rcx, qword [rsp + 0xc90]
mov qword [rsp + rdx*8 + 0x120], r8
mov qword [rsp + 0x120], 0
cmp qword [rcx], 0xffffffffffffffff
mov rcx, qword [rsp + 0xc98]
jne 0x14009248a
xor ebp, ebp
mov r10, qword [rsp + 0xc90]
xor edx, edx
mov r11, rcx
inc rbp
add rdx, 0xfffffffffffffff0
lea r8, [rbp + rbp]
neg r8
add r8, r11
cmp qword [rdx + r10 + 8], 0xffffffffffffffff
lea rcx, [r8 + 1]
jne 0x14009247a
mov rcx, r8
cmp qword [rdx + r10], 0xffffffffffffffff
je 0x140092452
mov qword [rsp + 0xc90], r10
mov qword [rsp + 0xc98], r11
test rcx, rcx
jne 0x1400924ae
movabs rdx, 0x8000000000000000
inc rbx
mov qword [rsp + 0x128], rdx
mov ecx, 1
jmp 0x140092546
inc qword [rsp + rcx*8 + 0x120]
jmp 0x140092546
mov qword [rsp + rdx*8 + 0x120], r8
test r8, r8
jne 0x140092546
xor ebp, ebp
mov r10, qword [rsp + 0xc88]
xor edx, edx
mov r11, rcx
inc rbp
add rdx, 0xfffffffffffffff0
lea r8, [rbp + rbp]
neg r8
add r8, r11
cmp qword [rdx + r10 + 8], 0
lea rcx, [r8 + 1]
jne 0x1400924ff
mov rcx, r8
cmp qword [rdx + r10], 0
je 0x1400924d7
mov qword [rsp + 0xc88], r10
mov qword [rsp + 0xca0], r11
jmp 0x140092546
lea rbp, [0x140000000]
mov ecx, 2
mov rdx, qword [rbp + rdi + 0x14eb98]
mov r8, qword [rbp + rdi + 0x14eb90]
movsx rbx, word [rbp + r9 + 0x14ee7e]
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x130], r8
mov rbp, qword [rsp + 0xc80]
inc rbp
add r9, 0xfffffffffffffffe
sar esi, 1
add rdi, 0xfffffffffffffff0
cmp rbp, 4
jae 0x140092f74
mov edx, esi
neg edx
movsxd rdx, edx
cmp rax, rdx
jg 0x14009254e
nop word [rax + rax]
mov qword [rsp + 0xc80], rbp
jmp 0x140091d00
cmp qword [rsp + 0xdf0], 0x216
jle 0x140092f94
xor esi, esi
mov r10d, 0x1000
xor r9d, r9d
mov edi, 6
xor r11d, r11d
cmp qword [rsp + 0xdf0], 0x1000
jge 0x1400925d0
mov qword [rsp + 0xcc0], r8
lea r8, [0x140000000]
mov rbx, qword [rsp + 0xc78]
jmp 0x14009261c
mov rax, qword [rsp + 0xdf0]
mov qword [rsp + 0xcc0], r8
lea r8, [0x140000000]
lea rax, [rax - 0x1000]
mov r12, qword [r8 + r11 + 0x14ed18]
mov ecx, 2
mov r13, qword [r8 + r11 + 0x14ed10]
movsx rbx, word [r8 + rdi + 0x14ee9a]
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r13
mov r15, rbp
shr r15, 6
mov qword [rsp + 0xc70], rdx
mov qword [rsp + 0xb38], r15
mov qword [rsp + 0xe20], rbp
lea r14, [r15 - 1]
mov qword [rsp + 0xb30], r14
lea r13, [rsp + r15*8 + 0x118]
mov qword [rsp + 0xb28], r13
lea r12, [rsp + r15*8 + 0x120]
mov qword [rsp + 0xb20], r12
inc rsi
add rdi, 0xfffffffffffffffe
sar r10, 1
add r9, 0xfffffffffffffffe
add r11, 0xfffffffffffffff0
cmp rsi, 4
jae 0x140092f74
cmp rax, r10
jl 0x140092667
sub rax, r10
test rcx, rcx
je 0x1400957bf
lea rdx, [0x140000000]
lea r15, [rcx + 1]
mov qword [rsp + 0x378], rdi
mov dword [rsp + 0x368], r15d
movsx r8, word [rdx + r9 + 0x14eea0]
mov qword [rsp + 0x818], r8
mov r13, qword [rdx + r11 + 0x14ed10]
mov rbp, r13
mov r8, qword [rsp + rcx*8 + 0x120]
mov edi, r8d
mov qword [rsp + 0x30], r13
shr rbp, 0x20
mov r12d, r13d
mov r13, rdi
mov r14, qword [rdx + r11 + 0x14ed18]
mov rdx, r8
imul r13, rbp
shr rdx, 0x20
mov qword [rsp + 0xe60], rbp
imul rbp, rdx
movsxd r8, r15d
xor r15d, r15d
mov qword [rsp + 0xe58], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + r8*8 + 0x2a0], r15
mov qword [rsp + r8*8 + 0x298], r15
mov r15, r13
shr r15, 0x20
add rbp, r15
mov r15, rdi
imul r15, r12
imul r12, rdx
shl r13, 0x20
add r15, r13
cmp r15, r13
mov r13d, 0
setb r13b
add rbp, r13
mov r13, r12
shl r12, 0x20
shr r13, 0x20
add r15, r12
add rbp, r13
xor r13d, r13d
cmp r15, r12
mov r12, r14
setb r13b
mov qword [rsp + r8*8 + 0x228], r15
mov r15, rdi
shr r12, 0x20
imul r15, r12
add rbp, r13
mov r13d, r14d
mov r14, r15
mov qword [rsp + 0xe70], r13
imul rdi, r13
imul r13, rdx
imul rdx, r12
shr r15, 0x20
shl r14, 0x20
add rdx, r15
mov r15, r13
add rdi, r14
shl r15, 0x20
cmp rdi, r14
mov r14d, 0
setb r14b
add rdi, r15
cmp rdi, r15
mov qword [rsp + 0xe68], r12
mov r12d, 0
setb r12b
add rbp, rdi
cmp rbp, rdi
mov edi, 0
setb dil
shr r13, 0x20
add r14, r13
add rdx, r14
add r12, rdi
add rdx, r12
mov qword [rsp + r8*8 + 0x220], rbp
mov qword [rsp + r8*8 + 0x218], rdx
add r8, 0xfffffffffffffffe
mov rdi, qword [rsp + 0x378]
test r8d, r8d
jl 0x140092891
mov r12d, dword [rsp + 0x368]
mov r13d, 1
xor edx, edx
lea ebp, [r12 - 1]
mov r14d, ebp
shr r14d, 0x1f
lea r12d, [r12 + r14 - 1]
sar r12d, 1
test r12d, r12d
jbe 0x140092877
xor r13d, r13d
inc edx
mov qword [rsp + r8*8 + 0x2a0], r13
mov qword [rsp + r8*8 + 0x220], r13
mov qword [rsp + r8*8 + 0x298], r13
mov qword [rsp + r8*8 + 0x218], r13
add r8, 0xfffffffffffffffe
cmp edx, r12d
jb 0x140092847
lea r13d, [rdx + rdx + 1]
dec r13d
cmp r13d, ebp
jae 0x140092891
xor edx, edx
mov qword [rsp + r8*8 + 0x2a0], rdx
mov qword [rsp + r8*8 + 0x220], rdx
xor r12d, r12d
lea r14, [rcx - 1]
test r14d, r14d
movsxd r14, r14d
je 0x140092ac9
mov qword [rsp + 0x340], r10
lea rdx, [rsp + r14*8 + 0x2a0]
mov r15, qword [rdx]
lea rbp, [rsp + r14*8 + 0x220]
mov qword [rsp + 0x328], r15
lea r15, [rsp + r14*8 + 0x120]
mov qword [rsp + 0x7d8], rax
mov r13, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
mov qword [rsp + 0xe78], r15
mov qword [rsp + 0xe80], r14
mov qword [rsp + 0x378], rdi
mov qword [rsp + 0x330], r11
mov qword [rsp + 0x320], r9
mov qword [rsp + 0x338], rsi
mov qword [rsp + 0xc78], rbx
mov qword [rsp + 0x808], rcx
mov rax, qword [rsp + 0x328]
mov r10, r12
mov r9, qword [rsp + 0xe78]
inc r12
mov rsi, qword [rsp + 0xe60]
mov rcx, rsi
mov r15, qword [rsp + 0xe58]
mov r11, r15
mov rdi, qword [r9 + r10*8]
mov r9, rdi
mov edi, edi
imul rcx, rdi
imul r11, rdi
shr r9, 0x20
mov rbx, rcx
imul r15, r9
imul rsi, r9
shl rbx, 0x20
mov r14, r15
add r11, rbx
shl r14, 0x20
cmp r11, rbx
mov ebx, 0
setb bl
add r11, r14
cmp r11, r14
mov r14d, 0
setb r14b
add r8, r11
cmp r8, r11
mov qword [rbp + r10*8 + 0x10], r8
mov r8d, 0
setb r8b
xor r11d, r11d
shr rcx, 0x20
shr r15, 0x20
add rsi, rcx
add rbx, r15
add rsi, rbx
add r14, r8
add rsi, r14
add r13, rsi
cmp r13, rsi
mov rbx, qword [rsp + 0xe68]
mov r14, rbx
setb r11b
xor esi, esi
imul r14, rdi
add rax, r11
mov rcx, r14
mov qword [rdx + r10*8], rax
xor r11d, r11d
mov rax, qword [rsp + 0xe70]
imul rdi, rax
imul rax, r9
imul r9, rbx
shl rcx, 0x20
mov r15, rax
shl r15, 0x20
add rdi, rcx
cmp rdi, rcx
setb r11b
add rdi, r15
cmp rdi, r15
setb sil
shr r14, 0x20
lea r8, [rdi + r13]
xor r13d, r13d
cmp r8, rdi
setb r13b
add r9, r14
shr rax, 0x20
add r11, rax
add r9, r11
add rsi, r13
add r9, rsi
xor eax, eax
mov r13, qword [rbp + r10*8]
add r13, r9
cmp r13, r9
setb al
add rax, qword [rdx + r10*8 - 8]
dec r10
cmp r12, qword [rsp + 0xe80]
jb 0x14009292a
shl r12, 3
sub rbp, r12
sub rdx, r12
mov qword [rsp + 0x328], rax
mov rdi, qword [rsp + 0x378]
mov r11, qword [rsp + 0x330]
mov qword [rbp + 8], r13
mov qword [rbp + 0x10], r8
mov rbp, rax
mov r9, qword [rsp + 0x320]
mov rsi, qword [rsp + 0x338]
mov r10, qword [rsp + 0x340]
mov rbx, qword [rsp + 0xc78]
mov rax, qword [rsp + 0x7d8]
mov rcx, qword [rsp + 0x808]
mov qword [rdx], rbp
add rbx, qword [rsp + 0x818]
lea r8, [rcx + 1]
mov r14d, r8d
lea r13, [rcx + 2]
mov rdx, qword [rsp + r13*8 + 0x220]
lea r12, [rsp + rcx*8 + 0x130]
mov qword [rsp + 0xb40], r13
mov qword [r12], rdx
mov qword [rsp + 0x370], 0
test r14d, r14d
je 0x140092c56
mov r15d, r14d
mov edx, 1
shr r15d, 0x1f
xor ebp, ebp
add r15d, r14d
sar r15d, 1
test r15d, r15d
jbe 0x140092c1b
movsxd rdx, r8d
movsxd r15, r15d
mov qword [rsp + 0x348], r15
mov qword [rsp + 0x338], rsi
mov qword [rsp + 0xc78], rbx
lea r15, [rsp + rdx*8 + 0x120]
mov qword [rsp + 0x350], r15
lea r15, [rsp + rdx*8 + 0x220]
lea rdx, [rsp + rdx*8 + 0x2a0]
mov qword [rsp + 0x7d8], rax
mov qword [rsp + 0x808], rcx
mov qword [rsp + 0x340], r10
mov rsi, r15
mov rbx, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x348]
mov rax, rbp
mov r15, qword [rsp + 0x370]
nop
add r15, qword [rax + rdx]
inc rbp
mov r10, qword [rax + rsi]
add r10, r15
cmp r10, r15
mov r15d, 0
mov qword [rax + rbx], r10
setb r15b
add r15, qword [rax + rdx - 8]
mov r10, qword [rax + rsi - 8]
add r10, r15
cmp r10, r15
mov r15d, 0
mov qword [rax + rbx - 8], r10
setb r15b
add rax, 0xfffffffffffffff0
cmp rbp, rcx
jb 0x140092ba0
mov qword [rsp + 0x370], r15
lea edx, [rbp + rbp + 1]
mov rsi, qword [rsp + 0x338]
mov r10, qword [rsp + 0x340]
mov rbx, qword [rsp + 0xc78]
mov rax, qword [rsp + 0x7d8]
mov rcx, qword [rsp + 0x808]
lea ebp, [rdx - 1]
cmp ebp, r14d
jae 0x140092c52
movsxd rdx, edx
movsxd r14, r8d
sub r14, rdx
mov rbp, qword [rsp + 0x370]
add rbp, qword [rsp + r14*8 + 0x2a8]
add rbp, qword [rsp + r14*8 + 0x228]
mov qword [rsp + r14*8 + 0x128], rbp
mov rdx, qword [r12]
jmp 0x140092c56
mov rdx, qword [r12]
test rdx, rdx
jne 0x140092ca6
xor ebp, ebp
lea rcx, [rsp + rcx*8 + 0x130]
mov r12, qword [rsp + 0xb40]
xor edx, edx
inc rbp
add rdx, 0xfffffffffffffff0
lea r8, [rbp + rbp]
neg r8
add r8, r12
cmp qword [rdx + rcx + 8], 0
lea r13, [r8 + 1]
jne 0x140095cb5
mov r13, r8
cmp qword [rdx + rcx], 0
je 0x140092c6f
lea r12, [rsp + r8*8 + 0x120]
dec r8
mov rdx, qword [rsp + 0x128]
test rdx, rdx
jle 0x140092e23
add rdx, rdx
dec rbx
mov qword [rsp + 0x128], rdx
xor ebp, ebp
cmp r13, 2
jb 0x140092e23
mov qword [rsp + 0x320], r9
lea rdx, [r13 + 0x3e]
shr rdx, 6
lea rcx, [r13 - 1]
mov qword [rsp + 0x338], rsi
xor esi, esi
mov qword [rsp + 0x340], r10
mov qword [rsp + 0xc78], rbx
mov qword [rsp + 0x7d8], rax
movsxd r9, ebp
mov rbx, r9
shl rbx, 6
lea rax, [rbx + 0x40]
neg rbx
cmp rcx, rax
cmovl rax, rcx
add rbx, rax
cmp rbx, 2
jl 0x140095cad
mov r14, r9
mov rax, rbx
shl r14, 9
and rax, 0xfffffffffffffffe
xor r10d, r10d
lea r15, [rsp + r14 + 0x120]
mov r14, rsi
movdqu xmm1, xmmword [r15 + r14*8 + 0x10]
add r10d, 2
movdqu xmmword [rsp + r14*8 + 0x480], xmm1
add r14, 2
cmp r10, rax
jb 0x140092d48
movsxd r10, eax
mov r14d, eax
mov eax, eax
cmp rax, rbx
jae 0x140092d9a
mov rax, r9
shl rax, 9
lea rax, [rsp + rax + 0x120]
mov r15, qword [rax + r10*8 + 0x10]
inc r14d
mov qword [rsp + r10*8 + 0x480], r15
inc r10
cmp r14, rbx
jb 0x140092d82
xor eax, eax
mov r14, rsi
test rbx, rbx
je 0x140092df0
shl r9, 9
mov r10, qword [rsp + r9 + 0x128]
lea r15, [rsp + r9 + 0x120]
mov rsi, qword [rsp + r14*8 + 0x480]
inc eax
shr rsi, 0x3f
or r10, rsi
mov qword [r15 + r14*8 + 8], r10
mov r10, qword [r15 + r14*8 + 0x10]
inc r14
add r10, r10
cmp rax, rbx
jb 0x140092db8
movsxd rax, eax
xor esi, esi
lea rbx, [rsp + rax*8 + 0x120]
mov qword [rbx + r9 + 8], r10
inc ebp
cmp rbp, rdx
jb 0x140092d07
mov r9, qword [rsp + 0x320]
mov rsi, qword [rsp + 0x338]
mov r10, qword [rsp + 0x340]
mov rbx, qword [rsp + 0xc78]
mov rax, qword [rsp + 0x7d8]
cmp qword [r12], 0
mov rcx, r13
cmove rcx, r8
cmp rcx, qword [rsp + 0xb38]
jb 0x140092f58
mov rcx, qword [rsp + 0xb38]
mov rdx, rcx
mov rbp, qword [rsp + rdx*8 + 0x128]
shr rbp, 0x3f
mov r8, qword [rsp + rdx*8 + 0x120]
add r8, rbp
cmp r8, rbp
jae 0x140092f04
mov rcx, qword [rsp + 0xb28]
mov qword [rsp + rdx*8 + 0x120], r8
mov qword [rsp + 0x120], 0
cmp qword [rcx], 0xffffffffffffffff
mov rcx, qword [rsp + 0xb30]
jne 0x140092ed9
xor ebp, ebp
mov r12, qword [rsp + 0xb28]
xor edx, edx
mov r13, rcx
inc rbp
add rdx, 0xfffffffffffffff0
lea r8, [rbp + rbp]
neg r8
add r8, r13
cmp qword [rdx + r12 + 8], 0xffffffffffffffff
lea rcx, [r8 + 1]
jne 0x140092ec9
mov rcx, r8
cmp qword [rdx + r12], 0xffffffffffffffff
je 0x140092ea1
mov qword [rsp + 0xb28], r12
mov qword [rsp + 0xb30], r13
test rcx, rcx
je 0x140092ee8
inc qword [rsp + rcx*8 + 0x120]
jmp 0x140092f58
movabs rdx, 0x8000000000000000
inc rbx
mov qword [rsp + 0x128], rdx
mov ecx, 1
jmp 0x140092f58
mov qword [rsp + rdx*8 + 0x120], r8
test r8, r8
jne 0x140092f58
xor ebp, ebp
mov r12, qword [rsp + 0xb20]
xor edx, edx
mov r13, rcx
inc rbp
add rdx, 0xfffffffffffffff0
lea r8, [rbp + rbp]
neg r8
add r8, r13
cmp qword [rdx + r12 + 8], 0
lea rcx, [r8 + 1]
jne 0x140092f48
mov rcx, r8
cmp qword [rdx + r12], 0
je 0x140092f20
mov qword [rsp + 0xb20], r12
mov qword [rsp + 0xb38], r13
inc rsi
add rdi, 0xfffffffffffffffe
sar r10, 1
add r9, 0xfffffffffffffffe
add r11, 0xfffffffffffffff0
cmp rsi, 4
jb 0x140092683
mov qword [rsp + 0xc78], rbx
mov rdx, qword [rsp + 0xc70]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
lea rbx, [rax + 0x1b]
cmp rbx, 0x1a
ja 0x140093019
lea rbx, [0x140000000]
mov edi, 2
movsx rsi, word [rbx + rax*2 + 0x14ee7e]
shl rax, 4
mov rdx, qword [rbx + rax + 0x14eb58]
mov rax, qword [rbx + rax + 0x14eb50]
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1b0], rax
test rax, rax
jne 0x140095b06
xor edx, edx
xor eax, eax
inc rdx
add rax, 0xfffffffffffffff0
lea rbx, [rdx + rdx]
neg rbx
cmp qword [rsp + rax + 0x1b8], 0
lea rdi, [rbx + 3]
jne 0x140094280
cmp qword [rsp + rax + 0x1b0], 0
lea rdi, [rbx + 2]
je 0x140092fe4
jmp 0x140094280
mov ebx, 0x80
movups xmmword [rsp + rbx + 0x90], xmm0
movups xmmword [rsp + rbx + 0x80], xmm0
movups xmmword [rsp + rbx + 0x70], xmm0
movups xmmword [rsp + rbx + 0x60], xmm0
sub rbx, 0x40
jne 0x14009301e
test rax, rax
jl 0x140095c30
cmp rax, 0x37
jl 0x1400930c0
mov r9, rax
lea rbx, [0x140000000]
shr r9, 3
movsxd r11, r9d
movzx esi, word [rbx + r11*2 + 0x14edc2]
lea rdi, [r11 + 1]
shr esi, 5
cmp rsi, rax
cmovle r11, rdi
movzx r13d, word [rbx + r11*2 + 0x14edc0]
mov r12d, r13d
shr r13d, 5
and r12d, 0x1f
sub rax, r13
movsxd r9, eax
movsx rax, word [rbx + r12*2 + 0x14eea2]
shl r12, 4
mov qword [rsp + 0x818], rax
mov r14, qword [rbx + r12 + 0x14ed28]
mov r15, qword [rbx + r12 + 0x14ed20]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r15
jmp 0x1400930c5
movsxd r9, eax
xor edx, edx
cmp r9, 0x37
je 0x140095c00
mov rax, r9
add rax, 0xffffffffffffffe5
jle 0x140093141
lea rsi, [0x140000000]
mov r9d, 0x1b
mov r10d, 1
movsx rbx, word [rsi + rax*2 + 0x14f33e]
mov rdi, qword [rsi + rax*8 + 0x14f158]
mov qword [rsp + 0x6a8], rbx
mov qword [rsp + 0xa8], rdi
test rdi, rdi
jne 0x140093141
xor esi, esi
xor ebx, ebx
inc rsi
add rbx, 0xfffffffffffffff0
lea rdi, [rsi + rsi]
neg rdi
cmp qword [rsp + rbx + 0xb0], 0
lea r10, [rdi + 2]
jne 0x140093141
cmp qword [rsp + rbx + 0xa8], 0
lea r10, [rdi + 1]
je 0x140093115
lea rbx, [0x140000000]
mov edi, 1
movsx rsi, word [rbx + r9*2 + 0x14f33e]
mov r9, qword [rbx + r9*8 + 0x14f158]
mov qword [rsp + 0x1a8], r9
test r9, r9
jne 0x14009319c
xor r9d, r9d
xor ebx, ebx
inc r9
add rbx, 0xfffffffffffffff0
lea r11, [r9 + r9]
neg r11
cmp qword [rsp + rbx + 0x1b0], 0
lea rdi, [r11 + 2]
jne 0x14009319c
cmp qword [rsp + rbx + 0x1a8], 0
lea rdi, [r11 + 1]
je 0x140093170
mov r11, qword [rsp + rdi*8 + 0x1a0]
test rax, rax
jle 0x140093a73
mov r14, qword [rsp + r10*8 + 0xa0]
mov r15, r11
mov r13d, r11d
mov r11, r14
shr r11, 0x20
mov rbx, r13
mov r14d, r14d
lea r9, [r10 + rdi]
imul rbx, r11
shr r15, 0x20
mov qword [rsp + 0x7b8], r15
mov r15, rbx
mov qword [rsp + 0x7c0], r13
imul r13, r14
imul r11, qword [rsp + 0x7b8]
imul r14, qword [rsp + 0x7b8]
mov qword [rsp + 0xc00], r9
lea r9, [r10 + rdi - 1]
shl rbx, 0x20
mov r12d, r9d
movsxd rax, r9d
add r13, rbx
shr r15, 0x20
cmp r13, rbx
mov ebx, 0
mov qword [rsp + 0x7b0], rax
setb bl
add r11, r15
mov r15, r14
shl r14, 0x20
lea rax, [rsp + rax*8 + 0x6b0]
add r13, r14
cmp r13, r14
lea r14, [r10 - 1]
mov qword [rax + 8], r13
mov r13d, 0
setb r13b
add r11, rbx
shr r15, 0x20
add r11, r15
movsxd r14, r14d
xor r15d, r15d
add r11, r13
xor r13d, r13d
mov qword [rax], r11
mov rbx, qword [rsp + 0x7b0]
test r14, r14
je 0x1400933da
mov qword [rsp + 0xcd0], rdi
lea r12, [rsp + rbx*8 + 0x730]
mov qword [rsp + 0x688], r12
lea r12, [rsp + r14*8 + 0xa0]
mov dword [rsp + 0x690], r9d
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov qword [rsp + 0x7b0], rbx
mov qword [rsp + 0xc70], rdx
mov qword [rsp + 0x698], r10
mov qword [rsp + 0x808], rcx
mov r8, r12
mov rdi, qword [rsp + 0x688]
mov r9, qword [rsp + 0x7c0]
mov rbp, qword [rsp + 0x7b8]
mov r12, qword [r8 + r13*8]
mov r10, r12
shr r10, 0x20
mov rdx, r9
imul rdx, r10
imul r10, rbp
mov ebx, r12d
mov rcx, r9
imul rcx, rbx
imul rbx, rbp
mov r12, rdx
inc r15
shl r12, 0x20
shr rdx, 0x20
add rcx, r12
add r10, rdx
xor edx, edx
cmp rcx, r12
mov r12, rbx
setb dl
shl r12, 0x20
add rcx, r12
cmp rcx, r12
mov r12d, 0
setb r12b
add r11, rcx
cmp r11, rcx
mov ecx, 0
mov qword [rax + r13*8], r11
setb cl
shr rbx, 0x20
mov r11d, r12d
add rdx, rbx
add r10, rdx
add r11, rcx
mov qword [rdi + r13*8], 0
add r11, r10
dec r13
cmp r15, r14
jb 0x1400932f5
mov rbx, qword [rsp + 0x7b0]
lea r12, [r15*8]
neg r12
mov rdi, qword [rsp + 0xcd0]
mov r9d, dword [rsp + 0x690]
mov rdx, qword [rsp + 0xc70]
mov qword [r12 + rax], r11
mov r12d, ebx
mov r10, qword [rsp + 0x698]
sub r12d, r15d
mov rcx, qword [rsp + 0x808]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
movsxd r12, r12d
mov qword [rsp + r12*8 + 0x730], 0
dec r12d
js 0x140093448
movsxd r12, r12d
inc r12
cmp r12, 2
jl 0x140095bf8
mov r11d, r12d
xor r13d, r13d
and r11d, 0xfffffffe
movsxd r11, r11d
movdqu xmmword [rsp + r13*8 + 0x730], xmm0
movdqu xmmword [rsp + r13*8 + 0x6b0], xmm0
add r13, 2
cmp r13, r11
jb 0x14009340b
cmp r11, r12
jae 0x140093448
xor r13d, r13d
mov qword [rsp + r11*8 + 0x730], r13
mov qword [rsp + r11*8 + 0x6b0], r13
inc r11
cmp r11, r12
jb 0x140093430
dec rdi
xor r12d, r12d
movsxd r11, edi
test r11, r11
je 0x1400936c6
movsxd r10, r10d
lea r13, [rsp + r11*8 + 0x1a0]
mov qword [rsp + 0xf10], r13
lea r13, [rsp + r11*8 + 0x730]
mov qword [rsp + 0xc70], rdx
mov qword [rsp + 0xcc8], rsi
mov qword [rsp + 0xed8], r13
lea rdi, [r11 + r10]
mov qword [rsp + 0xf08], rdi
lea rdi, [rsp + r11*8 + 0x6b0]
mov qword [rsp + 0x680], rax
lea r14, [r10*8]
mov qword [rsp + 0xef0], r14
lea r15, [rdi + r10*8]
mov qword [rsp + 0xee0], r15
lea r14, [rsp + r10*8 + 0xa0]
mov qword [rsp + 0xee8], r14
xor eax, eax
mov qword [rsp + 0x7b0], rbx
mov dword [rsp + 0x690], r9d
mov qword [rsp + 0x808], rcx
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov r15, qword [rsp + 0xf10]
mov rdx, qword [rsp + 0xf08]
mov r14, rax
mov r9, r14
test r10, r10
je 0x140093677
mov r8, r15
lea r13, [r12*8]
sub r8, r13
mov rcx, qword [rsp + rdx*8 + 0x6b0]
mov qword [rsp + 0xf18], rdi
mov qword [rsp + 0xf08], rdx
mov rbx, qword [r8]
mov r8, rbx
mov esi, ebx
mov rbx, qword [rsp + 0xef0]
sub rbx, r13
neg r13
add r13, qword [rsp + 0xee0]
mov rax, qword [rsp + 0xee8]
shr r8, 0x20
mov qword [rsp + 0xf00], r12
lea rbp, [rdi + rbx]
add rbx, qword [rsp + 0xed8]
mov qword [rsp + 0xef8], r11
mov r11, qword [rax + r9*8]
mov rdx, r11
shr rdx, 0x20
mov r12, rsi
imul r12, rdx
imul rdx, r8
mov edi, r11d
mov r15, rsi
imul r15, rdi
imul rdi, r8
mov r11, r12
dec r9
shl r11, 0x20
shr r12, 0x20
add r15, r11
add rdx, r12
xor r12d, r12d
cmp r15, r11
mov r11, rdi
setb r12b
shl r11, 0x20
add r15, r11
cmp r15, r11
mov r11d, 0
setb r11b
add rcx, r15
cmp rcx, r15
mov r15d, 0
setb r15b
shr rdi, 0x20
add r12, rdi
add rdx, r12
add r11, r15
add rdx, r11
lea rdi, [r14*8]
mov r11, r13
inc r14
sub r11, rdi
mov qword [r11], rcx
mov rcx, rbp
sub rcx, rdi
neg rdi
add rdi, rbx
mov rcx, qword [rcx - 8]
add rcx, rdx
cmp rcx, rdx
mov edx, 0
setb dl
add qword [rdi - 0x10], rdx
cmp r14, r10
jb 0x14009358a
shl r14, 3
xor eax, eax
sub r13, r14
mov rdi, qword [rsp + 0xf18]
mov r15, qword [rsp + 0xf10]
mov rdx, qword [rsp + 0xf08]
mov r12, qword [rsp + 0xf00]
mov r11, qword [rsp + 0xef8]
mov qword [r13], rcx
inc r12
dec rdx
cmp r12, r11
jb 0x14009350f
mov rsi, qword [rsp + 0xcc8]
mov rax, qword [rsp + 0x680]
mov rbx, qword [rsp + 0x7b0]
mov r9d, dword [rsp + 0x690]
mov rdx, qword [rsp + 0xc70]
mov rcx, qword [rsp + 0x808]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
mov rdi, qword [rsp + 0xc00]
xor r15d, r15d
add rsi, qword [rsp + 0x6a8]
mov r10, qword [rsp + rdi*8 + 0x6b0]
lea r13, [rsp + rdi*8 + 0x1a0]
mov qword [r13], r10
test r9d, r9d
je 0x1400937d0
mov r10d, r9d
mov r11d, 1
shr r10d, 0x1f
xor r14d, r14d
add r10d, r9d
sar r10d, 1
test r10d, r10d
jbe 0x14009379f
mov qword [rsp + 0xe20], rbp
lea r11, [rsp + rbx*8 + 0x1a0]
movsxd r10, r10d
lea r12, [rsp + rbx*8 + 0x730]
mov qword [rsp + 0xcc0], r8
mov rbp, r14
nop dword [rax + rax]
add r15, qword [rbp + r12]
inc r14
mov r8, qword [rbp + rax]
add r8, r15
cmp r8, r15
mov r15d, 0
mov qword [rbp + r11], r8
setb r15b
add r15, qword [rbp + r12 - 8]
mov r8, qword [rbp + rax - 8]
add r8, r15
cmp r8, r15
mov r15d, 0
mov qword [rbp + r11 - 8], r8
setb r15b
add rbp, 0xfffffffffffffff0
cmp r14, r10
jb 0x140093740
mov r8, qword [rsp + 0xcc0]
lea r11d, [r14 + r14 + 1]
mov rbp, qword [rsp + 0xe20]
lea eax, [r11 - 1]
cmp eax, r9d
jae 0x1400937cc
movsxd r11, r11d
sub rbx, r11
add r15, qword [rsp + rbx*8 + 0x738]
add r15, qword [rsp + rbx*8 + 0x6b8]
mov qword [rsp + rbx*8 + 0x1a8], r15
mov r10, qword [r13]
jmp 0x1400937d0
mov r10, qword [r13]
test r10, r10
jne 0x140093808
xor ebx, ebx
mov r10, qword [rsp + 0xc00]
xor eax, eax
inc rbx
add rax, 0xfffffffffffffff0
lea r9, [rbx + rbx]
neg r9
add r9, r10
cmp qword [rax + r13 + 8], 0
lea rdi, [r9 + 1]
jne 0x140093808
mov rdi, r9
cmp qword [rax + r13], 0
je 0x1400937e1
mov rax, qword [rsp + 0x1a8]
test rax, rax
jle 0x140093949
add rax, rax
dec rsi
mov qword [rsp + 0x1a8], rax
xor r12d, r12d
cmp rdi, 2
jb 0x140093949
mov qword [rsp + 0xe20], rbp
lea r10, [rdi + 0x3e]
shr r10, 6
lea r11, [rdi - 1]
xor ebx, ebx
movsxd rbp, r12d
mov r9, rbp
shl r9, 6
lea rax, [r9 + 0x40]
neg r9
cmp r11, rax
cmovl rax, r11
add r9, rax
cmp r9, 2
jl 0x140095bf0
mov r14, rbp
mov rax, r9
shl r14, 9
and rax, 0xfffffffffffffffe
xor r13d, r13d
lea r15, [rsp + r14 + 0x1a0]
mov r14, rbx
movdqu xmm1, xmmword [r15 + r14*8 + 0x10]
add r13d, 2
movdqu xmmword [rsp + r14*8 + 0x480], xmm1
add r14, 2
cmp r13, rax
jb 0x14009388b
movsxd r13, eax
mov r14d, eax
mov eax, eax
cmp rax, r9
jae 0x1400938dd
mov rax, rbp
shl rax, 9
lea rax, [rsp + rax + 0x1a0]
mov r15, qword [rax + r13*8 + 0x10]
inc r14d
mov qword [rsp + r13*8 + 0x480], r15
inc r13
cmp r14, r9
jb 0x1400938c5
xor r13d, r13d
mov r15, rbx
test r9, r9
je 0x140093935
shl rbp, 9
mov r14, qword [rsp + rbp + 0x1a8]
lea rax, [rsp + rbp + 0x1a0]
mov rbx, qword [rsp + r15*8 + 0x480]
inc r13d
shr rbx, 0x3f
or r14, rbx
mov qword [rax + r15*8 + 8], r14
mov r14, qword [rax + r15*8 + 0x10]
inc r15
add r14, r14
cmp r13, r9
jb 0x1400938fc
movsxd r13, r13d
xor ebx, ebx
lea rax, [rsp + r13*8 + 0x1a0]
mov qword [rax + rbp + 8], r14
inc r12d
cmp r12, r10
jb 0x14009384a
mov rbp, qword [rsp + 0xe20]
cmp qword [rsp + rdi*8 + 0x1a0], 0
lea rax, [rdi - 1]
cmove rdi, rax
mov rax, rbp
shr rax, 6
cmp rdi, rax
jb 0x140093a6b
mov rdi, rax
mov rbx, qword [rsp + rax*8 + 0x1a8]
shr rbx, 0x3f
mov r11, qword [rsp + rax*8 + 0x1a0]
add r11, rbx
cmp r11, rbx
jae 0x140093a1d
mov qword [rsp + rax*8 + 0x1a0], r11
lea rdi, [rax - 1]
mov qword [rsp + 0x1a0], 0
mov r10, rdi
cmp qword [rsp + rdi*8 + 0x1a0], 0xffffffffffffffff
jne 0x1400939e7
xor r9d, r9d
lea rbx, [rsp + rax*8 + 0x198]
xor eax, eax
inc r9
add rax, 0xfffffffffffffff0
lea r11, [r9 + r9]
neg r11
add r11, r10
cmp qword [rax + rbx + 8], 0xffffffffffffffff
lea rdi, [r11 + 1]
jne 0x1400939e7
mov rdi, r11
cmp qword [rax + rbx], 0xffffffffffffffff
je 0x1400939c0
test rdi, rdi
je 0x140093a01
mov r11, qword [rsp + rdi*8 + 0x1a0]
inc r11
mov qword [rsp + rdi*8 + 0x1a0], r11
jmp 0x140093a73
movabs r11, 0x8000000000000000
mov edi, 1
mov qword [rsp + 0x1a8], r11
inc rsi
jmp 0x140093a73
mov qword [rsp + rax*8 + 0x1a0], r11
test r11, r11
jne 0x140093a73
xor r11d, r11d
lea r10, [rsp + rax*8 + 0x1a0]
xor r9d, r9d
inc r11
add r9, 0xfffffffffffffff0
lea rdi, [r11 + r11]
neg rdi
cmp qword [r9 + r10 + 8], 0
lea rbx, [rax + rdi]
lea rdi, [rax + rdi + 1]
jne 0x140093a6b
mov rdi, rbx
cmp qword [r9 + r10], 0
je 0x140093a38
mov r11, qword [rsp + rbx*8 + 0x1a0]
jmp 0x140093a73
mov r11, qword [rsp + rdi*8 + 0x1a0]
test rdx, rdx
je 0x140094288
mov r15, qword [rsp + rdx*8 + 0x20]
mov r13, r15
mov r14d, r11d
lea rax, [rdi + rdx]
shr r13, 0x20
mov r12, r14
mov qword [rsp + 0xb48], rax
mov rax, r11
mov r11d, r15d
mov r10, r14
imul r12, r13
imul r10, r11
shr rax, 0x20
lea rbx, [rdi + rdx - 1]
imul r13, rax
imul r11, rax
mov r9, r12
shl r12, 0x20
movsxd rbx, ebx
add r10, r12
shr r9, 0x20
add r13, r9
xor r9d, r9d
cmp r10, r12
mov r12, r11
setb r9b
lea r15, [rsp + rbx*8 + 0x380]
shl r11, 0x20
add r10, r11
cmp r10, r11
mov qword [r15 + 8], r10
mov r10d, 0
setb r10b
xor r11d, r11d
add r13, r9
shr r12, 0x20
add r13, r12
add r13, r10
lea r10, [rdx - 1]
mov qword [r15], r13
xor r12d, r12d
mov qword [rsp + 0xcc8], rsi
lea r9, [rsp + rbx*8 + 0x400]
mov qword [rsp + 0x360], r9
lea r9, [rsp + rdx*8 + 0x18]
mov qword [rsp + 0xcd0], rdi
mov qword [rsp + 0xc70], rdx
mov qword [rsp + 0x808], rcx
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov rsi, qword [rsp + 0x360]
mov r8, qword [r9 + r12*8]
mov rdi, r8
shr rdi, 0x20
mov rdx, r14
imul rdx, rdi
imul rdi, rax
mov ebp, r8d
mov rcx, r14
imul rcx, rbp
imul rbp, rax
mov r8, rdx
inc r11
shl r8, 0x20
shr rdx, 0x20
add rcx, r8
add rdi, rdx
xor edx, edx
cmp rcx, r8
mov r8, rbp
setb dl
shl r8, 0x20
add rcx, r8
cmp rcx, r8
mov r8d, 0
setb r8b
add r13, rcx
cmp r13, rcx
mov ecx, 0
mov qword [r15 + r12*8], r13
setb cl
shr rbp, 0x20
mov r13d, r8d
add rdx, rbp
add rdi, rdx
add r13, rcx
mov qword [rsi + r12*8], 0
add r13, rdi
dec r12
cmp r11, r10
jb 0x140093b64
mov rsi, qword [rsp + 0xcc8]
lea rax, [r11*8]
neg rax
sub ebx, r11d
mov rdi, qword [rsp + 0xcd0]
mov rdx, qword [rsp + 0xc70]
mov rcx, qword [rsp + 0x808]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
mov qword [rax + r15], r13
movsxd rax, ebx
dec ebx
mov qword [rsp + rax*8 + 0x400], 0
js 0x140093c9f
movsxd rbx, ebx
inc rbx
cmp rbx, 2
jl 0x140095be8
mov r9d, ebx
xor eax, eax
and r9d, 0xfffffffe
movsxd r9, r9d
movdqu xmmword [rsp + rax*8 + 0x400], xmm0
movdqu xmmword [rsp + rax*8 + 0x380], xmm0
add rax, 2
cmp rax, r9
jb 0x140093c65
cmp r9, rbx
jae 0x140093c9f
xor eax, eax
mov qword [rsp + r9*8 + 0x400], rax
mov qword [rsp + r9*8 + 0x380], rax
inc r9
cmp r9, rbx
jb 0x140093c87
xor r10d, r10d
lea r9, [rdi - 1]
movsxd r9, r9d
test r9, r9
je 0x140093ed2
mov qword [rsp + 0xcc8], rsi
lea rbx, [rsp + r9*8 + 0x380]
mov qword [rsp + 0xcd0], rdi
lea r15, [rsp + r9*8 + 0x400]
mov qword [rsp + 0xe88], r15
lea r14, [rdx*8]
mov qword [rsp + 0xe90], r14
lea r13, [rbx + rdx*8]
mov qword [rsp + 0xe98], r13
lea r12, [rsp + rdx*8 + 0x20]
mov qword [rsp + 0xea0], r12
lea r11, [r9 + rdx]
mov qword [rsp + 0x808], rcx
lea rax, [rsp + r9*8 + 0x1a0]
mov qword [rsp + 0xcc0], r8
xor r15d, r15d
mov qword [rsp + 0xe20], rbp
mov r14, r15
mov rdi, r14
test rdx, rdx
je 0x140093e9b
mov rsi, rax
lea r8, [r10*8]
sub rsi, r8
mov r13, qword [rsp + 0xe90]
sub r13, r8
neg r8
mov qword [rsp + 0xec0], rax
mov rcx, qword [rsi]
mov rsi, rcx
mov r12, qword [rsp + r11*8 + 0x380]
shr rsi, 0x20
lea rbp, [rbx + r13]
mov ecx, ecx
add r8, qword [rsp + 0xe98]
add r13, qword [rsp + 0xe88]
mov rax, qword [rsp + 0xea0]
mov qword [rsp + 0xec8], rbx
mov qword [rsp + 0xeb8], r11
mov qword [rsp + 0xeb0], r10
mov qword [rsp + 0xea8], r9
mov r10, qword [rax + rdi*8]
mov rbx, r10
shr rbx, 0x20
mov r11, rcx
imul r11, rbx
imul rbx, rsi
mov r9d, r10d
mov r15, rcx
imul r15, r9
imul r9, rsi
mov r10, r11
dec rdi
shl r10, 0x20
shr r11, 0x20
add r15, r10
add rbx, r11
xor r11d, r11d
cmp r15, r10
mov r10, r9
setb r11b
shl r10, 0x20
add r15, r10
cmp r15, r10
mov r10d, 0
setb r10b
add r12, r15
cmp r12, r15
mov r15d, 0
setb r15b
shr r9, 0x20
add r11, r9
add rbx, r11
add r10, r15
add rbx, r10
lea r9, [r14*8]
mov r10, r8
inc r14
sub r10, r9
mov qword [r10], r12
mov r12, rbp
sub r12, r9
neg r9
add r9, r13
mov r12, qword [r12 - 8]
add r12, rbx
cmp r12, rbx
mov ebx, 0
setb bl
add qword [r9 - 0x10], rbx
cmp r14, rdx
jb 0x140093dad
shl r14, 3
xor r15d, r15d
sub r8, r14
mov rbx, qword [rsp + 0xec8]
mov rax, qword [rsp + 0xec0]
mov r11, qword [rsp + 0xeb8]
mov r10, qword [rsp + 0xeb0]
mov r9, qword [rsp + 0xea8]
mov qword [r8], r12
inc r10
dec r11
cmp r10, r9
jb 0x140093d2a
mov rsi, qword [rsp + 0xcc8]
mov rdi, qword [rsp + 0xcd0]
mov rcx, qword [rsp + 0x808]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
add rsi, qword [rsp + 0x818]
lea r13, [rdi + rdx - 1]
mov rdi, qword [rsp + 0xb48]
mov r9d, r13d
xor edx, edx
mov rax, qword [rsp + rdi*8 + 0x380]
lea r12, [rsp + rdi*8 + 0x1a0]
mov qword [r12], rax
test r9d, r9d
je 0x140093fd2
mov r14d, r9d
mov eax, 1
shr r14d, 0x1f
xor ebx, ebx
add r14d, r9d
xor r11d, r11d
sar r14d, 1
test r14d, r14d
jbe 0x140093f9f
movsxd rax, r13d
movsxd r14, r14d
mov qword [rsp + 0xe20], rbp
lea r15, [rsp + rax*8 + 0x1a0]
lea r10, [rsp + rax*8 + 0x380]
lea rax, [rsp + rax*8 + 0x400]
nop
add rdx, qword [r11 + rax]
inc rbx
mov rbp, qword [r11 + r10]
add rbp, rdx
cmp rbp, rdx
mov edx, 0
mov qword [r11 + r15], rbp
setb dl
add rdx, qword [r11 + rax - 8]
mov rbp, qword [r11 + r10 - 8]
add rbp, rdx
cmp rbp, rdx
mov edx, 0
mov qword [r11 + r15 - 8], rbp
setb dl
add r11, 0xfffffffffffffff0
cmp rbx, r14
jb 0x140093f50
mov rbp, qword [rsp + 0xe20]
lea eax, [rbx + rbx + 1]
lea ebx, [rax - 1]
cmp ebx, r9d
jae 0x140093fce
movsxd rax, eax
movsxd rbx, r13d
sub rbx, rax
add rdx, qword [rsp + rbx*8 + 0x408]
add rdx, qword [rsp + rbx*8 + 0x388]
mov qword [rsp + rbx*8 + 0x1a8], rdx
mov rax, qword [r12]
jmp 0x140093fd2
mov rax, qword [r12]
test rax, rax
jne 0x140094019
xor edx, edx
mov rbx, qword [rsp + 0xb48]
xor eax, eax
inc rdx
add rax, 0xfffffffffffffff0
lea r13, [rdx + rdx]
neg r13
add r13, rbx
cmp qword [rax + r12 + 8], 0
lea rdi, [r13 + 1]
jne 0x140095bdb
mov rdi, r13
cmp qword [rax + r12], 0
je 0x140093fe3
lea r12, [rsp + r13*8 + 0x1a0]
dec r13
mov rax, qword [rsp + 0x1a8]
test rax, rax
jle 0x140094168
add rax, rax
dec rsi
mov qword [rsp + 0x1a8], rax
xor r10d, r10d
cmp rdi, 2
jb 0x140094168
mov qword [rsp + 0xcc0], r8
lea r9, [rdi + 0x3e]
shr r9, 6
lea r11, [rdi - 1]
mov qword [rsp + 0xe20], rbp
xor ebx, ebx
movsxd rbp, r10d
mov rdx, rbp
shl rdx, 6
lea rax, [rdx + 0x40]
neg rdx
cmp r11, rax
cmovl rax, r11
add rdx, rax
cmp rdx, 2
jl 0x140095bd3
mov r14, rbp
mov rax, rdx
shl r14, 9
and rax, 0xfffffffffffffffe
xor r8d, r8d
lea r15, [rsp + r14 + 0x1a0]
mov r14, rbx
movdqu xmm1, xmmword [r15 + r14*8 + 0x10]
add r8d, 2
movdqu xmmword [rsp + r14*8 + 0x480], xmm1
add r14, 2
cmp r8, rax
jb 0x1400940a4
movsxd r8, eax
mov r14d, eax
mov eax, eax
cmp rax, rdx
jae 0x1400940f6
mov rax, rbp
shl rax, 9
lea rax, [rsp + rax + 0x1a0]
mov r15, qword [rax + r8*8 + 0x10]
inc r14d
mov qword [rsp + r8*8 + 0x480], r15
inc r8
cmp r14, rdx
jb 0x1400940de
xor eax, eax
mov r14, rbx
test rdx, rdx
je 0x14009414c
shl rbp, 9
mov r8, qword [rsp + rbp + 0x1a8]
lea r15, [rsp + rbp + 0x1a0]
mov rbx, qword [rsp + r14*8 + 0x480]
inc eax
shr rbx, 0x3f
or r8, rbx
mov qword [r15 + r14*8 + 8], r8
mov r8, qword [r15 + r14*8 + 0x10]
inc r14
add r8, r8
cmp rax, rdx
jb 0x140094114
movsxd rax, eax
xor ebx, ebx
lea rdx, [rsp + rax*8 + 0x1a0]
mov qword [rdx + rbp + 8], r8
inc r10d
cmp r10, r9
jb 0x140094063
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
cmp qword [r12], 0
mov r10, rbp
cmove rdi, r13
shr r10, 6
cmp rdi, r10
jb 0x140094280
mov rdi, r10
mov rax, qword [rsp + r10*8 + 0x1a8]
shr rax, 0x3f
mov r11, qword [rsp + r10*8 + 0x1a0]
add r11, rax
cmp r11, rax
jae 0x140094233
mov qword [rsp + r10*8 + 0x1a0], r11
lea rdi, [r10 - 1]
mov qword [rsp + 0x1a0], 0
mov r9, rdi
cmp qword [rsp + rdi*8 + 0x1a0], 0xffffffffffffffff
jne 0x1400941fd
xor ebx, ebx
lea rdx, [rsp + r10*8 + 0x198]
xor eax, eax
inc rbx
add rax, 0xfffffffffffffff0
lea r10, [rbx + rbx]
neg r10
add r10, r9
cmp qword [rax + rdx + 8], 0xffffffffffffffff
lea rdi, [r10 + 1]
jne 0x1400941fd
mov rdi, r10
cmp qword [rax + rdx], 0xffffffffffffffff
je 0x1400941d6
test rdi, rdi
je 0x140094217
mov r11, qword [rsp + rdi*8 + 0x1a0]
inc r11
mov qword [rsp + rdi*8 + 0x1a0], r11
jmp 0x140094288
movabs r11, 0x8000000000000000
inc rsi
mov qword [rsp + 0x1a8], r11
mov edi, 1
jmp 0x140094288
mov qword [rsp + r10*8 + 0x1a0], r11
test r11, r11
jne 0x140094288
xor r9d, r9d
lea rbx, [rsp + r10*8 + 0x1a0]
xor edx, edx
inc r9
add rdx, 0xfffffffffffffff0
lea rdi, [r9 + r9]
neg rdi
cmp qword [rdx + rbx + 8], 0
lea rax, [r10 + rdi]
lea rdi, [r10 + rdi + 1]
jne 0x140094280
mov rdi, rax
cmp qword [rdx + rbx], 0
je 0x14009424d
mov r11, qword [rsp + rax*8 + 0x1a0]
jmp 0x140094288
mov r11, qword [rsp + rdi*8 + 0x1a0]
test rcx, rcx
je 0x140094a7d
mov rbx, qword [rsp + rcx*8 + 0x120]
lea rax, [rcx + rdi]
mov qword [rsp + 0xc50], rax
mov r9, rbx
mov eax, r11d
mov r12, r11
shr r9, 0x20
mov r15, rax
mov r11d, ebx
mov rdx, rax
imul r15, r9
imul rdx, r11
shr r12, 0x20
lea r14, [rcx + rdi - 1]
imul r9, r12
imul r11, r12
mov r10, r15
shl r15, 0x20
movsxd r13, r14d
add rdx, r15
shr r10, 0x20
add r9, r10
xor r10d, r10d
cmp rdx, r15
mov r15, r11
setb r10b
lea rbx, [rsp + r13*8 + 0x920]
shl r11, 0x20
add rdx, r11
cmp rdx, r11
lea r11, [rcx - 1]
mov qword [rbx + 8], rdx
mov edx, 0
setb dl
add r9, r10
shr r15, 0x20
add r9, r15
add r9, rdx
movsxd rdx, r11d
xor r11d, r11d
mov qword [rbx], r9
xor r10d, r10d
test rdx, rdx
je 0x140094442
mov qword [rsp + 0xcc8], rsi
lea r15, [rsp + r13*8 + 0x9a0]
mov qword [rsp + 0xcd0], rdi
lea r14, [rsp + rdx*8 + 0x120]
mov qword [rsp + 0x808], rcx
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov r8, qword [r14 + r10*8]
mov rdi, r8
shr rdi, 0x20
mov rcx, rax
imul rcx, rdi
imul rdi, r12
mov esi, r8d
mov rbp, rax
imul rbp, rsi
imul rsi, r12
mov r8, rcx
inc r11
shl r8, 0x20
shr rcx, 0x20
add rbp, r8
add rdi, rcx
xor ecx, ecx
cmp rbp, r8
mov r8, rsi
setb cl
shl r8, 0x20
add rbp, r8
cmp rbp, r8
mov r8d, 0
setb r8b
add r9, rbp
cmp r9, rbp
mov ebp, 0
mov qword [rbx + r10*8], r9
setb bpl
shr rsi, 0x20
mov r9d, r8d
add rcx, rsi
add rdi, rcx
add r9, rbp
mov qword [r15 + r10*8], 0
add r9, rdi
dec r10
cmp r11, rdx
jb 0x140094371
mov r14d, r13d
lea rax, [r11*8]
neg rax
sub r14d, r11d
mov rsi, qword [rsp + 0xcc8]
mov rdi, qword [rsp + 0xcd0]
mov rcx, qword [rsp + 0x808]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
mov qword [rax + rbx], r9
movsxd r13, r14d
dec r14d
mov qword [rsp + r13*8 + 0x9a0], 0
js 0x1400944a8
movsxd r14, r14d
inc r14
cmp r14, 2
jl 0x140095bcc
mov edx, r14d
xor eax, eax
and edx, 0xfffffffe
movsxd rdx, edx
movdqu xmmword [rsp + rax*8 + 0x9a0], xmm0
movdqu xmmword [rsp + rax*8 + 0x920], xmm0
add rax, 2
cmp rax, rdx
jb 0x14009446e
cmp rdx, r14
jae 0x1400944a8
xor eax, eax
mov qword [rsp + rdx*8 + 0x9a0], rax
mov qword [rsp + rdx*8 + 0x920], rax
inc rdx
cmp rdx, r14
jb 0x140094490
xor r10d, r10d
lea rbx, [rdi - 1]
movsxd rbx, ebx
test rbx, rbx
je 0x1400946e1
movsxd r9, ecx
lea rax, [rsp + rbx*8 + 0x920]
mov qword [rsp + 0xcc8], rsi
lea r15, [rsp + rbx*8 + 0x9a0]
mov qword [rsp + 0xf68], r15
lea rdx, [rsp + rbx*8 + 0x1a0]
mov qword [rsp + 0xcd0], rdi
xor r15d, r15d
mov qword [rsp + 0x808], rcx
lea r14, [r9*8]
mov qword [rsp + 0xf70], r14
lea r13, [rax + r9*8]
mov qword [rsp + 0xf78], r13
lea r12, [rsp + r9*8 + 0x120]
mov qword [rsp + 0xf80], r12
lea r11, [rbx + r9]
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov r14, r15
mov rdi, r14
test r9, r9
je 0x1400946aa
mov rsi, rdx
lea r8, [r10*8]
sub rsi, r8
mov r13, qword [rsp + 0xf70]
sub r13, r8
neg r8
mov qword [rsp + 0xfa8], rax
mov rcx, qword [rsi]
mov rsi, rcx
mov r12, qword [rsp + r11*8 + 0x920]
shr rsi, 0x20
lea rbp, [rax + r13]
mov ecx, ecx
add r8, qword [rsp + 0xf78]
add r13, qword [rsp + 0xf68]
mov rax, qword [rsp + 0xf80]
mov qword [rsp + 0xfa0], rdx
mov qword [rsp + 0xf98], r11
mov qword [rsp + 0xf90], r10
mov qword [rsp + 0xf88], rbx
mov r10, qword [rax + rdi*8]
mov rdx, r10
shr rdx, 0x20
mov r11, rcx
imul r11, rdx
imul rdx, rsi
mov ebx, r10d
mov r15, rcx
imul r15, rbx
imul rbx, rsi
mov r10, r11
dec rdi
shl r10, 0x20
shr r11, 0x20
add r15, r10
add rdx, r11
xor r11d, r11d
cmp r15, r10
mov r10, rbx
setb r11b
shl r10, 0x20
add r15, r10
cmp r15, r10
mov r10d, 0
setb r10b
add r12, r15
cmp r12, r15
mov r15d, 0
setb r15b
shr rbx, 0x20
add r11, rbx
add rdx, r11
add r10, r15
add rdx, r10
lea rbx, [r14*8]
mov r10, r8
inc r14
sub r10, rbx
mov qword [r10], r12
mov r12, rbp
sub r12, rbx
neg rbx
add rbx, r13
mov r12, qword [r12 - 8]
add r12, rdx
cmp r12, rdx
mov edx, 0
setb dl
add qword [rbx - 0x10], rdx
cmp r14, r9
jb 0x1400945bc
shl r14, 3
xor r15d, r15d
sub r8, r14
mov rax, qword [rsp + 0xfa8]
mov rdx, qword [rsp + 0xfa0]
mov r11, qword [rsp + 0xf98]
mov r10, qword [rsp + 0xf90]
mov rbx, qword [rsp + 0xf88]
mov qword [r8], r12
inc r10
dec r11
cmp r10, rbx
jb 0x140094539
mov rsi, qword [rsp + 0xcc8]
mov rdi, qword [rsp + 0xcd0]
mov rcx, qword [rsp + 0x808]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
add rsi, qword [rsp + 0xc78]
lea r12, [rcx + rdi - 1]
mov rdi, qword [rsp + 0xc50]
mov ebx, r12d
xor eax, eax
mov rdx, qword [rsp + rdi*8 + 0x920]
lea r13, [rsp + rdi*8 + 0x1a0]
mov qword [r13], rdx
test ebx, ebx
je 0x1400947d9
mov r11d, ebx
mov edx, 1
shr r11d, 0x1f
xor ecx, ecx
add r11d, ebx
xor r10d, r10d
sar r11d, 1
test r11d, r11d
jbe 0x1400947a7
movsxd rdx, r12d
movsxd r11, r11d
lea r14, [rsp + rdx*8 + 0x1a0]
lea r9, [rsp + rdx*8 + 0x920]
lea rdx, [rsp + rdx*8 + 0x9a0]
nop dword [rax + rax]
nop dword [rax]
add rax, qword [r10 + rdx]
inc rcx
mov r15, qword [r10 + r9]
add r15, rax
cmp r15, rax
mov eax, 0
mov qword [r10 + r14], r15
setb al
add rax, qword [r10 + rdx - 8]
mov r15, qword [r10 + r9 - 8]
add r15, rax
cmp r15, rax
mov eax, 0
mov qword [r10 + r14 - 8], r15
setb al
add r10, 0xfffffffffffffff0
cmp rcx, r11
jb 0x140094760
lea edx, [rcx + rcx + 1]
lea ecx, [rdx - 1]
cmp ecx, ebx
jae 0x1400947d5
movsxd rdx, edx
movsxd rcx, r12d
sub rcx, rdx
add rax, qword [rsp + rcx*8 + 0x9a8]
add rax, qword [rsp + rcx*8 + 0x928]
mov qword [rsp + rcx*8 + 0x1a8], rax
mov rdx, qword [r13]
jmp 0x1400947d9
mov rdx, qword [r13]
test rdx, rdx
jne 0x140094821
xor edx, edx
mov rcx, qword [rsp + 0xc50]
xor eax, eax
inc rdx
add rax, 0xfffffffffffffff0
lea r12, [rdx + rdx]
neg r12
add r12, rcx
cmp qword [rax + r13 + 8], 0
lea rdi, [r12 + 1]
jne 0x140095bbf
mov rdi, r12
cmp qword [rax + r13], 0
je 0x1400947ea
lea r13, [rsp + r12*8 + 0x1a0]
dec r12
mov rax, qword [rsp + 0x1a8]
test rax, rax
jle 0x14009495e
add rax, rax
dec rsi
mov qword [rsp + 0x1a8], rax
xor r11d, r11d
cmp rdi, 2
jb 0x14009495e
mov qword [rsp + 0xe20], rbp
lea r9, [rdi + 0x3e]
shr r9, 6
lea r10, [rdi - 1]
xor ecx, ecx
movsxd rbx, r11d
mov rdx, rbx
shl rdx, 6
lea rax, [rdx + 0x40]
neg rdx
cmp r10, rax
cmovl rax, r10
add rdx, rax
cmp rdx, 2
jl 0x140095bb7
mov r14, rbx
mov rax, rdx
shl r14, 9
and rax, 0xfffffffffffffffe
xor ebp, ebp
lea r15, [rsp + r14 + 0x1a0]
mov r14, rcx
movdqu xmm1, xmmword [r15 + r14*8 + 0x10]
add ebp, 2
movdqu xmmword [rsp + r14*8 + 0x480], xmm1
add r14, 2
cmp rbp, rax
jb 0x1400948a3
movsxd rbp, eax
mov r14d, eax
mov eax, eax
cmp rax, rdx
jae 0x1400948f4
mov rax, rbx
shl rax, 9
lea rax, [rsp + rax + 0x1a0]
mov r15, qword [rax + rbp*8 + 0x10]
inc r14d
mov qword [rsp + rbp*8 + 0x480], r15
inc rbp
cmp r14, rdx
jb 0x1400948dc
xor eax, eax
mov r14, rcx
test rdx, rdx
je 0x14009494a
shl rbx, 9
mov rbp, qword [rsp + rbx + 0x1a8]
lea r15, [rsp + rbx + 0x1a0]
mov rcx, qword [rsp + r14*8 + 0x480]
inc eax
shr rcx, 0x3f
or rbp, rcx
mov qword [r15 + r14*8 + 8], rbp
mov rbp, qword [r15 + r14*8 + 0x10]
inc r14
add rbp, rbp
cmp rax, rdx
jb 0x140094912
movsxd rax, eax
xor ecx, ecx
lea rdx, [rsp + rax*8 + 0x1a0]
mov qword [rdx + rbx + 8], rbp
inc r11d
cmp r11, r9
jb 0x140094863
mov rbp, qword [rsp + 0xe20]
cmp qword [r13], 0
mov r9, rbp
cmove rdi, r12
shr r9, 6
cmp rdi, r9
jb 0x140094a75
mov rdi, r9
mov rax, qword [rsp + r9*8 + 0x1a8]
shr rax, 0x3f
mov r11, qword [rsp + r9*8 + 0x1a0]
add r11, rax
cmp r11, rax
jae 0x140094a29
mov qword [rsp + r9*8 + 0x1a0], r11
lea rdi, [r9 - 1]
mov qword [rsp + 0x1a0], 0
mov rbx, rdi
cmp qword [rsp + rdi*8 + 0x1a0], 0xffffffffffffffff
jne 0x1400949f3
xor ecx, ecx
lea rdx, [rsp + r9*8 + 0x198]
xor eax, eax
inc rcx
add rax, 0xfffffffffffffff0
lea r9, [rcx + rcx]
neg r9
add r9, rbx
cmp qword [rax + rdx + 8], 0xffffffffffffffff
lea rdi, [r9 + 1]
jne 0x1400949f3
mov rdi, r9
cmp qword [rax + rdx], 0xffffffffffffffff
je 0x1400949cc
test rdi, rdi
je 0x140094a0d
mov r11, qword [rsp + rdi*8 + 0x1a0]
inc r11
mov qword [rsp + rdi*8 + 0x1a0], r11
jmp 0x140094a7d
movabs r11, 0x8000000000000000
inc rsi
mov qword [rsp + 0x1a8], r11
mov edi, 1
jmp 0x140094a7d
mov qword [rsp + r9*8 + 0x1a0], r11
test r11, r11
jne 0x140094a7d
xor ebx, ebx
lea rcx, [rsp + r9*8 + 0x1a0]
xor edx, edx
inc rbx
add rdx, 0xfffffffffffffff0
lea rdi, [rbx + rbx]
neg rdi
cmp qword [rdx + rcx + 8], 0
lea rax, [r9 + rdi]
lea rdi, [r9 + rdi + 1]
jne 0x140094a75
mov rdi, rax
cmp qword [rdx + rcx], 0
je 0x140094a42
mov r11, qword [rsp + rax*8 + 0x1a0]
jmp 0x140094a7d
mov r11, qword [rsp + rdi*8 + 0x1a0]
mov rbx, qword [rsp + 0xdf8]
mov r12, r11
shr r12, 0x20
mov r15d, r11d
mov r9, qword [rsp + rbx*8 + 0xb50]
mov rdx, r9
mov r10d, r9d
mov r14, r10
imul r14, r12
shr rdx, 0x20
mov r11, r14
imul r12, rdx
shr r11, 0x20
add r12, r11
mov r11, r10
imul r11, r15
imul r15, rdx
mov rax, qword [rsp + 0xfd0]
shl r14, 0x20
add r11, r14
cmp r11, r14
lea rbx, [rdi + rax + 1]
mov r14d, 0
lea rax, [rbx - 1]
setb r14b
mov r13d, eax
movsxd rcx, eax
add r12, r14
mov r14, r15
shl r15, 0x20
add r11, r15
lea r9, [rsp + rcx*8 + 0xcf0]
cmp r11, r15
lea r15, [rdi - 1]
mov qword [r9 + 8], r11
mov r11d, 0
setb r11b
shr r14, 0x20
add r12, r14
add r12, r11
xor r14d, r14d
movsxd r11, r15d
xor r15d, r15d
mov qword [r9], r12
test r11, r11
je 0x140094c5c
mov qword [rsp + 0xcc8], rsi
lea r13, [rsp + rcx*8 + 0xd70]
mov qword [rsp + 0xce8], r13
lea r13, [rsp + r11*8 + 0x1a0]
mov qword [rsp + 0xcd0], rdi
mov dword [rsp + 0xcd8], eax
mov qword [rsp + 0xce0], rbx
mov qword [rsp + 0xcc0], r8
mov qword [rsp + 0xe20], rbp
mov rsi, r13
mov rdi, qword [rsp + 0xce8]
mov r13, qword [rsi + r15*8]
mov r8, r13
shr r8, 0x20
mov rax, r10
imul rax, r8
imul r8, rdx
mov ebp, r13d
mov rbx, r10
imul rbx, rbp
imul rbp, rdx
mov r13, rax
inc r14
shl r13, 0x20
shr rax, 0x20
add rbx, r13
add r8, rax
xor eax, eax
cmp rbx, r13
mov r13, rbp
setb al
shl r13, 0x20
add rbx, r13
cmp rbx, r13
mov r13d, 0
setb r13b
add r12, rbx
cmp r12, rbx
mov ebx, 0
mov qword [r9 + r15*8], r12
setb bl
shr rbp, 0x20
mov r12d, r13d
add rax, rbp
add r8, rax
add r12, rbx
mov qword [rdi + r15*8], 0
add r12, r8
dec r15
cmp r14, r11
jb 0x140094b87
mov eax, dword [rsp + 0xcd8]
lea r13, [r14*8]
neg r13
mov rbx, qword [rsp + 0xce0]
mov rsi, qword [rsp + 0xcc8]
mov rdi, qword [rsp + 0xcd0]
mov qword [r13 + r9], r12
mov r13d, ecx
mov r8, qword [rsp + 0xcc0]
sub r13d, r14d
mov rbp, qword [rsp + 0xe20]
movsxd r13, r13d
mov qword [rsp + r13*8 + 0xd70], 0
dec r13d
js 0x140094cc6
movsxd r13, r13d
inc r13
cmp r13, 2
jl 0x140095baf
mov r10d, r13d
xor edx, edx
and r10d, 0xfffffffe
movsxd r10, r10d
movdqu xmmword [rsp + rdx*8 + 0xd70], xmm0
movdqu xmmword [rsp + rdx*8 + 0xcf0], xmm0
add rdx, 2
cmp rdx, r10
jb 0x140094c8c
cmp r10, r13
jae 0x140094cc6
xor edx, edx
mov qword [rsp + r10*8 + 0xd70], rdx
mov qword [rsp + r10*8 + 0xcf0], rdx
inc r10
cmp r10, r13
jb 0x140094cae
xor r12d, r12d
cmp dword [rsp + 0xe00], 0
je 0x140094f1b
movsxd r10, edi
mov rdx, qword [rsp + 0xfd0]
mov qword [rsp + 0xcb0], r9
mov qword [rsp + 0xca8], rcx
mov dword [rsp + 0xcd8], eax
lea r14, [rsp + r10*8 + 0x1a0]
mov qword [rsp + 0xfc8], r14
lea r13, [rsp + rdx*8 + 0xd70]
mov qword [rsp + 0xfb8], r13
lea r15, [r10*8]
mov qword [rsp + 0xfc0], r15
lea rdi, [rsp + rdx*8 + 0xcf0]
mov qword [rsp + 0xce0], rbx
lea r11, [rsp + rdx*8 + 0xb50]
mov qword [rsp + 0xcc8], rsi
add rdx, r10
mov qword [rsp + 0xcc0], r8
xor r15d, r15d
mov qword [rsp + 0xe20], rbp
mov r14, qword [rsp + 0xfd0]
mov rax, r15
mov rbp, rax
test r10, r10
je 0x140094ed5
mov rbx, r11
lea rsi, [r12*8]
sub rbx, rsi
mov r13, rsi
neg rsi
mov r8, rdi
add rsi, rdi
sub r13, qword [rsp + 0xfc0]
mov rcx, qword [rbx]
mov rbx, rcx
sub r8, r13
neg r13
mov r9, qword [rsp + rdx*8 + 0xcf0]
lea rsi, [rsi + r10*8]
mov qword [rsp + 0xff0], rdx
shr rbx, 0x20
mov ecx, ecx
add r13, qword [rsp + 0xfb8]
mov rdx, qword [rsp + 0xfc8]
mov qword [rsp + 0xfe8], r11
mov qword [rsp + 0xfe0], rdi
mov qword [rsp + 0xfd8], r12
mov r12, qword [rdx + rbp*8]
mov rdi, r12
shr rdi, 0x20
mov r14, rcx
imul r14, rdi
imul rdi, rbx
mov r11d, r12d
mov r15, rcx
imul r15, r11
imul r11, rbx
mov r12, r14
dec rbp
shl r12, 0x20
shr r14, 0x20
add r15, r12
add rdi, r14
xor r14d, r14d
cmp r15, r12
mov r12, r11
setb r14b
shl r12, 0x20
add r15, r12
cmp r15, r12
mov r12d, 0
setb r12b
add r9, r15
cmp r9, r15
mov r15d, 0
setb r15b
shr r11, 0x20
add r14, r11
add rdi, r14
add r12, r15
add rdi, r12
lea r11, [rax*8]
mov r12, rsi
inc rax
sub r12, r11
mov qword [r12], r9
mov r9, r8
sub r9, r11
neg r11
add r11, r13
mov r9, qword [r9 - 8]
add r9, rdi
cmp r9, rdi
mov edi, 0
setb dil
add qword [r11 - 0x10], rdi
cmp rax, r10
jb 0x140094de6
shl rax, 3
xor r15d, r15d
sub rsi, rax
mov rdx, qword [rsp + 0xff0]
mov r11, qword [rsp + 0xfe8]
mov rdi, qword [rsp + 0xfe0]
mov r12, qword [rsp + 0xfd8]
mov r14, qword [rsp + 0xfd0]
mov qword [rsi], r9
inc r12
dec rdx
cmp r12, r14
jb 0x140094d67
mov r9, qword [rsp + 0xcb0]
mov rcx, qword [rsp + 0xca8]
mov eax, dword [rsp + 0xcd8]
mov rbx, qword [rsp + 0xce0]
mov rsi, qword [rsp + 0xcc8]
mov r8, qword [rsp + 0xcc0]
mov rbp, qword [rsp + 0xe20]
mov rdi, qword [rsp + rbx*8 + 0xcf0]
lea r14, [rsp + rbx*8 + 0xb50]
mov qword [r14], rdi
lea rsi, [rsi + r8 - 0x3ffe]
mov rdx, rbx
xor r13d, r13d
test eax, eax
je 0x140094ffb
mov r8d, eax
mov edi, 1
shr r8d, 0x1f
xor r12d, r12d
add r8d, eax
xor r11d, r11d
sar r8d, 1
test r8d, r8d
jbe 0x140094fcc
movsxd r8, r8d
lea rdi, [rsp + rcx*8 + 0xb50]
lea r10, [rsp + rcx*8 + 0xd70]
nop dword [rax + rax]
nop dword [rax]
add r13, qword [r11 + r10]
inc r12
mov r15, qword [r11 + r9]
add r15, r13
cmp r15, r13
mov r13d, 0
mov qword [r11 + rdi], r15
setb r13b
add r13, qword [r11 + r10 - 8]
mov r15, qword [r11 + r9 - 8]
add r15, r13
cmp r15, r13
mov r13d, 0
mov qword [r11 + rdi - 8], r15
setb r13b
add r11, 0xfffffffffffffff0
cmp r12, r8
jb 0x140094f80
lea edi, [r12 + r12 + 1]
lea r8d, [rdi - 1]
cmp r8d, eax
jae 0x140094ff8
movsxd rdi, edi
sub rcx, rdi
add r13, qword [rsp + rcx*8 + 0xd78]
add r13, qword [rsp + rcx*8 + 0xcf8]
mov qword [rsp + rcx*8 + 0xb58], r13
mov rdi, qword [r14]
jmp 0x140094ffb
mov rdi, qword [r14]
test rdi, rdi
jne 0x14009502b
xor ecx, ecx
xor eax, eax
inc rcx
add rax, 0xfffffffffffffff0
lea rdi, [rcx + rcx]
neg rdi
add rdi, rbx
cmp qword [rax + r14 + 8], 0
lea rdx, [rdi + 1]
jne 0x14009502b
mov rdx, rdi
cmp qword [rax + r14], 0
je 0x140095004
mov rax, qword [rsp + 0xb58]
test rax, rax
jle 0x140095157
add rax, rax
dec rsi
mov qword [rsp + 0xb58], rax
xor r11d, r11d
cmp rdx, 2
jb 0x140095157
xor r10d, r10d
lea rdi, [rdx + 0x3e]
shr rdi, 6
lea r12, [rdx - 1]
movsxd r8, r11d
mov r9, r8
shl r9, 6
lea rax, [r9 + 0x40]
neg r9
cmp r12, rax
cmovl rax, r12
add r9, rax
cmp r9, 2
jl 0x140095ba7
mov rax, r8
mov rbx, r9
shl rax, 9
and rbx, 0xfffffffffffffffe
xor r13d, r13d
lea rcx, [rsp + rax + 0xb50]
mov rax, r10
movdqu xmm1, xmmword [rcx + rax*8 + 0x10]
add r13d, 2
movdqu xmmword [rsp + rax*8 + 0x480], xmm1
add rax, 2
cmp r13, rbx
jb 0x1400950a7
movsxd rax, ebx
mov ecx, ebx
mov ebx, ebx
cmp rbx, r9
jae 0x1400950f5
mov rbx, r8
shl rbx, 9
lea rbx, [rsp + rbx + 0xb50]
mov r13, qword [rbx + rax*8 + 0x10]
inc ecx
mov qword [rsp + rax*8 + 0x480], r13
inc rax
cmp rcx, r9
jb 0x1400950de
xor r13d, r13d
mov rbx, r10
test r9, r9
je 0x14009514b
shl r8, 9
mov rax, qword [rsp + r8 + 0xb58]
lea rcx, [rsp + r8 + 0xb50]
mov r14, qword [rsp + rbx*8 + 0x480]
inc r13d
shr r14, 0x3f
or rax, r14
mov qword [rcx + rbx*8 + 8], rax
mov rax, qword [rcx + rbx*8 + 0x10]
inc rbx
add rax, rax
cmp r13, r9
jb 0x140095114
movsxd r13, r13d
lea rcx, [rsp + r13*8 + 0xb50]
mov qword [rcx + r8 + 8], rax
inc r11d
cmp r11, rdi
jb 0x140095066
cmp qword [rsp + rdx*8 + 0xb50], 0
lea rax, [rdx - 1]
cmove rdx, rax
test rsi, rsi
jg 0x1400911a6
neg rsi
test esi, esi
je 0x1400952db
mov r8d, esi
xor r10d, r10d
neg r8d
mov rax, qword [rsp + rdx*8 + 0xb50]
mov ecx, r8d
mov rbx, rax
shl rbx, cl
mov ecx, esi
shr rax, cl
mov qword [rsp + rdx*8 + 0xb50], rax
lea rax, [rdx - 1]
mov r9d, eax
mov qword [rsp + rdx*8 + 0xb58], rbx
test r9d, r9d
je 0x1400952d0
cdqe
lea r11d, [r9 + 0x3f]
shr r11d, 6
xor ebx, ebx
mov dword [rsp + 0xbf8], esi
lea rdi, [rsp + rax*8 + 0xb50]
mov esi, r10d
mov r13, rbx
shl esi, 6
mov r15, r13
mov r14, r15
lea eax, [rsi + 0x40]
neg esi
cmp r9d, eax
cmovl eax, r9d
add esi, eax
je 0x140095230
movsxd rcx, r10d
mov r12, rcx
shl r12, 9
shl rcx, 6
neg r12
movsxd rax, eax
neg rcx
add r12, rdi
add rcx, rax
mov rbx, qword [r14 + r12]
inc r13
mov qword [rsp + r15 + 0x480], rbx
add r14, 0xfffffffffffffff8
add r15, 8
cmp r13, rcx
jb 0x140095212
xor ebx, ebx
mov r14, rbx
test esi, esi
je 0x1400952bc
movsxd r12, r10d
mov r13, r12
shl r13, 9
neg r13
shl r12, 6
movsxd rax, eax
neg r12
mov qword [rsp + 0xe20], rbp
add r12, rax
mov rax, qword [rdi + r13 + 8]
lea rsi, [rdi + r13]
mov r15d, dword [rsp + 0xbf8]
mov ecx, r8d
lea rbp, [r14*8]
neg rbp
add rbp, rsi
mov rbx, qword [rsp + r14*8 + 0x480]
inc r14
shl rbx, cl
mov ecx, r15d
or rax, rbx
mov qword [rbp + 8], rax
mov rax, qword [rbp]
shr rax, cl
cmp r14, r12
jb 0x14009526e
shl r14, 3
lea rsi, [rdi + r13 + 8]
sub rsi, r14
xor ebx, ebx
mov rbp, qword [rsp + 0xe20]
mov qword [rsi], rax
inc r10d
cmp r10d, r11d
jb 0x1400951d6
mov rbx, qword [rsp + rdx*8 + 0xb58]
test rbx, rbx
lea rax, [rdx + 1]
cmovne rdx, rax
mov rdi, qword [rsp + 0xe30]
mov esi, 0x27
cmp rdi, 0x27
mov r8, qword [rsp + 0xed0]
cmovle rsi, rdi
mov r13, qword [rsp + 0xe40]
mov rbx, r13
mov byte [r8], 0x30
xor r8d, r8d
cmp esi, dword [rsp + 0xe38]
jle 0x1400954fc
sub esi, dword [rsp + 0xe38]
je 0x1400954fc
mov qword [rsp + 0xe20], rbp
xor edi, edi
mov qword [rsp + 0xe18], rbx
xor ecx, ecx
mov r15d, 1
mov qword [rsp + 0xb50], 0
xor r14d, r14d
test rdx, rdx
je 0x1400954ce
mov ebp, edx
mov rax, rcx
mov r14, qword [rsp + rdx*8 + 0xb50]
mov qword [rsp + rdx*8 + 0xb50], 0
test ebp, ebp
je 0x1400954bb
mov ebx, ebp
mov r10, rcx
shr ebx, 0x1f
mov eax, r15d
add ebx, ebp
mov r9, r10
sar ebx, 1
test ebx, ebx
jbe 0x14009544a
movsxd r11, edx
movsxd rax, ebx
lea r12, [rsp + r11*8 + 0xb50]
mov r11, qword [r12]
xor ebx, ebx
lea r15, [r14 + r14*4]
cmp r15, r14
lea r11, [r11 + r15*2]
mov qword [r9 + r12], r11
setb bl
inc r10
shr r14, 0x3e
add r14, rbx
mov rbx, r15
add r15, r15
add r14, r14
cmp r11, r15
mov r15d, 0
mov r11, qword [r9 + r12 - 8]
setb r15b
shr rbx, 0x3f
or r14, rbx
add r14, r15
lea r15, [r11 + r11*4]
xor ebx, ebx
cmp r15, r11
setb bl
shr r11, 0x3e
lea r14, [r14 + r15*2]
add r11, rbx
mov rbx, r15
add r15, r15
add r11, r11
cmp r14, r15
mov r15d, 0
mov qword [r9 + r12 - 8], r14
setb r15b
shr rbx, 0x3f
or r11, rbx
mov r14, qword [r9 + r12 - 0x10]
add r11, r15
add r9, 0xfffffffffffffff0
cmp r10, rax
jb 0x1400953a3
mov r15d, 1
lea eax, [r10 + r10 + 1]
shl r10, 4
neg r10
mov qword [r12 + r10], r11
lea r9d, [rax - 1]
cmp r9d, ebp
jae 0x1400954b3
movsxd rbx, eax
lea rbp, [r14 + r14*4]
movsxd rax, edx
xor r9d, r9d
cmp rbp, r14
lea r11, [rbp + rbp]
setb r9b
sub rax, rbx
shr r14, 0x3e
add r14, r9
xor r9d, r9d
mov r10, qword [rsp + rax*8 + 0xb58]
add r14, r14
lea r12, [r10 + rbp*2]
shr rbp, 0x3f
cmp r12, r11
mov qword [rsp + rax*8 + 0xb58], r12
setb r9b
or r14, rbp
add r14, r9
mov qword [rsp + rax*8 + 0xb50], r14
mov rax, qword [rsp + rdx*8 + 0xb50]
jmp 0x1400954bb
mov rax, qword [rsp + rdx*8 + 0xb50]
test rax, rax
lea rbp, [rdx - 1]
mov r14d, dword [rsp + 0xb50]
cmove rdx, rbp
inc edi
lea eax, [r14 + 0x30]
mov byte [r13], al
add r8, 0x35269
inc r13
cmp edi, esi
jb 0x14009533e
mov rbp, qword [rsp + 0xe20]
mov rbx, qword [rsp + 0xe18]
jmp 0x140095504
mov r14d, dword [rsp + 0xb50]
add r8, 0xffff
lea r12, [rbp + 0x3f]
and r12, 0xffffffffffffffc0
movabs r11, 0x8000000000000000
mov rax, r12
shr r8, 0x10
sub rax, rbp
add rax, r8
mov esi, eax
mov ecx, esi
mov r10, qword [rsp + 0xe48]
mov r8, qword [rsp + 0xb58]
shl r10, cl
mov byte [r13], 0
add r11, r8
je 0x140095567
movabs rdx, 0x8000000000000000
mov edi, 1
cmp rdx, r11
mov edx, 0
cmovne edx, edi
jmp 0x140095569
xor edx, edx
xor r15d, r15d
mov r9d, 1
test r11, r11
cmovns r15d, r9d
and r14d, 1
mov edi, dword [rsp + 0xe50]
lea edi, [r15 + rdi*8]
lea r9d, [r14 + r14]
lea r14d, [rdi + r14*2]
lea ecx, [r14 + rdx*4]
mov rdx, qword [rsp + 0xe28]
shr rdx, cl
lea rdi, [r11 + r10]
and rdx, 1
lea r14, [r10 + r10]
cmp rdi, r14
mov r14, r12
mov edi, 0
setbe dil
sub r14, rax
cmp r14, 0x40
jb 0x140095797
movabs rdi, 0x8000000000000000
lea r8, [rdi + r8 + 1]
cmp r8, 1
ja 0x140095b61
shr rax, 6
mov ecx, esi
shr r12, 6
sub r12, rax
mov r10, qword [rsp + 0xe48]
mov edx, r12d
shl r10, cl
mov esi, edx
mov rdi, r10
mov r8, r10
cmp edx, 1
jle 0x14009573b
mov ecx, 1
lea r14d, [rdx - 1]
shr r14d, 0x1f
xor eax, eax
xor r15d, r15d
lea r14d, [rdx + r14 - 1]
sar r14d, 1
test r14d, r14d
jbe 0x1400956da
movsxd r12, r12d
mov qword [rsp + 0xe18], rbx
mov qword [rsp + 0xbe0], r13
lea r12, [rsp + r12*8 + 0xb50]
nop word [rax + rax]
mov r13, qword [r15 + r12]
xor ebx, ebx
test r13, r13
cmovne ebx, ecx
add rdi, r13
neg r8
cmp rdi, r13
mov edi, 0
setb dil
add r8, r13
cmp r8, r13
mov r8d, 0
seta r8b
xor r13d, r13d
or r11, rbx
mov rbx, qword [r15 + r12 - 8]
test rbx, rbx
cmovne r13d, ecx
add rdi, rbx
neg r8
cmp rdi, rbx
mov edi, 0
setb dil
add r8, rbx
cmp r8, rbx
mov r8d, 0
seta r8b
inc eax
or r11, r13
add r15, 0xfffffffffffffff0
cmp eax, r14d
jb 0x140095650
mov rbx, qword [rsp + 0xe18]
lea ecx, [rax + rax + 1]
add eax, eax
neg eax
mov r13, qword [rsp + 0xbe0]
add edx, eax
lea r12d, [rcx - 1]
lea r14d, [rsi - 1]
cmp r12d, r14d
jae 0x140095b93
movsxd rsi, esi
xor r12d, r12d
mov edx, esi
neg r8
sub edx, ecx
xor r15d, r15d
movsxd rcx, ecx
sub rsi, rcx
mov r14, qword [rsp + rsi*8 + 0xb58]
mov esi, 1
test r14, r14
cmovne r12d, esi
add rdi, r14
cmp rdi, r14
mov edi, 0
setb dil
add r8, r14
cmp r8, r14
mov r8d, 0
seta r8b
or r11, r12
cmovge r15d, esi
movsxd rdx, edx
mov rsi, qword [rsp + rdx*8 + 0xb50]
add rdi, rsi
sub rsi, r8
xor rdi, rsi
shr rdi, 0x3f
test r11, r11
je 0x140095773
movabs rdx, 0x8000000000000000
xor r8d, r8d
mov esi, 1
cmp rdx, r11
cmovne r8d, esi
jmp 0x140095776
xor r8d, r8d
mov edx, dword [rsp + 0xe50]
lea esi, [r9 + rdx*8]
mov rdx, qword [rsp + 0xe28]
add esi, r15d
lea ecx, [rsi + r8*4]
shr rdx, cl
and rdx, 1
test edi, edi
je 0x140095b61
test r10, r10
je 0x140095b61
cmp rbp, 0x80
jae 0x140095b13
mov ebp, 0x80
jmp 0x140091451
mov rdx, qword [rsp + 0xc70]
lea r8, [0x140000000]
mov rbp, qword [rsp + 0xe20]
jmp 0x1400925ee
cmp r8, 0x10
jl 0x140095825
mov rsi, r8
xor edx, edx
movdqu xmm0, xmmword [0x14014e4c0]
and rsi, 0xfffffffffffffff0
mov rdi, rbx
movdqu xmmword [rdx + rdi], xmm0
add rdx, 0x10
cmp rdx, rsi
jb 0x1400957f5
cmp rsi, r8
jae 0x1400904cf
mov rdx, qword [rsp + 0xed0]
mov byte [rsi + rdx], 0x30
inc rsi
cmp rsi, r8
jb 0x140095814
jmp 0x1400904cf
xor esi, esi
jmp 0x140095803
mov rdx, qword [rsp + 0xc68]
dec rbx
add dword [rdx], edi
cmp dword [rsp + 0xcb8], 0
je 0x140090fe0
inc r12
mov rdx, qword [rsp + 0xfb0]
cmp r12, rdx
cmovge r12, rdx
jmp 0x140090fe0
movsx r9d, byte [r13 - 1]
jmp 0x140090fb8
cmp r12d, 0x10
jl 0x1400958a8
mov edx, r12d
xor esi, esi
movdqu xmm0, xmmword [0x14014e4c0]
and edx, 0xfffffff0
add esi, 0x10
movdqu xmmword [r13], xmm0
add r13, 0x10
cmp esi, edx
jb 0x14009587b
cmp edx, r12d
jae 0x1400958a0
inc edx
mov byte [r13], 0x30
inc r13
cmp edx, r12d
jb 0x140095891
inc rdi
jmp 0x140091048
xor edx, edx
jmp 0x14009588c
test r11, r11
jne 0x140090cdf
cmp rcx, r15
jae 0x1400958d0
inc rcx
mov r11d, 0x10
mov r14, qword [rsp + rcx*8 + 0xb50]
jmp 0x140090cdf
mov dword [rsp + 0x48], ebp
mov esi, dword [rsp + 0xc18]
mov rbx, qword [rsp + 0xe18]
mov r12, qword [rsp + 0xe30]
mov rdx, qword [rsp + 0xe28]
mov r11, qword [rsp + 0xc08]
mov ebp, dword [rsp + 0xc10]
jmp 0x140090e39
mov qword [rsp + 0x20], 0
test r12, r12
ja 0x140090de1
jmp 0x140090e49
mov r13d, dword [rsp + 0x20]
mov r12d, dword [rsp + 0x28]
cmp r12d, r13d
cmovl r13d, r12d
mov r12, rcx
sar r12, 1
shr r12, 0x3e
movsxd r13, r13d
lea r12, [r12 + r10 - 0x3ffe]
sar r12, 2
add r12, r13
shl r13, 2
neg r13
mov qword [rsp + 0x30], r13
cmp rcx, r13
jge 0x140090a87
test r12, r12
jge 0x140090a87
mov eax, dword [rsp + 0xe50]
add qword [rsp + 0x30], 4
lea ecx, [rax*8 + 4]
shr rdx, cl
and rdx, 1
test edx, edx
je 0x140090434
mov rax, qword [rsp + 0xed0]
lea rdx, [rax + 1]
mov qword [rsp + 0xe40], rdx
mov rbx, qword [rsp + 0xed0]
mov rdx, qword [rsp + 0xc68]
mov rax, qword [rsp + 0x30]
mov byte [rbx], 0x31
mov dword [rdx], eax
xor edx, edx
mov r13, qword [rsp + 0xe40]
jmp 0x14009104f
test ebx, ebx
jne 0x1400959eb
cmp dword [rsp + 0xc38], 0
je 0x1400959dc
test r12, r12
js 0x1400959eb
cmp dword [rsp + 0xc20], 0
jne 0x140095a01
jmp 0x140091280
mov rax, qword [rsp + 0xc68]
mov ebp, dword [rsp + 0xc10]
mov dword [rax], esi
jmp 0x140090434
mov eax, dword [rsp + 0xe50]
mov rdx, qword [rsp + 0xe28]
mov ebp, dword [rsp + 0xc10]
lea ecx, [rax*8 + 4]
shr rdx, cl
test rdx, 1
je 0x140095a50
mov rax, qword [rsp + 0xc60]
mov edx, 1
xor ecx, ecx
test eax, eax
cmovne edx, ecx
neg eax
movsxd rax, eax
add rax, rdx
mov qword [rsp + 0x30], rax
jmp 0x1400959a0
mov rax, qword [rsp + 0xc68]
mov dword [rax], esi
jmp 0x140090434
mov r11, qword [rsp + 0x1a8]
jmp 0x140094a7d
mov rax, rdx
jmp 0x140091aa1
lea rcx, [rsp + rdi*8 + 0x1a8]
jmp 0x1400919fe
xor ebx, ebx
jmp 0x14009174a
mov r12, rax
mov rbx, r12
neg rbx
lea rdx, [0x140000000]
mov rax, rbx
shr rax, 3
movsxd r9, eax
movzx ecx, word [rdx + r9*2 + 0x14f420]
lea rsi, [r9 + 1]
shr ecx, 5
cmp rcx, rbx
cmovl r9, rsi
movzx r11d, word [rdx + r9*2 + 0x14f420]
mov r10d, r11d
shr r11d, 5
and r10d, 0x1f
movsx rax, word [rdx + r10*2 + 0x14f57a]
add r11, r12
movsxd r9, r11d
mov rcx, qword [rdx + r10*8 + 0x14f3a0]
jmp 0x14009162c
mov rax, rsi
jmp 0x140092327
lea rbp, [rsp + rdx*8 + 0x128]
jmp 0x140092277
xor r8d, r8d
jmp 0x140091eab
mov r11, qword [rsp + 0x1b0]
jmp 0x140094288
mov r10d, dword [rsp + 0xe50]
mov rdx, qword [rsp + 0xe28]
mov r8d, dword [rsp + 0xc28]
mov edi, dword [rsp + 0xc30]
lea ecx, [r9 + r10*8 + 1]
shr rdx, cl
and rdx, 1
mov esi, dword [rsp + 0xc18]
mov r12, qword [rsp + 0xe30]
mov r11, qword [rsp + 0xc08]
mov ebp, dword [rsp + 0xc10]
jmp 0x140090f7a
mov r8d, dword [rsp + 0xc28]
mov edi, dword [rsp + 0xc30]
mov esi, dword [rsp + 0xc18]
mov r12, qword [rsp + 0xe30]
mov r11, qword [rsp + 0xc08]
mov ebp, dword [rsp + 0xc10]
jmp 0x140090f7a
xor r15d, r15d
mov esi, 1
test r11, r11
cmovge r15d, esi
jmp 0x14009573b
mov rbx, r10
jmp 0x1400950c3
xor r10d, r10d
jmp 0x140094ca7
mov rax, rcx
jmp 0x1400948c0
lea r13, [rsp + r12*8 + 0x1a8]
jmp 0x140094821
xor edx, edx
jmp 0x140094489
mov rax, rbx
jmp 0x1400940c2
lea r12, [rsp + r13*8 + 0x1a8]
jmp 0x140094019
xor r9d, r9d
jmp 0x140093c80
mov rax, rbx
jmp 0x1400938a9
xor r11d, r11d
jmp 0x140093428
mov rax, qword [0x14014ed28]
mov edi, 2
mov r11, qword [0x14014ed20]
movsx rsi, word [0x14014eea2]
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], r11
jmp 0x140093a73
mov rdi, rax
lea rbx, [0x140000000]
neg rdi
mov r9, rdi
shr r9, 3
movsxd r12, r9d
movzx esi, word [rbx + r12*2 + 0x14ec40]
lea r11, [r12 + 1]
shr esi, 5
cmp rsi, rdi
cmovl r12, r11
movzx r14d, word [rbx + r12*2 + 0x14ec40]
mov r13d, r14d
shr r14d, 5
and r13d, 0x1f
add rax, r14
movsxd r9, eax
movsx rax, word [rbx + r13*2 + 0x14ee86]
shl r13, 4
mov qword [rsp + 0x818], rax
mov r15, qword [rbx + r13 + 0x14eba8]
mov rax, qword [rbx + r13 + 0x14eba0]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], rax
jmp 0x1400930c5
mov rax, rsi
jmp 0x140092d66
lea r12, [rsp + r8*8 + 0x128]
jmp 0x140092ca6