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

Disassembly:
sub rsp, 0x68
mov r11, qword [rsp + 0x98]
mov eax, dword [r11 + 0x28]
add eax, 0xfffffffe
cmp eax, 0x3f
ja case.0x140076e72.14
mov qword [rsp + 0x60], rbx
lea rbx, [0x140000000]
cdqe
movzx eax, byte [rbx + rax + 0x76f7c]
mov r10d, dword [rbx + rax*4 + 0x76f48]
add r10, rbx
mov rbx, qword [rsp + 0x60]
jmp r10
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140076fc0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140077e80
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140079e10
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400805a0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400842e0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14007b3c0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14007cfe0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14007e7d0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140081b20
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140078cc0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140082d70
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400858c0
add rsp, 0x68
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push r12
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r12, qword [rbp + 0x5f]
mov r15, rdx
mov r10, qword [rbp + 0x77]
mov rax, rcx
mov r14, qword [rbp + 0x7f]
mov edx, 1
mov r11, r9
mov qword [rbp - 0x29], r14
mov ecx, dword [r12 + 8]
mov r9, r8
mov r10, qword [r10]
lea r8, [rax + r15]
shl rdx, cl
mov rcx, qword [r12 + 0x10]
sub rdx, 0x10
mov qword [rbp - 0x79], rdx
mov qword [rbp - 0x71], rcx
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x58], r8
cmp rax, 8
jb 0x14007703e
lea rax, [r8 - 7]
mov qword [rbp - 0x49], rax
jmp 0x140077042
mov qword [rbp - 0x49], r15
cmp dword [r12 + 4], 9
mov eax, 0x200
mov ebx, 0x40
cmovl eax, ebx
mov qword [rbp - 0x41], rax
add rax, r15
mov qword [rsp + 8], rax
lea rax, [r15 + 8]
cmp rax, r8
jae 0x140077e51
mov qword [rsp + 0xd8], rsi
mov eax, r11d
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], r13
mov dword [rbp + 0x37], eax
mov dword [rsp + 0x50], eax
mov rsi, qword [rbp + 0x67]
lea rax, [rcx + r15]
mov rcx, qword [rbp + 0x3f]
sub r8, r15
cmp r15, rdx
mov qword [rsp], r8
mov r14, rdx
mov qword [rsp + 0x10], 0x7e4
mov rsi, qword [rsi + 0x38]
cmovb r14, r15
cmp rax, rdx
mov dword [rbp - 0x51], 0
mov r13, rdx
cmovb r13, rax
xor eax, eax
mov qword [rsp + 0x18], rax
mov qword [rbp - 0x61], rax
mov rax, qword [r12 + 0x50]
mov r12, r11
and r12, r15
mov qword [rsp + 0x28], rax
add r12, r9
movabs rax, 0xbd1e35a7bd000000
mov rbx, qword [r12]
movzx edi, byte [r12]
imul rbx, rax
mov rax, qword [rbp + 0x6f]
shr rbx, 0x30
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, qword [rbp + 0x3f]
jae 0x1400771f3
mov r11d, dword [rbp + 0x37]
and r11, rcx
add r11, r9
cmp dil, byte [r11]
jne 0x1400771f3
mov rax, r8
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x140077172
mov r10, r11
sub r10, r12
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x1400771d9
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140077150
mov r8, qword [rsp]
and r8d, 7
je 0x140077193
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140077193
inc rcx
sub r8, 1
jne 0x140077180
mov rax, rcx
cmp rax, 4
jb 0x1400771ea
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x1400771ea
mov rdi, qword [rsp]
mov r8, rax
mov r12, qword [rbp + 0x5f]
mov qword [rbp - 0x61], r15
mov r15, qword [rbp + 0x3f]
mov dword [rsi + rbx*4], r15d
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x10], rcx
jmp 0x14007747d
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140077196
mov r10, qword [rsp + 0x20]
mov r9, qword [rbp + 0x47]
mov edx, dword [rsi + rbx*4]
mov r15, qword [rbp + 0x3f]
mov r11d, dword [rbp + 0x37]
mov dword [rsi + rbx*4], r15d
and r11, rdx
add r11, r9
mov rbx, r15
sub rbx, rdx
cmp dil, byte [r11]
jne 0x140077d00
test rbx, rbx
je 0x140077d00
cmp rbx, r14
ja 0x140077d00
mov rdi, qword [rsp]
xor ecx, ecx
mov rax, rdi
mov rdx, r12
shr rax, 3
test rax, rax
je 0x14007725e
mov r10, r11
sub r10, r12
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x1400772c4
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140077244
mov r8, rdi
and r8d, 7
je 0x140077283
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140077283
inc rcx
sub r8, 1
jne 0x140077270
mov rdx, rcx
cmp rdx, 4
jb 0x1400772d5
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x1400772d5
mov r12, qword [rbp + 0x5f]
mov r8, rdx
mov qword [rsp + 0x18], rdx
mov qword [rbp - 0x61], rbx
mov qword [rsp + 0x10], rax
jmp 0x14007747d
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140077286
mov r8, qword [rbp + 0x67]
mov rbx, qword [r8 + 0x30]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x140077cec
imul ecx, dword [r12], 0x1e35a7bd
lea rax, [rdx + 1]
mov r8, qword [rbp + 0x5f]
mov qword [rbx + 8], rax
mov rax, qword [r8 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x140077475
mov rax, qword [r8 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x140077475
mov rdi, qword [r8 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x14007738e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140077454
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140077370
mov r8, r11
and r8d, 7
je 0x1400773b3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x1400773b3
inc rcx
sub r8, 1
jne 0x1400773a0
mov r9, rcx
mov r12, qword [rbp + 0x5f]
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007746f
test r9, r9
je 0x14007746f
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r12 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rsi
add rdx, r13
cmp rdx, qword [rsp + 0x28]
ja 0x14007746f
mov rdi, qword [rsp]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp + 0x10]
add rax, 0x780
cmp rax, rcx
jb 0x140077468
mov qword [rsp + 0x10], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x18], r9
mov qword [rbx + 0x10], rax
mov r8, r9
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
jmp 0x14007747d
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400773b6
mov r8, qword [rsp + 0x18]
jmp 0x140077482
mov rdi, qword [rsp]
jmp 0x140077478
mov r12, r8
mov r8, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
cmp rcx, 0x7e4
jbe 0x140077cf7
mov ebx, dword [rsp + 0x50]
lea rdx, [r15 + 1]
mov qword [rsp + 8], rdx
mov dword [rsp + 0x28], 0
mov dword [rbp + 0x37], ebx
dec rdi
cmp dword [r12 + 4], 5
mov qword [rsp], rdi
jge 0x1400774c6
lea rax, [r8 - 1]
mov r11, rdi
cmp rax, rdi
cmovb r11, rax
jmp 0x1400774c9
xor r11d, r11d
mov r8, qword [rbp - 0x79]
mov rax, qword [rbp - 0x71]
cmp rdx, r8
mov r12, r8
mov qword [rsp + 0x30], r11
cmovb r12, rdx
mov qword [rsp + 0x38], 0
add rax, rdx
mov qword [rsp + 0x40], 0x7e4
cmp rax, r8
mov dword [rsp + 0x48], 0
mov rcx, r8
mov r8, qword [rbp + 0x5f]
cmovb rcx, rax
mov qword [rbp - 0x39], rcx
mov rcx, rdx
and rcx, qword [rbp + 0x4f]
mov rax, qword [r8 + 0x50]
mov r8, qword [rbp + 0x47]
mov rdi, qword [rcx + r8]
lea r13, [rcx + r8]
mov qword [rbp - 0x31], rax
mov rax, qword [rbp + 0x67]
mov rsi, qword [rax + 0x38]
lea rax, [rcx + r11]
movzx r14d, byte [rax + r8]
mov rcx, rdx
movabs rax, 0xbd1e35a7bd000000
imul rdi, rax
mov rax, qword [rbp + 0x6f]
shr rdi, 0x30
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, rdx
jae 0x1400776c1
mov eax, ebx
and rcx, rax
lea rax, [rcx + r11]
cmp r14b, byte [rax + r8]
jne 0x1400776c1
mov rax, qword [rsp]
lea rbx, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x1400775c2
mov r10, rbx
sub r10, r13
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x1400776ad
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400775a0
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x1400775e2
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x1400775e2
inc rcx
sub r8, 1
jne 0x1400775d0
mov rax, rcx
mov rdx, qword [rsp + 8]
cmp rax, 4
jb 0x1400776c1
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x1400776c1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], rcx
mov dword [rsi + rdi*4], edx
mov rdi, qword [rsp]
mov r12, qword [rbp + 0x5f]
mov rax, qword [rsp + 0x10]
mov r15, qword [rbp + 0x3f]
add rax, 0xaf
mov r13, qword [rsp + 0x20]
cmp qword [rsp + 0x40], rax
jb 0x140077955
mov ecx, dword [rsp + 0x28]
inc r15
movups xmm0, xmmword [rsp + 0x30]
inc ecx
inc rdx
movups xmm1, xmmword [rsp + 0x40]
inc r13
mov qword [rbp + 0x3f], r15
mov qword [rsp + 8], rdx
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x28], ecx
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x14007794a
lea rax, [rdx + 7]
cmp rax, qword [rsp + 0x58]
jae 0x14007794a
mov r15, qword [rbp - 0x59]
mov r8, qword [rbp - 0x69]
mov ebx, dword [rbp + 0x37]
mov qword [rsp + 0x10], r15
mov qword [rsp + 0x18], r8
jmp 0x1400774a7
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x1400775e5
mov ecx, dword [rsi + rdi*4]
mov rbx, rdx
mov r8d, dword [rbp + 0x37]
sub rbx, rcx
and r8, rcx
mov dword [rsi + rdi*4], edx
mov rcx, qword [rbp + 0x47]
lea rax, [r8 + r11]
cmp r14b, byte [rax + rcx]
jne 0x140077621
test rbx, rbx
je 0x140077621
mov rdi, qword [rsp]
cmp rbx, r12
ja 0x140077625
lea r11, [r8 + rcx]
xor eax, eax
mov r8, rdi
mov rdx, r13
shr r8, 3
test r8, r8
je 0x14007773a
mov r10, r11
sub r10, r13
nop word [rax + rax]
mov rcx, qword [rdx]
mov r9, qword [rdx + r10]
cmp rcx, r9
jne 0x140077799
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140077720
mov r8, rdi
and r8d, 7
je 0x140077759
sub rdx, rax
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x140077759
inc rax
sub r8, 1
jne 0x140077746
mov rdx, rax
cmp rdx, 4
jb 0x1400777aa
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x1400777aa
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 8]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
jmp 0x140077625
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14007775c
mov rax, qword [rbp + 0x67]
mov r12, qword [rbp + 0x5f]
mov rbx, qword [rax + 0x30]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x14007791e
imul ecx, dword [r13], 0x1e35a7bd
lea rax, [rdx + 1]
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x14007791e
mov rax, qword [r12 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x14007791e
mov rdi, qword [r12 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x14007785e
mov r10, r13
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140077928
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140077840
mov r8, r11
and r8d, 7
je 0x140077883
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r13], al
jne 0x140077883
inc rcx
sub r8, 1
jne 0x140077870
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007793c
test r9, r9
je 0x14007793c
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r12 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x39]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x31]
ja 0x14007793c
mov rdi, qword [rsp]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x14007791e
mov qword [rsp + 0x40], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x30], r9
mov qword [rbx + 0x10], rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 8]
jmp 0x140077629
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140077886
mov rdx, qword [rsp + 8]
mov rdi, qword [rsp]
jmp 0x140077629
mov rax, qword [rbp - 0x69]
mov qword [rsp + 0x18], rax
jmp 0x14007795a
mov rax, qword [rsp + 0x18]
mov r10, qword [rbp - 0x79]
mov rcx, qword [rbp - 0x41]
mov rbx, qword [rbp - 0x61]
lea r11, [rcx + rax*2]
mov rax, qword [rbp - 0x71]
add r11, r15
add rax, r15
cmp rax, r10
mov qword [rsp + 8], r11
mov r11, qword [rbp + 0x6f]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140077a0b
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rbx, rax
jne 0x1400779aa
xor r8d, r8d
jmp 0x140077a0f
cmp rbx, r9
jne 0x1400779b7
mov r8d, 1
jmp 0x140077a0f
cmp r8, 7
jae 0x1400779d3
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140077a0f
cmp rcx, 7
jae 0x1400779eb
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140077a0f
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x1400779fc
mov r8d, 2
jmp 0x140077a0f
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140077a0f
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x140077a2f
test r8, r8
je 0x140077a2f
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdx], eax
mov dword [r11], ebx
mov rcx, qword [rbp + 0x7f]
mov esi, dword [rbp - 0x51]
mov r11, qword [rsp + 0x18]
movzx eax, sil
shl eax, 0x19
or eax, r11d
mov dword [rcx], r13d
mov dword [rcx + 4], eax
mov r14d, dword [r12 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140077a5d
xor edi, edi
jmp 0x140077ad7
mov r11d, dword [r12 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x18]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x7f]
lea edx, [r11 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r13, 6
jae 0x140077b05
movzx r10d, r13w
mov ecx, 0x17
jmp 0x140077b76
cmp r13, 0x82
jae 0x140077b2f
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x140077b76
mov ecx, 0x17
cmp r13, 0x842
jae 0x140077b4c
lea eax, [r13 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x140077b76
cmp r13, 0x1842
jae 0x140077b5d
mov r10d, 0x15
jmp 0x140077b76
mov r10d, 0x16
cmp r13, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp r9, 0xa
jae 0x140077b83
sub r9w, 2
jmp 0x140077bc3
cmp r9, 0x86
jae 0x140077ba8
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140077bc3
cmp r9, 0x846
jae 0x140077bbf
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140077bc3
movzx r9d, cx
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140077bfb
cmp r10w, 8
jae 0x140077bfb
cmp r9w, 0x10
jae 0x140077bfb
cmp r9w, 8
jb 0x140077c2f
or dx, 0x40
jmp 0x140077c2f
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x8f]
xor r10d, r10d
mov r8, qword [rbp - 0x49]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp + 0x7f], r14
lea rdx, [r15 + 2]
add qword [rax], r13
lea rax, [r11 + r15]
cmp rax, r8
mov qword [rsp + 0x20], r10
cmovb r8, rax
mov rax, r11
shr rax, 2
cmp rbx, rax
jae 0x140077c96
lea rax, [rbx*4]
mov rcx, r11
sub rcx, rax
lea rax, [rcx + r15]
cmp rdx, rax
mov eax, 2
cmova rcx, rax
lea rdx, [r15 + rcx]
cmp r8, rdx
cmovb rdx, r8
cmp rdx, r8
jae 0x140077ce0
mov r9, qword [rbp + 0x47]
movabs r14, 0xbd1e35a7bd000000
mov r12, qword [rbp + 0x67]
mov r10, qword [rbp + 0x4f]
mov rax, r10
and rax, rdx
mov rcx, qword [rax + r9]
mov rax, qword [r12 + 0x38]
imul rcx, r14
shr rcx, 0x30
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x140077cb1
mov r12, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x20]
mov r14, qword [rbp + 0x7f]
add r15, r11
mov qword [rbp + 0x3f], r15
jmp 0x140077e17
mov r9, qword [rbp + 0x47]
mov r10, qword [rsp + 0x20]
jmp 0x140077d04
mov r9, qword [rbp + 0x47]
mov r10, qword [rsp + 0x20]
mov r8, qword [rbp + 0x67]
mov r11, qword [rsp + 8]
inc r10
inc r15
mov qword [rsp + 0x20], r10
mov qword [rbp + 0x3f], r15
cmp r15, r11
jbe 0x140077e0f
mov rax, qword [rbp - 0x41]
mov rdx, qword [rsp + 0x58]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r15, rax
jbe 0x140077da8
mov r11, qword [rbp + 0x4f]
lea rax, [r15 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140077e05
add r10, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
mov rax, r11
and rax, r15
mov rcx, qword [rax + r9]
mov rax, qword [r8 + 0x38]
imul rcx, r10
shr rcx, 0x30
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x140077d72
mov r12, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x20]
mov r14, qword [rbp + 0x7f]
mov qword [rbp + 0x3f], r15
jmp 0x140077e1b
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140077e0f
mov r11, qword [rbp + 0x4f]
add r10, 2
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
nop
mov rax, r11
and rax, r15
mov rcx, qword [rax + r9]
mov rax, qword [r8 + 0x38]
imul rcx, r10
shr rcx, 0x30
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x140077de0
jmp 0x140077d95
mov r12, qword [rbp + 0x5f]
mov r14, qword [rbp + 0x7f]
jmp 0x140077e1b
mov r14, qword [rbp + 0x7f]
mov r12, qword [rbp + 0x5f]
mov r11, qword [rbp + 0x4f]
mov r8, qword [rsp + 0x58]
lea rax, [r15 + 8]
mov r9, qword [rbp + 0x47]
mov rdx, qword [rbp - 0x79]
mov rcx, qword [rbp - 0x71]
cmp rax, r8
jb 0x140077090
mov r13, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xd8]
mov rax, qword [rbp + 0x77]
sub r8, r15
sub r14, qword [rbp - 0x29]
add r8, r10
sar r14, 4
mov qword [rax], r8
mov rax, qword [rbp + 0x87]
add qword [rax], r14
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r12
lea rbp, [rsp - 7]
sub rsp, 0xe8
mov r11, qword [rbp + 0x57]
mov rax, rcx
mov r10, qword [rbp + 0x6f]
mov rbx, r9
mov r9, r8
mov r12, rdx
add rdx, rax
mov r8d, 1
mov ecx, dword [r11 + 8]
mov r10, qword [r10]
shl r8, cl
mov rcx, qword [r11 + 0x10]
sub r8, 0x10
mov qword [rbp - 0x31], rcx
mov rcx, qword [rbp + 0x77]
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x79], r8
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x60], rdx
cmp rax, 8
jb 0x140077ef9
lea rax, [rdx - 7]
mov qword [rbp - 0x71], rax
jmp 0x140077efd
mov qword [rbp - 0x71], r12
cmp dword [r11 + 4], 9
mov eax, 0x200
mov edi, 0x40
cmovl eax, edi
mov qword [rbp - 0x69], rax
add rax, r12
mov qword [rsp + 0x20], rax
lea rax, [r12 + 8]
cmp rax, rdx
jae 0x140078b59
movdqa xmm2, xmmword [0x1406e9740]
movabs rcx, 0xbd1e35a7bd000000
movdqa xmm3, xmmword [0x1406e9750]
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xc8], r15
mov dword [rbp + 0x2f], ebx
mov dword [rsp + 0x58], ebx
psllq xmm2, 3
nop
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r13
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov rbx, qword [rbp + 0x57]
mov rax, rcx
mov r10, qword [rbp + 0x6f]
mov r11, r8
mov r8d, 1
mov r13, rdx
add rdx, rax
mov ecx, dword [rbx + 8]
mov r10, qword [r10]
shl r8, cl
mov rcx, qword [rbx + 0x10]
sub r8, 0x10
mov qword [rbp - 0x41], rcx
mov rcx, qword [rbp + 0x77]
mov qword [rbp - 0x39], rcx
mov qword [rbp - 0x79], r8
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x70], rdx
cmp rax, 8
jb 0x140078d35
lea rax, [rdx - 7]
mov qword [rbp - 0x51], rax
jmp 0x140078d39
mov qword [rbp - 0x51], r13
cmp dword [rbx + 4], 9
mov eax, 0x200
mov edi, 0x40
cmovl eax, edi
mov qword [rbp - 0x49], rax
add rax, r13
mov qword [rsp + 0x30], rax
lea rax, [r13 + 8]
cmp rax, rdx
jae 0x140079de3
movdqa xmm2, xmmword [0x1406e9740]
mov eax, r9d
movdqa xmm3, xmmword [0x1406e9750]
movabs rcx, 0xbd1e35a7bd000000
mov rbx, qword [rbp + 0x5f]
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xd8], r15
mov dword [rbp + 0x2f], eax
mov dword [rsp + 0x5c], eax
psllq xmm2, 3
mov r12, qword [rbp + 0x37]
mov r10, rdx
sub r10, r13
mov rdx, r8
cmp r13, r8
mov qword [rsp + 0x10], r10
mov r14, r9
mov r8d, 0x7e4
cmovb rdx, r13
mov qword [rsp], r8
mov r13, qword [rbx + 0x38]
xor edi, edi
and r14, r12
mov qword [rsp + 0x28], rdi
mov rax, qword [r14 + r11]
lea r9, [r14 + r11]
movzx esi, byte [r9]
xor r15d, r15d
imul rax, rcx
mov rcx, r12
mov qword [rbp - 0x69], rdi
shr rax, 0x30
mov dword [rbp - 0x59], edi
mov edi, r8d
mov qword [rsp + 0x18], rdx
mov qword [rsp + 8], r9
movq xmm1, rax
mov rax, qword [rbp + 0x67]
punpcklqdq xmm1, xmm1
movsxd rbx, dword [rax]
sub rcx, rbx
cmp rcx, r12
jae 0x140078f04
mov eax, dword [rbp + 0x2f]
and rax, rcx
add r11, rax
movzx eax, byte [r11]
cmp esi, eax
jne 0x140078f00
mov r8, r10
xor ecx, ecx
shr r8, 3
mov rdx, r9
test r8, r8
je 0x140078e7f
mov r10, r11
sub r10, r9
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140078eea
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140078e60
mov r10, qword [rsp + 0x10]
mov r8, r10
and r8d, 7
je 0x140078ea3
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140078ea3
inc rcx
sub r8, 1
jne 0x140078e90
mov rax, rcx
mov r9, qword [rsp + 8]
mov rdx, qword [rsp + 0x18]
cmp rax, 4
jb 0x140078f00
mov r11, qword [rbp + 0x3f]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140078f04
mov qword [rsp + 0x28], rax
mov r15, rax
add rax, r14
mov qword [rbp - 0x69], rbx
mov qword [rsp], rcx
mov rdi, rcx
movzx esi, byte [rax + r11]
jmp 0x140078f04
mov r10, qword [rsp + 0x10]
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140078ea6
mov r11, qword [rbp + 0x3f]
mov rbx, qword [rbp + 0x37]
mov rax, r12
shr rax, 3
movdqa xmm0, xmm2
and eax, 1
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rsp + 0x60], xmm0
mov r12, qword [rsp + rax*8 + 0x60]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x2f]
sub rbx, r8
and r8, rax
lea rax, [r8 + r15]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140079008
test rbx, rbx
je 0x140079008
cmp rbx, rdx
ja 0x140079008
add r11, r8
xor ecx, ecx
mov r8, r10
mov rdx, r9
shr r8, 3
test r8, r8
je 0x140078fa3
mov r10, r11
sub r10, r9
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x1400790ef
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140078f80
mov r10, qword [rsp + 0x10]
mov r8, r10
and r8d, 7
je 0x140078fc3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140078fc3
inc rcx
sub r8, 1
jne 0x140078fb0
mov rdx, rcx
mov r11, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x140079008
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140079008
lea rax, [rdx + r14]
mov qword [rsp + 0x28], rdx
movzx esi, byte [rax + r11]
mov r15, rdx
mov rdi, r8
mov qword [rsp], r8
mov qword [rbp - 0x69], rbx
mov rbx, qword [rbp + 0x37]
mov r14, qword [rsp + 8]
psrldq xmm0, 8
movq rax, xmm0
mov edx, dword [r13 + rax*4]
mov eax, dword [rbp + 0x2f]
sub rbx, rdx
and rdx, rax
lea rax, [rdx + r15]
mov r15, qword [rsp + 0x18]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140079119
test rbx, rbx
je 0x140079119
cmp rbx, r15
ja 0x140079119
add r11, rdx
mov r8, r10
shr r8, 3
xor edx, edx
mov rcx, r14
test r8, r8
je 0x140079093
mov r10, r11
sub r10, r14
nop dword [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140079108
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140079070
mov r10, qword [rsp + 0x10]
mov r8, r10
and r8d, 7
je 0x1400790b5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400790b5
inc rcx
inc rdx
sub r8, 1
jne 0x1400790a0
mov r8, rdx
mov r11, qword [rbp + 0x3f]
cmp r8, 4
jb 0x140079119
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140079119
mov qword [rsp + 0x28], r8
mov r10, rax
mov qword [rsp], rax
mov qword [rbp - 0x69], rbx
jmp 0x14007911d
mov r10, qword [rsp + 0x10]
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140078fc6
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400790b8
mov r10, qword [rsp]
mov rax, qword [rbp + 0x37]
mov rdi, qword [rbp + 0x5f]
mov dword [r13 + r12*4], eax
mov r13, rax
test r13b, 3
jne 0x1400792bb
mov r12, qword [rsp + 0x10]
cmp r12, 0x20
jb 0x1400792bb
mov rbx, qword [rdi + 0x50]
cmp rbx, rax
ja 0x1400792b3
lea rsi, [rbx + 0x20]
nop word [rax + rax]
mov r8d, dword [rdi + 0x40]
mov rax, rbx
and rax, qword [rbp + 0x47]
mov r9d, r8d
imul r8d, dword [rdi + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, qword [rbp + 0x47]
inc edx
imul edx, dword [rdi + 0x60]
and rax, rsi
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x40], eax
cmp r9d, 0x1000000
jae 0x1400792a2
mov rax, qword [rdi + 0x48]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r13
jne 0x14007929e
mov eax, 0xffffffff
cmp r10, rax
je 0x14007929e
mov edi, r13d
sub edi, r10d
cmp rdi, r15
ja 0x14007929a
and r10, qword [rbp + 0x47]
mov r8, r12
add r10, r11
shr r8, 3
xor ecx, ecx
mov rdx, r14
test r8, r8
je 0x14007921a
mov r11, r10
sub r11, r14
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r11]
cmp r9, rax
jne 0x140079289
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140079200
mov r8, r12
and r8d, 7
je 0x140079239
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140079239
inc rcx
sub r8, 1
jne 0x140079226
mov rdx, rcx
mov r11, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x14007929a
mov r10, qword [rsp]
cmp rdx, qword [rsp + 0x28]
jbe 0x140079283
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r10
jbe 0x140079283
mov qword [rsp + 0x28], rdx
mov r10, rax
mov qword [rbp - 0x69], rdi
mov qword [rsp], rax
mov dword [rbp - 0x59], 0
mov rdi, qword [rbp + 0x5f]
jmp 0x1400792a2
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
add edx, ecx
jmp 0x14007923c
mov rdi, qword [rbp + 0x5f]
mov r10, qword [rsp]
add rbx, 4
add rsi, 4
cmp rbx, r13
jbe 0x140079160
lea rax, [r13 + 4]
mov qword [rdi + 0x50], rax
cmp r10, 0x7e4
jbe 0x140079c50
mov eax, dword [rsp + 0x5c]
lea r12, [r13 + 1]
mov r15, qword [rsp + 0x10]
mov dword [rbp + 0x2f], eax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x58], 0
mov rcx, qword [rbp + 0x57]
dec r15
mov qword [rsp + 0x10], r15
cmp dword [rcx + 4], 5
jge 0x14007930b
dec rax
mov r9, r15
cmp rax, r15
cmovb r9, rax
jmp 0x14007930e
xor r9d, r9d
mov r10, qword [rbp - 0x79]
mov r8d, 0x7e4
mov r15, qword [rbp + 0x47]
cmp r12, r10
mov r13, qword [rdi + 0x38]
movabs rcx, 0xbd1e35a7bd000000
cmovb r10, r12
mov qword [rsp + 0x48], r8
and r15, r12
mov qword [rsp + 0x38], r9
lea rdx, [r15 + r11]
mov qword [rsp + 8], r9
mov r8, r12
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x60], r10
mov r14, r9
lea rax, [r15 + r9]
mov qword [rsp + 0x18], rdx
movzx esi, byte [rax + r11]
mov edi, 0x7e4
mov rax, qword [rdx]
imul rax, rcx
mov dword [rsp + 0x50], 0
shr rax, 0x30
movq xmm0, rax
mov rax, qword [rbp + 0x67]
punpcklqdq xmm0, xmm0
movsxd rbx, dword [rax]
sub r8, rbx
cmp r8, r12
jae 0x140079464
mov eax, dword [rbp + 0x2f]
and r8, rax
lea rax, [r9 + r8]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140079464
mov rdi, qword [rsp + 0x10]
add r11, r8
mov r8, rdi
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x1400793ee
mov r10, r11
sub r10, rdx
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14007965b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400793d0
mov r8, rdi
and r8d, 7
je 0x140079413
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140079413
inc rcx
sub r8, 1
jne 0x140079400
mov rax, rcx
mov r11, qword [rbp + 0x3f]
mov edi, 0x7e4
mov rdx, qword [rsp + 0x18]
mov r10, qword [rsp + 0x60]
cmp rax, 4
jb 0x140079464
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140079464
mov qword [rsp + 8], rax
mov r14, rax
mov qword [rsp + 0x38], rax
mov rdi, rcx
add rax, r15
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
movzx esi, byte [rax + r11]
mov rbx, qword [rsp + 0x30]
mov rax, r12
shr rax, 3
paddq xmm0, xmm2
and eax, 1
andps xmm0, xmm3
movdqu xmmword [rbp - 0x31], xmm0
mov r12, qword [rbp + rax*8 - 0x31]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x2f]
sub rbx, r8
and r8, rax
lea rax, [r8 + r14]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x14007956f
test rbx, rbx
je 0x14007956f
cmp rbx, r10
ja 0x14007956f
mov rax, qword [rsp + 0x10]
add r11, r8
mov r8, rax
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x140079503
mov r10, r11
sub r10, qword [rsp + 0x18]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14007966f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400794e0
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x140079523
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140079523
inc rcx
sub r8, 1
jne 0x140079510
mov rdx, rcx
mov r11, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x14007956f
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14007956f
lea rax, [rdx + r15]
mov qword [rsp + 8], rdx
movzx esi, byte [rax + r11]
mov r14, rdx
mov qword [rsp + 0x38], rdx
mov rdi, r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rbx
mov edx, dword [rbp + 0x2f]
mov r15, qword [rsp + 0x30]
psrldq xmm0, 8
mov rbx, r15
movq rax, xmm0
mov ecx, dword [r13 + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rdx + r14]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140079694
test rbx, rbx
je 0x140079694
cmp rbx, qword [rsp + 0x60]
ja 0x140079694
mov rsi, qword [rsp + 0x10]
add r11, rdx
mov rax, qword [rsp + 0x18]
mov r8, rsi
shr r8, 3
xor edx, edx
mov rcx, rax
test r8, r8
je 0x1400795fe
mov r10, r11
sub r10, rax
nop dword [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x140079683
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400795e0
mov r8, rsi
and r8d, 7
je 0x14007961c
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x14007961c
inc rcx
inc rdx
sub r8, 1
jne 0x140079607
mov r8, rdx
mov r11, qword [rbp + 0x3f]
cmp r8, 4
jb 0x140079694
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140079694
mov r14, r8
mov qword [rsp + 0x38], r8
mov r10, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
jmp 0x14007969e
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140079416
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140079526
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007961f
mov r14, qword [rsp + 8]
mov r10, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x5f]
mov dword [r13 + r12*4], r15d
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x10]
test r12b, 3
jne 0x140079843
cmp r15, 0x20
jb 0x140079843
mov rbx, qword [rdi + 0x50]
cmp rbx, r12
ja 0x14007983a
mov r13, qword [rbp + 0x47]
lea rsi, [rbx + 0x20]
nop word [rax + rax]
mov r8d, dword [rdi + 0x40]
mov rax, r13
and rax, rbx
mov r9d, r8d
imul r8d, dword [rdi + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, r13
and rax, rsi
inc edx
imul edx, dword [rdi + 0x60]
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x40], eax
cmp r9d, 0x1000000
jae 0x140079829
mov rax, qword [rdi + 0x48]
mov r11d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r12
jne 0x14007981b
mov eax, 0xffffffff
cmp r11, rax
je 0x14007981b
mov edi, r12d
sub edi, r11d
cmp rdi, qword [rsp + 0x60]
ja 0x140079821
mov rcx, qword [rsp + 0x18]
and r11, r13
add r11, qword [rbp + 0x3f]
mov r8, r15
shr r8, 3
xor eax, eax
mov rdx, rcx
test r8, r8
je 0x14007979a
mov r10, r11
sub r10, rcx
nop
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x14007980a
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140079780
mov r8, r15
and r8d, 7
je 0x1400797b9
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x1400797b9
inc rax
sub r8, 1
jne 0x1400797a6
mov rdx, rax
mov r10, qword [rsp + 0x48]
cmp rdx, 4
jb 0x140079821
cmp rdx, r14
jbe 0x140079821
mov r11, qword [rbp + 0x3f]
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r10
jbe 0x140079825
mov r14, rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rdi
mov r10, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0
jmp 0x140079825
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x1400797bc
mov r11, qword [rbp + 0x3f]
jmp 0x140079829
mov r11, qword [rbp + 0x3f]
mov rdi, qword [rbp + 0x5f]
add rbx, 4
add rsi, 4
cmp rbx, r12
jbe 0x1400796e0
lea rax, [r12 + 4]
mov qword [rdi + 0x50], rax
mov rax, qword [rsp]
mov r13, qword [rbp + 0x37]
add rax, 0xaf
cmp r10, rax
jb 0x1400798b3
mov ecx, dword [rsp + 0x58]
inc r13
movups xmm0, xmmword [rsp + 0x38]
inc qword [rsp + 0x20]
inc ecx
movups xmm1, xmmword [rsp + 0x48]
inc r12
mov qword [rbp + 0x37], r13
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x58], ecx
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm1
cmp ecx, 4
jge 0x1400798ad
lea rax, [r12 + 7]
cmp rax, qword [rsp + 0x70]
jae 0x1400798ad
mov rax, qword [rbp - 0x61]
mov qword [rsp], rax
mov rax, qword [rbp - 0x71]
mov qword [rsp + 0x28], rax
jmp 0x1400792ea
mov r15, qword [rbp - 0x71]
jmp 0x1400798b8
mov r15, qword [rsp + 0x28]
mov rax, qword [rbp - 0x49]
mov r10, qword [rbp - 0x79]
mov rbx, qword [rbp - 0x69]
lea r11, [rax + r15*2]
mov rax, qword [rbp - 0x41]
add r11, r13
add rax, r13
cmp rax, r10
mov qword [rsp + 0x30], r11
mov r11, qword [rbp + 0x67]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140079969
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rbx, rax
jne 0x140079908
xor r8d, r8d
jmp 0x14007996d
cmp rbx, r9
jne 0x140079915
mov r8d, 1
jmp 0x14007996d
cmp r8, 7
jae 0x140079931
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14007996d
cmp rcx, 7
jae 0x140079949
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14007996d
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x14007995a
mov r8d, 2
jmp 0x14007996d
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14007996d
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x14007998d
test r8, r8
je 0x14007998d
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdx], eax
mov dword [r11], ebx
mov r11, qword [rbp + 0x77]
mov esi, dword [rbp - 0x59]
mov rcx, qword [rbp + 0x57]
mov r12, qword [rsp + 0x20]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [r11], r12d
mov dword [r11 + 4], eax
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x1400799bf
xor edi, edi
jmp 0x140079a37
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp + 0x77]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea edx, [r15 + rsi]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x140079a61
movzx r10d, r12w
mov eax, 0x17
jmp 0x140079ad4
cmp r12, 0x82
jae 0x140079a8d
lea eax, [r12 - 2]
bsr ecx, eax
lea r10, [r12 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140079ad4
cmp r12, 0x842
jae 0x140079aab
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140079ad4
mov eax, 0x17
cmp r12, 0x1842
jae 0x140079abf
lea r10d, [rax - 2]
jmp 0x140079ad4
cmp r12, 0x5842
jae 0x140079ad0
mov r10d, 0x16
jmp 0x140079ad4
movzx r10d, ax
cmp r9, 0xa
jae 0x140079ae1
sub r9w, 2
jmp 0x140079b21
cmp r9, 0x86
jae 0x140079b06
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140079b21
cmp r9, 0x846
jae 0x140079b1d
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140079b21
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140079b59
cmp r10w, 8
jae 0x140079b59
cmp r9w, 0x10
jae 0x140079b59
cmp r9w, 8
jb 0x140079b8d
or dx, 0x40
jmp 0x140079b8d
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x87]
xor r10d, r10d
mov r8, qword [rbp - 0x51]
mov word [r11 + 0xc], dx
add r11, 0x10
mov qword [rbp + 0x77], r11
lea rdx, [r13 + 2]
add qword [rax], r12
lea rax, [r15 + r13]
cmp rax, r8
mov qword [rsp + 0x20], r10
cmovb r8, rax
mov rax, r15
shr rax, 2
cmp rbx, rax
jae 0x140079bf4
lea rax, [rbx*4]
mov rcx, r15
sub rcx, rax
lea rax, [rcx + r13]
cmp rdx, rax
mov eax, 2
cmova rcx, rax
lea rdx, [rcx + r13]
cmp r8, rdx
cmovb rdx, r8
mov rbx, qword [rbp + 0x5f]
cmp rdx, r8
jae 0x140079c44
mov r9, qword [rbp + 0x3f]
movabs r10, 0xbd1e35a7bd000000
mov r13, qword [rbp + 0x47]
nop
mov rax, r13
and rax, rdx
mov rcx, qword [rax + r9]
mov eax, edx
imul rcx, r10
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rbx + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x140079c10
mov r13, qword [rbp + 0x37]
mov r10, qword [rsp + 0x20]
add r13, r15
mov qword [rbp + 0x37], r13
jmp 0x140079d97
mov r10, qword [rsp + 0x20]
inc r13
mov r11, qword [rsp + 0x30]
inc r10
mov qword [rsp + 0x20], r10
mov qword [rbp + 0x37], r13
cmp r13, r11
jbe 0x140079d93
mov rax, qword [rbp - 0x49]
mov rdx, qword [rsp + 0x70]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r13, rax
jbe 0x140079d10
mov r11, qword [rbp + 0x3f]
lea rax, [r13 + 0x10]
mov r9, qword [rbp + 0x47]
cmp rax, rdx
cmovb rdx, rax
cmp r13, rdx
jae 0x140079d8d
add r10, 4
mov rax, rdx
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax + rax]
mov rax, r9
and rax, r13
mov rcx, qword [rax + r11]
mov eax, r13d
imul rcx, r10
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rdi + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r13d
add r13, 4
cmp r13, rdx
jb 0x140079cd0
mov rbx, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x20]
mov qword [rbp + 0x37], r13
jmp 0x140079d9f
lea rax, [r13 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r13, rdx
jae 0x140079d93
mov r11, qword [rbp + 0x3f]
add r10, 2
mov r9, qword [rbp + 0x47]
mov rax, rdx
sub rax, r13
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax + rax]
mov rax, r9
and rax, r13
mov rcx, qword [rax + r11]
mov eax, r13d
imul rcx, r10
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rdi + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r13d
add r13, 2
cmp r13, rdx
jb 0x140079d50
mov rbx, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x20]
mov qword [rbp + 0x37], r13
jmp 0x140079d9f
mov rbx, qword [rbp + 0x5f]
jmp 0x140079d9f
mov rbx, qword [rbp + 0x5f]
mov r11, qword [rbp + 0x3f]
mov r9, qword [rbp + 0x47]
mov rdx, qword [rsp + 0x70]
lea rax, [r13 + 8]
mov r8, qword [rbp - 0x79]
movabs rcx, 0xbd1e35a7bd000000
cmp rax, rdx
jb 0x140078db0
mov r15, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x6f]
sub rdx, r13
sub rcx, qword [rbp - 0x39]
add rdx, r10
sar rcx, 4
mov qword [rax], rdx
mov rax, qword [rbp + 0x7f]
add qword [rax], rcx
add rsp, 0xf8
pop r13
pop rdi
pop rbx
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rax, qword [0x1407bfc40]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r13, qword [rbp + 0xd8]
mov rax, rcx
mov rcx, qword [rbp + 0xe8]
mov r11, rdx
mov rsi, qword [rbp + 0xc0]
mov rdi, r9
mov r15, qword [rbp + 0xe0]
mov rbx, r8
mov r8, qword [rbp + 0xc8]
mov r10d, 1
mov qword [rsp + 0x18], r9
lea r14, [r11 + rax]
mov r9, qword [rbp + 0xd0]
mov qword [rbp - 0x30], rcx
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0xb8]
mov qword [rbp - 0x20], r9
mov r9, qword [r9]
mov qword [rsp], rbx
mov ecx, dword [rdx + 8]
shl r10, cl
mov rcx, qword [rdx + 0x10]
sub r10, 0x10
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x28], r15
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x18], r13
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x70], r14
cmp rax, 8
jb 0x140079ee4
lea rax, [r14 - 7]
mov qword [rbp - 0x50], rax
jmp 0x140079ee8
mov qword [rbp - 0x50], r11
cmp dword [rdx + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x48], rax
add rax, r11
mov qword [rsp + 0x60], rax
lea rax, [r11 + 8]
cmp rax, r14
jae 0x14007b384
movdqa xmm2, xmmword [0x1406e9740]
movdqa xmm3, xmmword [0x1406e9760]
mov r13, qword [rsp + 0x30]
lea rax, [r11 + rcx]
mov r9, r14
mov qword [rsp + 0x28], 0x7e4
sub r9, r11
mov r15, r10
cmp r11, r10
mov qword [rsp + 8], r9
mov rcx, r10
mov r14, rdi
cmovb r15, r11
cmp rax, r10
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
mov rdx, qword [rsp]
xor r10d, r10d
and r14, r11
mov qword [rsp + 0x50], rcx
movsxd r11, dword [r8]
lea r12, [rbx + r14]
movzx edi, byte [r12]
movabs rcx, 0xbd1e35a7bd000000
mov r8, qword [rsp + 0x18]
mov ebx, 0x7e4
mov qword [rbp - 0x78], rax
mov rax, qword [r12]
imul rax, rcx
mov qword [rsp + 0x20], r10
mov rcx, r13
shr rax, 0x2f
sub rcx, r11
mov qword [rbp - 0x68], r10
mov r10, qword [rsi + 0x38]
xor esi, esi
mov qword [rsp + 0x40], r10
mov dword [rbp - 0x58], esi
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r13
jae 0x14007a096
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10]
cmp edi, eax
jne 0x14007a091
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x14007a00f
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14007a07b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140079ff0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a033
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14007a033
inc rcx
sub r8, 1
jne 0x14007a020
mov rax, rcx
mov rdx, qword [rsp]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x18]
cmp rax, 4
jb 0x14007a096
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x14007a096
mov qword [rsp + 0x20], rax
mov rsi, rax
add rax, rdx
mov qword [rbp - 0x68], r11
mov qword [rsp + 0x28], rcx
mov rbx, rcx
movzx edi, byte [rax + r14]
jmp 0x14007a096
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x14007a036
mov r10, qword [rsp + 0x40]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 - 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x14007a0a0
mov r11, qword [rsp + 0x30]
mov rax, r13
shr rax, 3
and eax, 3
mov r13, qword [rbp + rax*8 - 0x10]
mov rax, qword [rbp - 0x10]
mov ecx, dword [r10 + rax*4]
mov r10d, r8d
sub r11, rcx
and r10, rcx
add r10, rdx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x14007a1b9
test r11, r11
je 0x14007a1b9
cmp r11, r15
ja 0x14007a1b9
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x14007a153
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007a451
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007a130
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a173
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14007a173
inc rcx
sub r8, 1
jne 0x14007a160
mov rdx, rcx
cmp rdx, 4
jb 0x14007a1b9
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14007a1b9
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rbx, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x68], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 8]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x14007a29b
test r11, r11
je 0x14007a29b
cmp r11, r15
ja 0x14007a29b
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x14007a233
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007a46a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007a210
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a255
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14007a255
inc rdx
inc rcx
sub r8, 1
jne 0x14007a240
mov rdx, rcx
cmp rdx, 4
jb 0x14007a29b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14007a29b
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rbx, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x68], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x40]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x30]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x14007a37b
test r11, r11
je 0x14007a37b
cmp r11, r15
ja 0x14007a37b
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x14007a313
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007a483
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007a2f0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a335
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14007a335
inc rdx
inc rcx
sub r8, 1
jne 0x14007a320
mov rdx, rcx
cmp rdx, 4
jb 0x14007a37b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14007a37b
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rbx, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x68], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x18]
mov r14, qword [rsp]
mov r11, qword [rsp + 0x30]
mov ecx, dword [rcx + rax*4]
and r10, rcx
sub r11, rcx
add r10, r14
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x14007a4b5
test r11, r11
je 0x14007a4b5
cmp r11, r15
ja 0x14007a4b5
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x14007a3f3
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14007a49c
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14007a3d0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a415
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14007a415
inc rdx
inc rcx
sub r8, 1
jne 0x14007a400
mov rdx, rcx
cmp rdx, 4
jb 0x14007a4b5
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rbx, rax
jae 0x14007a4b5
mov qword [rsp + 0x20], rdx
mov r15, rax
mov qword [rsp + 0x28], rax
mov qword [rbp - 0x68], r11
jmp 0x14007a4ba
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007a176
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007a258
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007a338
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14007a418
mov r15, qword [rsp + 0x28]
mov r8, qword [rsp + 0x10]
mov r10, qword [rsp + 0x38]
cmp r15, 0x7e4
jne 0x14007a669
mov rbx, qword [r8 + 0x30]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x14007a665
imul ecx, dword [r12], 0x1e35a7bd
lea rax, [rdx + 1]
mov qword [rbx + 8], rax
mov rax, qword [r10 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x14007a665
mov rax, qword [r10 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, r9
ja 0x14007a665
mov rdi, qword [r10 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x14007a583
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14007a647
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007a560
mov r10, qword [rsp + 0x38]
mov r8, r11
and r8d, 7
je 0x14007a5a3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x14007a5a3
inc rcx
sub r8, 1
jne 0x14007a590
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007a660
test r9, r9
je 0x14007a660
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r10 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rsp + 0x50]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x78]
ja 0x14007a660
mov r8, qword [rsp + 0x10]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r15
jb 0x14007a665
mov qword [rsp + 0x28], rax
mov rcx, r9
mov r15, qword [rsp + 0x28]
lea rax, [r14 + 1]
mov r14, qword [rsp]
sub r11d, r9d
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x58], r11d
mov qword [rbp - 0x68], rdx
jmp 0x14007a66e
mov r10, qword [rsp + 0x38]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007a5a6
mov r8, qword [rsp + 0x10]
mov r14, qword [rsp]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
mov dword [rax + r13*4], r11d
cmp r15, 0x7e4
jbe 0x14007b217
mov r9, qword [rsp + 8]
xor edi, edi
mov dword [rsp + 0x40], edi
dec r9
cmp dword [r10 + 4], 5
mov qword [rsp + 8], r9
jge 0x14007a6b3
lea rax, [rcx - 1]
mov rbx, r9
cmp rax, r9
cmovb rbx, rax
jmp 0x14007a6b6
mov rbx, rdi
mov rdx, qword [rsp + 0x78]
lea r10, [r11 + 1]
mov rax, qword [rbp - 0x80]
cmp r10, rdx
mov r15, rdx
mov qword [rbp - 8], rdi
cmovb r15, r10
mov dword [rbp + 8], edi
inc rax
mov qword [rbp - 0x10], rbx
add rax, r11
mov qword [rsp + 0x50], r10
cmp rax, rdx
mov rcx, rdx
mov rdx, qword [rsp + 0x38]
mov r12d, 0x7e4
cmovb rcx, rax
mov qword [rbp], r12
mov qword [rbp - 0x78], rcx
mov edi, r12d
movabs rcx, 0xbd1e35a7bd000000
mov rax, qword [rdx + 0x50]
mov rdx, qword [rsp]
mov qword [rbp - 0x40], rax
mov rax, qword [r8 + 0x38]
mov r8, qword [rsp + 0x18]
mov qword [rsp + 0x60], rax
mov r14, r8
and r14, r10
mov rax, qword [rdx + r14]
lea r13, [rdx + r14]
movzx esi, byte [rbx + r13]
imul rax, rcx
mov rcx, r10
shr rax, 0x2f
movq xmm1, rax
mov rax, qword [rsp + 0x68]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x14007a832
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x14007a82d
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14007a7af
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007a817
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007a790
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a7d3
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14007a7d3
inc rcx
sub r8, 1
jne 0x14007a7c0
mov rax, rcx
mov r8, qword [rsp]
mov r10, qword [rsp + 0x50]
cmp rax, 4
jb 0x14007a835
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x14007a835
mov qword [rbp - 0x10], rax
mov rbx, rax
add rax, r8
mov qword [rbp - 8], r11
mov r12, rcx
mov qword [rbp], rcx
mov rdi, rcx
movzx esi, byte [rax + r14]
jmp 0x14007a835
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14007a7d6
mov r10, qword [rsp + 0x50]
mov r8, rdx
xor eax, eax
nop word [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 + 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x14007a840
mov rdx, qword [rsp + 0x60]
mov rax, r10
shr rax, 3
mov r11, r10
mov r10d, dword [rsp + 0x18]
and eax, 3
mov rcx, qword [rbp + rax*8 + 0x10]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rcx
mov ecx, dword [rdx + rax*4]
and r10, rcx
sub r11, rcx
add r10, r8
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x14007a95a
test r11, r11
je 0x14007a95a
cmp r11, r15
ja 0x14007a95a
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14007a8f3
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007ad76
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007a8d0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a913
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14007a913
inc rcx
sub r8, 1
jne 0x14007a900
mov rdx, rcx
cmp rdx, 4
jb 0x14007a95a
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14007a95a
mov rax, qword [rsp]
mov rbx, rdx
add rax, rdx
mov qword [rbp - 0x10], rdx
mov rdi, r8
mov qword [rbp], r8
mov r12, r8
mov qword [rbp - 8], r11
movzx esi, byte [rax + r14]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x60]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x14007aa3c
test r11, r11
je 0x14007aa3c
cmp r11, r15
ja 0x14007aa3c
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14007a9d3
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007ad8f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007a9b0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007a9f5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14007a9f5
inc rdx
inc rcx
sub r8, 1
jne 0x14007a9e0
mov rdx, rcx
cmp rdx, 4
jb 0x14007aa3c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14007aa3c
mov rax, qword [rsp]
mov rbx, rdx
add rax, rdx
mov qword [rbp - 0x10], rdx
mov rdi, r8
mov qword [rbp], r8
mov r12, r8
mov qword [rbp - 8], r11
movzx esi, byte [rax + r14]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rsp + 0x60]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x14007ab1c
test r11, r11
je 0x14007ab1c
cmp r11, r15
ja 0x14007ab1c
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14007aab3
nop
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007ada8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007aa90
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007aad5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14007aad5
inc rdx
inc rcx
sub r8, 1
jne 0x14007aac0
mov rdx, rcx
cmp rdx, 4
jb 0x14007ab1c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14007ab1c
mov rax, qword [rsp]
mov rbx, rdx
add rax, rdx
mov qword [rbp - 0x10], rdx
mov rdi, r8
mov qword [rbp], r8
mov r12, r8
mov qword [rbp - 8], r11
movzx esi, byte [rax + r14]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x60]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x14007abe9
test r11, r11
je 0x14007abe9
cmp r11, r15
ja 0x14007abe9
mov r8, r9
xor eax, eax
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14007ab93
nop
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x14007adc1
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14007ab70
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14007abb5
nop dword [rax]
movzx ecx, byte [rdx]
cmp byte [rax + r10], cl
jne 0x14007abb5
inc rdx
inc rax
sub r8, 1
jne 0x14007aba0
mov rdx, rax
cmp rdx, 4
jb 0x14007abe9
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x14007abe9
mov qword [rbp - 0x10], rdx
mov r12, rax
mov qword [rbp], rax
mov qword [rbp - 8], r11
mov r8, qword [rsp + 0x10]
mov r10, qword [rsp + 0x38]
cmp r12, 0x7e4
jne 0x14007adf8
mov rbx, qword [r8 + 0x30]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x14007adf8
imul ecx, dword [r13], 0x1e35a7bd
lea rax, [rdx + 1]
mov qword [rbx + 8], rax
mov rax, qword [r10 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x14007adf8
mov rax, qword [r10 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, r9
ja 0x14007adf8
mov rdi, qword [r10 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x14007acb3
mov r10, r13
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14007adda
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007ac90
mov r10, qword [rsp + 0x38]
mov r8, r11
and r8d, 7
je 0x14007acd3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r13], al
jne 0x14007acd3
inc rcx
sub r8, 1
jne 0x14007acc0
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007adf3
test r9, r9
je 0x14007adf3
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r10 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x78]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x40]
ja 0x14007adf3
mov r8, qword [rsp + 0x10]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x14007adf8
mov r12, rax
mov qword [rbp], rax
lea rax, [r14 + 1]
mov qword [rbp - 0x10], r9
sub r11d, r9d
mov qword [rbx + 0x10], rax
mov dword [rbp + 8], r11d
mov qword [rbp - 8], rdx
jmp 0x14007adf8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007a916
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007a9f8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007aad8
xor rcx, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14007abb8
mov r10, qword [rsp + 0x38]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007acd6
mov r8, qword [rsp + 0x10]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov dword [rdx + rax*4], ecx
mov rax, qword [rsp + 0x28]
add rax, 0xaf
cmp r12, rax
jb 0x14007ae7f
movups xmm0, xmmword [rbp - 0x10]
mov r11, rcx
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x40]
inc r15
movups xmm1, xmmword [rbp]
inc ecx
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], ecx
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm1
cmp ecx, 4
jge 0x14007ae79
lea rax, [r11 + 8]
cmp rax, qword [rsp + 0x70]
jae 0x14007ae79
mov r9, qword [rsp + 8]
mov rax, qword [rbp - 0x60]
dec r9
mov rcx, qword [rbp - 0x70]
xor edi, edi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
jmp 0x14007a697
mov r12, qword [rbp - 0x70]
jmp 0x14007ae89
mov r11, qword [rsp + 0x30]
mov r12, qword [rsp + 0x20]
mov r9, qword [rsp + 0x78]
lea r13, [r11 + r12*2]
add r13, qword [rbp - 0x48]
mov rax, qword [rbp - 0x80]
mov rbx, qword [rbp - 0x68]
add rax, r11
mov rdi, qword [rsp + 0x68]
cmp rax, r9
mov qword [rsp + 0x60], r13
cmovb r9, rax
cmp rbx, r9
ja 0x14007af35
movsxd rax, dword [rdi]
lea rcx, [rbx + 3]
movsxd r8, dword [rdi + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x14007aed5
xor r8d, r8d
jmp 0x14007af39
cmp rbx, r8
jne 0x14007aee2
mov r8d, 1
jmp 0x14007af39
cmp rdx, 7
jae 0x14007aefd
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14007af39
cmp rcx, 7
jae 0x14007af15
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14007af39
movsxd rax, dword [rdi + 8]
cmp rbx, rax
jne 0x14007af26
mov r8d, 2
jmp 0x14007af39
movsxd rax, dword [rdi + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14007af39
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14007af56
test r8, r8
je 0x14007af56
mov eax, dword [rdi + 8]
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 4]
mov dword [rdi + 8], eax
mov eax, dword [rdi]
mov dword [rdi + 4], eax
mov dword [rdi], ebx
mov r13, qword [rsp + 0x58]
mov esi, dword [rbp - 0x58]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [r13], r15d
mov dword [r13 + 4], eax
mov r14d, dword [r10 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x14007af81
xor edi, edi
jmp 0x14007affa
mov r11d, dword [r10 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x30]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r13 + 0xe], r8w
lea edx, [r12 + rsi]
mov eax, 0x3ff
mov dword [r13 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r15, 6
jae 0x14007b024
movzx r10d, r15w
mov eax, 0x17
jmp 0x14007b094
cmp r15, 0x82
jae 0x14007b04e
lea eax, [r15 - 2]
bsr ecx, eax
lea r10, [r15 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x14007b094
cmp r15, 0x842
jae 0x14007b06b
lea eax, [r15 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14007b094
mov eax, 0x17
cmp r15, 0x1842
jae 0x14007b07f
lea r10d, [rax - 2]
jmp 0x14007b094
cmp r15, 0x5842
jae 0x14007b090
mov r10d, 0x16
jmp 0x14007b094
movzx r10d, ax
cmp r9, 0xa
jae 0x14007b0a1
sub r9w, 2
jmp 0x14007b0e1
cmp r9, 0x86
jae 0x14007b0c6
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x14007b0e1
cmp r9, 0x846
jae 0x14007b0dd
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14007b0e1
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x14007b119
cmp r10w, 8
jae 0x14007b119
cmp r9w, 0x10
jae 0x14007b119
cmp r9w, 8
jb 0x14007b14d
or dx, 0x40
jmp 0x14007b14d
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp - 0x30]
xor r9d, r9d
mov r8, qword [rbp - 0x50]
mov word [r13 + 0xc], dx
add r13, 0x10
mov qword [rsp + 0x58], r13
lea rdx, [r11 + 2]
add qword [rax], r15
lea rax, [r11 + r12]
cmp rax, r8
mov qword [rsp + 0x48], r9
cmovb r8, rax
mov rax, r12
shr rax, 2
cmp rbx, rax
jae 0x14007b1ab
lea rax, [rbx*4]
mov rcx, r11
sub rcx, rax
add rcx, r12
cmp rdx, rcx
cmova rcx, rdx
cmp r8, rcx
mov rdx, rcx
cmovb rdx, r8
mov rsi, qword [rsp + 0x10]
cmp rdx, r8
jae 0x14007b20a
mov r11, qword [rsp]
movabs r13, 0xbd1e35a7bd000000
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x18]
and rax, rdx
mov rcx, qword [rax + r11]
mov eax, edx
imul rcx, r13
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [rsi + 0x38]
and ecx, 0x1ffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x14007b1d0
mov r11, qword [rsp + 0x30]
mov r13, qword [rsp + 0x58]
add r11, r12
mov qword [rsp + 0x30], r11
jmp 0x14007b352
mov r9, qword [rsp + 0x48]
inc r11
mov r13, qword [rsp + 0x60]
inc r9
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x30], r11
cmp r11, r13
jbe 0x14007b348
mov rax, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x70]
add rdx, 0xfffffffffffffff9
lea rax, [rax*4]
add rax, r13
cmp r11, rax
jbe 0x14007b2da
mov rdi, qword [rsp + 0x18]
lea rax, [r11 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r11, rdx
jae 0x14007b2ce
add r9, 4
mov rax, rdx
sub rax, r11
dec rax
and rax, 0xfffffffffffffffc
add r9, rax
mov qword [rsp + 0x48], r9
movabs r9, 0xbd1e35a7bd000000
mov rax, rdi
and rax, r11
mov rcx, qword [rax + r14]
mov eax, r11d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [r8 + 0x38]
and ecx, 0x1ffff
mov dword [rax + rcx*4], r11d
add r11, 4
cmp r11, rdx
jb 0x14007b293
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x30], r11
mov rsi, qword [rsp + 0x10]
mov r13, qword [rsp + 0x58]
jmp 0x14007b357
lea rax, [r11 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r11, rdx
jae 0x14007b348
mov rdi, qword [rsp + 0x18]
add r9, 2
mov rax, rdx
sub rax, r11
dec rax
and rax, 0xfffffffffffffffe
add r9, rax
mov qword [rsp + 0x48], r9
movabs r9, 0xbd1e35a7bd000000
mov rax, rdi
and rax, r11
mov rcx, qword [rax + r14]
mov eax, r11d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [r8 + 0x38]
and ecx, 0x1ffff
mov dword [rax + rcx*4], r11d
add r11, 2
cmp r11, rdx
jb 0x14007b312
jmp 0x14007b2c4
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov r14, qword [rsp + 0x70]
lea rax, [r11 + 8]
mov rbx, qword [rsp]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
cmp rax, r14
jb 0x140079f24
mov r15, qword [rbp - 0x28]
sub r13, qword [rbp - 0x18]
sub r14, r11
mov rax, qword [rbp - 0x20]
add r14, r9
sar r13, 4
mov qword [rax], r14
add qword [r15], r13
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400af070
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push r13
push r14
lea rbp, [rsp - 7]
sub rsp, 0x100
mov rsi, qword [rbp + 0x77]
mov rax, rcx
mov r14, qword [rbp + 0x7f]
mov r13, rdx
mov rdx, qword [rbp + 0x5f]
mov r11d, 1
mov qword [rbp - 0x21], r14
mov rsi, qword [rsi]
lea r10, [rax + r13]
mov qword [rsp + 0x70], rsi
mov ecx, dword [rdx + 8]
shl r11, cl
mov rcx, qword [rdx + 0x10]
sub r11, 0x10
mov qword [rbp - 0x49], r11
mov qword [rbp - 0x41], rcx
mov qword [rbp - 0x71], r10
cmp rax, 4
jb 0x14007b434
lea rax, [r10 - 3]
mov qword [rbp - 0x31], rax
jmp 0x14007b438
mov qword [rbp - 0x31], r13
cmp dword [rdx + 4], 9
mov eax, 0x200
mov ebx, 0x40
cmovl eax, ebx
mov qword [rbp - 0x29], rax
add rax, r13
mov qword [rbp - 0x79], rax
lea rax, [r13 + 4]
cmp rax, r10
jae 0x14007cfae
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xf0], r12
mov r12, qword [rbp + 0x67]
mov qword [rsp + 0xe8], r15
nop dword [rax]
mov rsi, qword [rbp + 0x6f]
lea rax, [rcx + r13]
mov rbx, r10
mov qword [rsp + 0x20], 0x7e4
mov r10, qword [rbp + 0x3f]
sub rbx, r13
cmp r13, r11
mov qword [rsp + 0x18], rbx
mov rdi, r11
mov rcx, r11
cmovb rdi, r13
cmp rax, r11
movsxd r11, dword [rsi]
cmovb rcx, rax
mov qword [rbp + 0x37], rdi
mov rax, qword [rdx + 0x50]
sub r10, r11
mov qword [rsp + 0x30], rax
mov rax, qword [r12 + 0x40]
mov r12d, 0x7e4
mov qword [rsp + 0x38], rax
mov rax, r13
and rax, r9
mov qword [rsp + 0x40], rcx
imul r14d, dword [rax + r8], 0x1e35a7bd
lea r15, [rax + r8]
xor ecx, ecx
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x61], rcx
mov r13d, ecx
mov qword [rsp + 0x28], rcx
mov dword [rbp - 0x51], ecx
shr r14, 0x11
mov qword [rsp + 0x68], r14
cmp r10, qword [rbp + 0x3f]
jae 0x14007b5b3
cmp r11, rdi
ja 0x14007b5b3
and r10, r9
mov rdx, r15
add r10, r8
mov r8, rbx
shr r8, 3
test r8, r8
je 0x14007b55e
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007b7c5
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007b540
mov r8, rbx
and r8d, 7
je 0x14007b583
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14007b583
inc rcx
sub r8, 1
jne 0x14007b570
mov rax, rcx
cmp rax, 2
jb 0x14007b5b3
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r12, rcx
jae 0x14007b5b3
mov r12, rcx
mov qword [rsp + 0x28], rax
mov r13, rax
mov qword [rbp - 0x61], r11
mov qword [rsp + 0x20], rcx
mov r10, qword [rbp + 0x3f]
lea rdx, [rsi + 4]
movsxd rsi, dword [rsi + 4]
mov r9, r10
mov rcx, qword [rsp + 0x38]
sub r9, rsi
movzx eax, r9w
mov r8, rdx
mov qword [rsp + 8], rdx
cmp byte [rax + rcx + 0x30000], r14b
jne 0x14007b6a4
mov qword [rsp + 8], rdx
cmp r9, r10
jae 0x14007b6a4
mov qword [rsp + 8], rdx
cmp rsi, rdi
ja 0x14007b6a4
and r9, qword [rbp + 0x4f]
mov r10, rbx
add r9, qword [rbp + 0x47]
xor edx, edx
shr r10, 3
mov rcx, r15
mov qword [rsp + 8], r8
mov r14, rbx
test r10, r10
je 0x14007b64e
mov rdi, r9
mov qword [rsp + 8], r8
sub rdi, r15
nop dword [rax]
mov rax, qword [rcx]
mov r8, qword [rdi + rcx]
cmp rax, r8
jne 0x14007b7d9
add rcx, 8
add rdx, 8
sub r10, 1
jne 0x14007b630
mov r8, r14
and r8d, 7
je 0x14007b66c
movzx eax, byte [rcx]
cmp byte [rdx + r9], al
jne 0x14007b66c
inc rcx
inc rdx
sub r8, 1
jne 0x14007b657
mov rcx, rdx
cmp rcx, 2
jb 0x14007b6a4
imul rax, rcx, 0x87
add rax, 0x78f
cmp r12, rax
jae 0x14007b6a4
add rax, 0xffffffffffffffd9
cmp r12, rax
jae 0x14007b6a4
mov r12, rax
mov qword [rsp + 0x28], rcx
mov r13, rcx
mov qword [rbp - 0x61], rsi
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x6f]
mov r10, qword [rbp + 0x3f]
add r9, 8
mov rdx, qword [rsp + 0x38]
mov r11, r9
mov rcx, qword [rsp + 0x68]
mov rsi, qword [rsp + 8]
movsxd r14, dword [r9]
mov r8, rsi
sub r10, r14
mov qword [rsp], r9
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14007b805
mov qword [rsp], r9
mov qword [rsp + 8], rsi
cmp r10, qword [rbp + 0x3f]
jae 0x14007b805
mov qword [rsp], r9
mov qword [rsp + 8], rsi
cmp r14, qword [rbp + 0x37]
ja 0x14007b805
and r10, qword [rbp + 0x4f]
mov r9, rbx
add r10, qword [rbp + 0x47]
xor edx, edx
shr r9, 3
mov rcx, r15
mov qword [rsp], r11
mov rax, rbx
mov qword [rsp + 8], rsi
test r9, r9
je 0x14007b761
mov rsi, r10
mov qword [rsp], r11
sub rsi, r15
mov qword [rsp + 8], r8
nop word [rax + rax]
mov rax, qword [rcx]
mov r8, qword [rsi + rcx]
cmp rax, r8
jne 0x14007b7ed
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007b740
mov rax, rbx
mov r8, rax
and r8d, 7
je 0x14007b785
nop word [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007b785
inc rcx
inc rdx
sub r8, 1
jne 0x14007b770
mov rax, rdx
cmp rax, 2
jb 0x14007b7fe
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r12, rcx
jae 0x14007b7fe
mov rsi, qword [rsp + 8]
add rcx, 0xffffffffffffffd5
cmp r12, rcx
jae 0x14007b805
mov r12, rcx
mov qword [rsp + 0x28], rax
mov r13, rax
mov qword [rbp - 0x61], r14
mov qword [rsp + 0x20], rcx
jmp 0x14007b805
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14007b586
xor rax, r8
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x14007b66f
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x14007b788
mov rsi, qword [rsp + 8]
jmp 0x14007b805
mov rcx, qword [rsp + 0x68]
mov r8, rsi
mov r9, qword [rbp + 0x6f]
mov r14, qword [rbp + 0x3f]
add r9, 0xc
mov rdx, qword [rsp + 0x38]
mov r10, r14
mov r11, qword [rsp]
mov rbx, r9
mov qword [rsp + 0x10], r9
movsxd r15, dword [r9]
sub r10, r15
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
mov rcx, qword [rbp + 0x37]
jne 0x14007b951
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], rsi
cmp r10, r14
jae 0x14007b951
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], rsi
cmp r15, rcx
ja 0x14007b951
and r10, qword [rbp + 0x4f]
xor edx, edx
mov rax, qword [rsp + 0x78]
add rax, qword [rbp + 0x47]
mov r9, qword [rsp + 0x18]
mov rcx, rax
add r10, qword [rbp + 0x47]
shr r9, 3
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], rsi
test r9, r9
je 0x14007b8da
mov r14, r10
mov qword [rsp + 0x10], rbx
sub r14, rax
mov qword [rsp], r11
mov qword [rsp + 8], rsi
nop dword [rax]
mov rax, qword [rcx]
mov r8, qword [r14 + rcx]
cmp rax, r8
jne 0x14007b93c
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007b8c0
mov r8, qword [rsp + 0x18]
and r8d, 7
je 0x14007b8fa
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007b8fa
inc rcx
inc rdx
sub r8, 1
jne 0x14007b8e5
mov rax, rdx
cmp rax, 2
jb 0x14007b94d
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r12, rcx
jae 0x14007b94d
add rcx, 0xffffffffffffffd5
cmp r12, rcx
jae 0x14007b94d
mov r12, rcx
mov qword [rsp + 0x20], rcx
mov r9, rcx
mov qword [rsp + 0x28], rax
mov rcx, qword [rbp + 0x37]
mov r13, rax
mov qword [rbp - 0x61], r15
jmp 0x14007b956
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x14007b8fd
mov rcx, qword [rbp + 0x37]
mov r9, qword [rsp + 0x20]
mov rax, qword [rbp + 0x67]
xor ebx, ebx
mov r8, qword [rsp + 0x68]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x3f]
mov rdi, qword [rax + 0x38]
mov rsi, r11
mov eax, dword [r10 + r8*4]
movzx r14d, word [r10 + r8*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14007bac7
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, rcx
ja 0x14007bac2
mov r9, qword [rbp + 0x4f]
lea rax, [r10 + r14*4]
mov r8, qword [rsp + 0x78]
mov rcx, r11
movzx r14d, word [rax + 0x40002]
sub rcx, rbx
movzx esi, word [rax + 0x40000]
and rcx, r9
lea rdx, [r8 + r13]
cmp rdx, r9
ja 0x14007bab0
lea rax, [rcx + r13]
cmp rax, r9
ja 0x14007bab0
mov r9, qword [rbp + 0x47]
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x14007bab0
mov r15, qword [rsp + 0x18]
lea rax, [r8 + r9]
mov r8, r15
lea r11, [rcx + r9]
shr r8, 3
xor ecx, ecx
mov rdx, rax
test r8, r8
je 0x14007ba3a
mov r10, r11
sub r10, rax
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14007ba9f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007ba20
mov r8, r15
and r8d, 7
je 0x14007ba59
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14007ba59
inc rcx
sub r8, 1
jne 0x14007ba46
mov rdx, rcx
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x14007bab0
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14007bab0
mov r12, rax
mov qword [rsp + 0x28], rdx
mov r13, rdx
mov qword [rbp - 0x61], rbx
mov r9, rax
mov qword [rsp + 0x20], rax
jmp 0x14007bab5
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007ba5c
mov r9, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x37]
test rdi, rdi
jne 0x14007b990
mov r8, qword [rsp + 0x68]
mov r13, qword [rbp + 0x3f]
mov ebx, 0xffff
mov r12, qword [rbp + 0x67]
mov rcx, r13
movzx edx, word [r12 + 0x30]
lea eax, [rdx + 1]
mov word [r12 + 0x30], ax
mov eax, dword [r10 + r8*4]
sub rcx, rax
movzx eax, r13w
cmp rcx, rbx
cmova rcx, rbx
mov byte [rax + r10 + 0x30000], r8b
mov word [r10 + rdx*4 + 0x40000], cx
movzx eax, word [r10 + r8*2 + 0x20000]
mov word [r10 + rdx*4 + 0x40002], ax
mov dword [r10 + r8*4], r13d
mov word [r10 + r8*2 + 0x20000], dx
cmp r9, 0x7e4
jne 0x14007be66
mov r13, qword [r12 + 0x48]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14007be60
mov r12, qword [rsp + 0x78]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x47]
mov r8, qword [rbp + 0x5f]
mov rdx, qword [rsp + 0x18]
imul ebx, dword [r12], 0x1e35a7bd
mov qword [r13 + 8], r14
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14007bcdf
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14007bcdf
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14007bbee
mov r10, r12
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14007bccb
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007bbd0
mov r8, r11
and r8d, 7
je 0x14007bc13
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14007bc13
inc rcx
sub r8, 1
jne 0x14007bc00
mov r9, rcx
mov rcx, qword [rbp + 0x5f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007bceb
test r9, r9
je 0x14007bceb
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x40]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x30]
ja 0x14007bcf0
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x20]
jb 0x14007bcf0
mov qword [rsp + 0x20], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x28], r9
mov r15, qword [rsp + 0x10]
mov qword [r13 + 0x10], rax
mov rax, qword [rsp]
mov qword [rsp], rax
mov rax, qword [rsp + 8]
mov qword [rsp + 8], rax
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
mov qword [rsp + 0x10], r15
jmp 0x14007bcf5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007bc16
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x10]
jmp 0x14007bcfa
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x5f]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14007be8d
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14007be8d
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14007bd7e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14007be4c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007bd60
mov r8, r11
and r8d, 7
je 0x14007bd9c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14007bd9c
inc rdx
inc rcx
sub r8, 1
jne 0x14007bd87
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007be75
test r9, r9
je 0x14007be8d
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x30]
ja 0x14007be8d
mov r10, qword [rsp]
mov ebx, 0xffff
mov r12, qword [rbp + 0x67]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x20]
jb 0x14007be9a
sub r11d, r9d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 8]
mov rcx, r9
inc qword [r13 + 0x10]
mov qword [rsp + 8], rax
mov qword [rsp + 0x28], rcx
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
mov qword [rsp + 0x10], r15
jmp 0x14007be9f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007bd9f
mov r14, qword [rbp + 0x5f]
jmp 0x14007be96
mov r14, qword [rbp + 0x5f]
mov rcx, qword [rsp + 0x28]
mov r10, qword [rsp]
jmp 0x14007bea3
mov r13, qword [rbp + 0x3f]
mov ebx, 0xffff
mov r12, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x28]
mov r10, qword [rsp]
jmp 0x14007bea3
mov r12, qword [rbp + 0x67]
mov ebx, 0xffff
mov r10, qword [rsp]
mov rcx, qword [rsp + 0x28]
mov r13, qword [rbp + 0x3f]
cmp qword [rsp + 0x20], 0x7e4
jbe 0x14007cdd4
mov r15, qword [rsp + 0x18]
xor r11d, r11d
mov dword [rbp + 0x37], r11d
dec r15
cmp dword [r14 + 4], 5
mov qword [rsp + 0x18], r15
jge 0x14007bedd
lea rax, [rcx - 1]
mov r12, r15
cmp rax, r15
cmovb r12, rax
jmp 0x14007bee0
mov r12, r11
mov rdx, qword [rbp - 0x49]
lea rsi, [r13 + 1]
mov rax, qword [rbp - 0x41]
cmp rsi, rdx
mov r8, r10
mov qword [rsp + 0x50], r11
mov r10, qword [rbp + 0x4f]
mov r14, rdx
cmovb r14, rsi
mov qword [rsp + 0x48], r11
inc rax
mov dword [rsp + 0x60], r11d
add rax, r13
mov qword [rsp + 0x30], rsi
cmp rax, rdx
mov qword [rsp + 0x38], r14
mov rcx, rdx
mov qword [rsp], r8
cmovb rcx, rax
mov r9d, 0x7e4
mov qword [rbp - 0x39], rcx
mov r11, rsi
mov rcx, qword [rbp + 0x5f]
mov r13d, r9d
mov qword [rsp + 0x58], r9
mov rax, qword [rcx + 0x50]
mov rcx, qword [rbp + 0x47]
mov qword [rbp - 0x79], rax
mov rax, qword [rbp + 0x67]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x40], rax
mov rax, rsi
and rax, r10
mov qword [rsp + 0x68], rax
lea rdi, [rax + rcx]
imul eax, dword [rax + rcx], 0x1e35a7bd
shr rax, 0x11
mov qword [rsp + 0x78], rax
mov rax, qword [rbp + 0x6f]
movsxd rbx, dword [rax]
sub r11, rbx
cmp r11, rsi
jae 0x14007c045
mov qword [rsp], r8
cmp rbx, r14
ja 0x14007c045
and r11, r10
mov qword [rsp], r8
add r11, rcx
mov r9, r15
xor ecx, ecx
shr r9, 3
mov rdx, rdi
test r9, r9
je 0x14007bfda
mov r10, r11
mov qword [rsp], r8
sub r10, rdi
mov rax, qword [rdx]
mov r8, qword [rdx + r10]
cmp rax, r8
jne 0x14007c02f
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14007bfc0
mov r8, r15
and r8d, 7
je 0x14007bff9
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14007bff9
inc rcx
sub r8, 1
jne 0x14007bfe6
mov rax, rcx
cmp rax, 2
jb 0x14007c040
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r13, rcx
jae 0x14007c040
mov r13, rcx
mov qword [rsp + 0x48], rax
mov r12, rax
mov qword [rsp + 0x50], rbx
mov r9, rcx
mov qword [rsp + 0x58], rcx
jmp 0x14007c045
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14007bffc
mov r9, qword [rsp + 0x58]
mov rax, qword [rsp + 8]
mov r10, rsi
mov rdx, qword [rsp + 0x40]
mov r8, rax
mov rcx, qword [rsp + 0x78]
mov r11, qword [rsp]
movsxd r15, dword [rax]
mov rbx, qword [rsp + 0x10]
sub r10, r15
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14007c18a
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
cmp r10, qword [rsp + 0x30]
jae 0x14007c18a
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
cmp r15, r14
ja 0x14007c18a
and r10, qword [rbp + 0x4f]
xor edx, edx
mov rax, qword [rsp + 0x68]
add rax, qword [rbp + 0x47]
mov r9, qword [rsp + 0x18]
mov rcx, rax
add r10, qword [rbp + 0x47]
shr r9, 3
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
test r9, r9
je 0x14007c11d
mov r14, r10
mov qword [rsp + 0x10], rbx
sub r14, rax
mov qword [rsp], r11
mov qword [rsp + 8], r8
mov rax, qword [rcx]
mov r8, qword [rcx + r14]
cmp rax, r8
jne 0x14007c10c
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007c0f0
jmp 0x14007c11d
xor rax, r8
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x14007c148
mov r8, qword [rsp + 0x18]
and r8d, 7
je 0x14007c145
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007c145
inc rcx
inc rdx
sub r8, 1
jne 0x14007c130
mov rcx, rdx
cmp rcx, 2
jb 0x14007c183
imul rax, rcx, 0x87
add rax, 0x78f
cmp r13, rax
jae 0x14007c183
add rax, 0xffffffffffffffd9
cmp r13, rax
jae 0x14007c183
mov r13, rax
mov qword [rsp + 0x48], rcx
mov r12, rcx
mov qword [rsp + 0x50], r15
mov r9, rax
mov qword [rsp + 0x58], rax
jmp 0x14007c18a
mov r9, qword [rsp + 0x58]
jmp 0x14007c18a
mov r14, qword [rsp + 0x30]
movsxd r15, dword [r11]
mov r10, r14
mov rdx, qword [rsp + 0x40]
sub r10, r15
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14007c2cb
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
cmp r10, r14
jae 0x14007c2cb
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
cmp r15, qword [rsp + 0x38]
ja 0x14007c2cb
and r10, qword [rbp + 0x4f]
xor edx, edx
mov rax, qword [rsp + 0x68]
add rax, qword [rbp + 0x47]
mov r9, qword [rsp + 0x18]
mov rcx, rax
add r10, qword [rbp + 0x47]
shr r9, 3
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
test r9, r9
je 0x14007c260
mov r14, r10
mov qword [rsp + 0x10], rbx
sub r14, rax
mov qword [rsp], r11
mov qword [rsp + 8], r8
mov rax, qword [rcx]
mov r8, qword [rcx + r14]
cmp rax, r8
jne 0x14007c24f
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007c233
jmp 0x14007c260
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x14007c288
mov r8, qword [rsp + 0x18]
and r8d, 7
je 0x14007c285
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007c285
inc rcx
inc rdx
sub r8, 1
jne 0x14007c270
mov rax, rdx
cmp rax, 2
jb 0x14007c2c4
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r13, rcx
jae 0x14007c2c4
add rcx, 0xffffffffffffffd5
cmp r13, rcx
jae 0x14007c2c4
mov r13, rcx
mov qword [rsp + 0x48], rax
mov r12, rax
mov qword [rsp + 0x50], r15
mov r9, rcx
mov qword [rsp + 0x58], rcx
jmp 0x14007c2cb
mov r9, qword [rsp + 0x58]
jmp 0x14007c2cb
mov r14, qword [rsp + 0x30]
movsxd r15, dword [rbx]
mov r10, r14
mov rdx, qword [rsp + 0x40]
sub r10, r15
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 8]
mov r11, qword [rsp]
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14007c40f
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
cmp r10, r14
jae 0x14007c414
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
cmp r15, rcx
ja 0x14007c414
and r10, qword [rbp + 0x4f]
xor edx, edx
mov rax, qword [rsp + 0x68]
add rax, qword [rbp + 0x47]
mov r9, qword [rsp + 0x18]
mov rcx, rax
add r10, qword [rbp + 0x47]
shr r9, 3
mov qword [rsp + 0x10], rbx
mov qword [rsp], r11
mov qword [rsp + 8], r8
test r9, r9
je 0x14007c39a
mov r14, r10
mov qword [rsp + 0x10], rbx
sub r14, rax
mov qword [rsp], r11
mov qword [rsp + 8], r8
nop word [rax + rax]
mov rax, qword [rcx]
mov r8, qword [rcx + r14]
cmp rax, r8
jne 0x14007c3f9
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007c380
mov r8, qword [rsp + 0x18]
and r8d, 7
je 0x14007c3ba
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007c3ba
inc rcx
inc rdx
sub r8, 1
jne 0x14007c3a5
mov rax, rdx
cmp rax, 2
jb 0x14007c40a
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r13, rcx
jae 0x14007c40a
add rcx, 0xffffffffffffffd5
cmp r13, rcx
jae 0x14007c40a
mov r13, rcx
mov qword [rsp + 0x48], rax
mov r12, rax
mov qword [rsp + 0x50], r15
mov r9, rcx
mov qword [rsp + 0x58], rcx
jmp 0x14007c40f
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x14007c3bd
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbp + 0x67]
xor ebx, ebx
mov r8, qword [rsp + 0x78]
mov r10, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rax + 0x38]
mov rsi, r15
mov eax, dword [r10 + r8*4]
movzx r14d, word [r10 + r8*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14007c57f
nop dword [rax]
dec rdi
add rbx, rsi
cmp rbx, rcx
ja 0x14007c57a
mov r11, qword [rbp + 0x4f]
lea rax, [r10 + r14*4]
mov r8, qword [rsp + 0x68]
mov rcx, r15
movzx r14d, word [rax + 0x40002]
sub rcx, rbx
movzx esi, word [rax + 0x40000]
and rcx, r11
lea rdx, [r12 + r8]
cmp rdx, r11
ja 0x14007c56c
lea rax, [rcx + r12]
cmp rax, r11
ja 0x14007c56c
mov r11, qword [rbp + 0x47]
movzx eax, byte [rax + r11]
cmp byte [rdx + r11], al
jne 0x14007c56c
lea r9, [r8 + r11]
xor eax, eax
add r11, rcx
mov rdx, r9
mov rcx, qword [rsp + 0x18]
mov r8, rcx
shr r8, 3
test r8, r8
je 0x14007c4f3
mov r10, r11
sub r10, r9
mov rcx, qword [rdx]
mov r9, qword [rdx + r10]
cmp rcx, r9
jne 0x14007c556
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14007c4d4
mov rcx, qword [rsp + 0x18]
mov r8, rcx
and r8d, 7
je 0x14007c513
sub rdx, rax
nop
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x14007c513
inc rax
sub r8, 1
jne 0x14007c500
mov rdx, rax
mov r10, qword [rsp + 0x40]
cmp rdx, 4
jb 0x14007c567
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x14007c567
mov r13, rax
mov qword [rsp + 0x48], rdx
mov r12, rdx
mov qword [rsp + 0x50], rbx
mov r9, rax
mov qword [rsp + 0x58], rax
jmp 0x14007c56c
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14007c516
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
test rdi, rdi
jne 0x14007c450
mov r8, qword [rsp + 0x78]
mov r12, qword [rbp + 0x67]
mov ebx, 0xffff
mov rcx, r15
movzx edx, word [r12 + 0x30]
lea eax, [rdx + 1]
mov word [r12 + 0x30], ax
mov eax, dword [r10 + r8*4]
sub rcx, rax
movzx eax, r15w
cmp rcx, rbx
cmova rcx, rbx
mov byte [rax + r10 + 0x30000], r8b
mov word [r10 + rdx*4 + 0x40000], cx
movzx eax, word [r10 + r8*2 + 0x20000]
mov word [r10 + rdx*4 + 0x40002], ax
mov dword [r10 + r8*4], r15d
mov word [r10 + r8*2 + 0x20000], dx
cmp r9, 0x7e4
jne 0x14007c939
mov r13, qword [r12 + 0x48]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14007c92e
mov r12, qword [rsp + 0x68]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x47]
mov r8, qword [rbp + 0x5f]
mov rdx, qword [rsp + 0x18]
imul ebx, dword [r12], 0x1e35a7bd
mov qword [r13 + 8], r14
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14007c7a8
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14007c7a8
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14007c6ae
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14007c794
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007c690
mov r8, r11
and r8d, 7
je 0x14007c6d3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x14007c6d3
inc rcx
sub r8, 1
jne 0x14007c6c0
mov r9, rcx
mov rcx, qword [rbp + 0x5f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007c7b4
test r9, r9
je 0x14007c7b4
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x39]
shl rax, cl
inc rdx
add rax, rsi
mov rsi, qword [rsp + 0x58]
add rdx, rax
cmp rdx, qword [rbp - 0x79]
ja 0x14007c7b9
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14007c7b9
mov rsi, rax
mov qword [rsp + 0x58], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x48], r9
mov r15, qword [rsp + 0x10]
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov rax, qword [rsp]
mov qword [rsp], rax
mov rax, qword [rsp + 8]
mov qword [rsp + 8], rax
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x10], r15
jmp 0x14007c7be
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007c6d6
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x10]
jmp 0x14007c7c3
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x5f]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x14007c961
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14007c961
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14007c84e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14007c91a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007c830
mov r8, r11
and r8d, 7
je 0x14007c86c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14007c86c
inc rdx
inc rcx
sub r8, 1
jne 0x14007c857
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007c94d
test r9, r9
je 0x14007c961
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x39]
shl rax, cl
inc rdx
add rax, rdi
add rdx, rax
cmp rdx, qword [rbp - 0x79]
ja 0x14007c961
mov r10, qword [rsp]
mov r12, qword [rbp + 0x67]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14007c969
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x60], r11d
mov r11, qword [rsp + 8]
mov qword [rsp + 8], r11
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x10], r15
jmp 0x14007c96e
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007c86f
mov rsi, qword [rsp + 0x58]
mov r14, qword [rbp + 0x5f]
jmp 0x14007c965
mov rsi, qword [rsp + 0x58]
mov r14, qword [rbp + 0x5f]
mov r11, qword [rsp + 8]
mov r10, qword [rsp]
jmp 0x14007c973
mov r15, qword [rsp + 0x30]
mov r12, qword [rbp + 0x67]
mov r11, qword [rsp + 8]
mov r10, qword [rsp]
jmp 0x14007c973
mov r12, qword [rbp + 0x67]
mov r10, qword [rsp]
mov r11, qword [rsp + 8]
mov r15, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
add rax, 0xaf
cmp rsi, rax
jb 0x14007c9e5
mov ecx, dword [rbp + 0x37]
mov r13, r15
movups xmm0, xmmword [rsp + 0x48]
inc qword [rsp + 0x70]
inc ecx
mov qword [rbp + 0x3f], r15
mov dword [rbp + 0x37], ecx
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x14007c9da
lea rax, [r15 + 4]
cmp rax, qword [rbp - 0x71]
jae 0x14007c9da
mov r15, qword [rsp + 0x18]
mov rax, qword [rbp - 0x59]
dec r15
mov rcx, qword [rbp - 0x69]
xor r11d, r11d
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
jmp 0x14007bec1
mov rax, qword [rbp - 0x69]
mov qword [rsp + 0x28], rax
jmp 0x14007c9ee
mov r13, qword [rbp + 0x3f]
mov rax, qword [rsp + 0x28]
mov r9, qword [rbp - 0x49]
mov rcx, qword [rbp - 0x29]
mov rbx, qword [rbp - 0x61]
mov rdi, qword [rbp + 0x6f]
lea r15, [rcx + rax*2]
mov rax, qword [rbp - 0x41]
add rax, r13
add r15, r13
cmp rax, r9
mov qword [rbp - 0x79], r15
cmovb r9, rax
cmp rbx, r9
ja 0x14007caa0
movsxd rax, dword [rdi]
lea rcx, [rbx + 3]
movsxd r8, dword [r11]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x14007ca3d
xor r8d, r8d
jmp 0x14007caa4
cmp rbx, r8
jne 0x14007ca4a
mov r8d, 1
jmp 0x14007caa4
cmp rdx, 7
jae 0x14007ca65
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14007caa4
cmp rcx, 7
jae 0x14007ca7d
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14007caa4
movsxd rax, dword [r10]
cmp rbx, rax
jne 0x14007ca8d
mov r8d, 2
jmp 0x14007caa4
mov rax, qword [rsp + 0x10]
mov r8d, 3
movsxd rax, dword [rax]
cmp rbx, rax
je 0x14007caa4
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14007cac5
test r8, r8
je 0x14007cac5
mov eax, dword [r10]
mov rcx, qword [rsp + 0x10]
mov dword [rcx], eax
mov eax, dword [r11]
mov dword [r10], eax
mov eax, dword [rdi]
mov dword [r11], eax
mov dword [rdi], ebx
mov rcx, qword [rbp + 0x7f]
mov esi, dword [rbp - 0x51]
mov r15, qword [rsp + 0x28]
mov r11, qword [rsp + 0x70]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x14007caf7
xor edi, edi
jmp 0x14007cb74
mov rcx, qword [rbp + 0x5f]
add r8, 0xfffffffffffffff0
mov r10d, 1
mov r11d, dword [rcx + 0x40]
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x70]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x7f]
lea edx, [rsi + r15]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r11, 6
jae 0x14007cba2
movzx r10d, r11w
mov eax, 0x17
jmp 0x14007cc12
cmp r11, 0x82
jae 0x14007cbcc
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x14007cc12
cmp r11, 0x842
jae 0x14007cbe9
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14007cc12
mov eax, 0x17
cmp r11, 0x1842
jae 0x14007cbfd
lea r10d, [rax - 2]
jmp 0x14007cc12
cmp r11, 0x5842
jae 0x14007cc0e
mov r10d, 0x16
jmp 0x14007cc12
movzx r10d, ax
cmp r9, 0xa
jae 0x14007cc1f
sub r9w, 2
jmp 0x14007cc5f
cmp r9, 0x86
jae 0x14007cc44
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x14007cc5f
cmp r9, 0x846
jae 0x14007cc5b
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14007cc5f
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x14007cc97
cmp r10w, 8
jae 0x14007cc97
cmp r9w, 0x10
jae 0x14007cc97
cmp r9w, 8
jb 0x14007cccb
or dx, 0x40
jmp 0x14007cccb
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x8f]
lea rdi, [r15 + r13]
xor esi, esi
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x70], rsi
mov qword [rbp + 0x7f], r14
lea r10, [r13 + 2]
add qword [rax], r11
mov rax, r15
mov r11, qword [rbp - 0x31]
cmp rdi, r11
mov qword [rbp + 0x3f], rdi
cmovb r11, rdi
shr rax, 2
cmp rbx, rax
jae 0x14007cd32
lea rax, [rbx*4]
sub r15, rax
lea rax, [r15 + r13]
cmp r10, rax
mov eax, 2
cmova r15, rax
lea r10, [r15 + r13]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x14007cdc8
mov rdi, qword [rbp + 0x47]
mov ebx, 0xffff
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [r12 + 0x40]
mov rax, r10
and rax, qword [rbp + 0x4f]
mov rcx, r10
movzx r8d, word [r12 + 0x30]
imul edx, dword [rax + rdi], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r10w
cmp rcx, rbx
cmova rcx, rbx
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r10d
inc r10
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r10, r11
jb 0x14007cd50
mov rdi, qword [rbp + 0x3f]
mov r13, rdi
mov qword [rbp + 0x3f], rdi
jmp 0x14007cf71
mov rsi, qword [rsp + 0x70]
inc r13
mov r15, qword [rbp - 0x79]
inc rsi
mov qword [rsp + 0x70], rsi
mov qword [rbp + 0x3f], r13
cmp r13, r15
jbe 0x14007cf6d
mov rax, qword [rbp - 0x29]
mov r10, qword [rbp - 0x71]
lea rax, [r15 + rax*4]
cmp r13, rax
jbe 0x14007cebe
add r10, 0xfffffffffffffffc
lea rax, [r13 + 0x10]
cmp rax, r10
cmovb r10, rax
cmp r13, r10
jae 0x14007cf6d
mov rax, r10
add rsi, 4
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x70], rsi
nop dword [rax + rax]
mov r9, qword [r12 + 0x40]
mov rax, r13
and rax, qword [rbp + 0x4f]
movzx r8d, word [r12 + 0x30]
mov rcx, qword [rbp + 0x47]
imul edx, dword [rax + rcx], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
mov rcx, r13
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r13w
cmp rcx, rbx
cmova rcx, rbx
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r13d
add r13, 4
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r13, r10
jb 0x14007ce40
jmp 0x14007cf69
add r10, 0xfffffffffffffffd
lea rax, [r13 + 8]
cmp rax, r10
cmovb r10, rax
cmp r13, r10
jae 0x14007cf6d
mov rax, r10
add rsi, 2
sub rax, r13
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x70], rsi
nop
mov r9, qword [r12 + 0x40]
mov rax, r13
and rax, qword [rbp + 0x4f]
movzx r8d, word [r12 + 0x30]
mov rcx, qword [rbp + 0x47]
imul edx, dword [rax + rcx], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
mov rcx, r13
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r13w
cmp rcx, rbx
cmova rcx, rbx
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r13d
add r13, 2
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r13, r10
jb 0x14007cef0
mov qword [rbp + 0x3f], r13
mov r14, qword [rbp + 0x7f]
mov r10, qword [rbp - 0x71]
lea rax, [r13 + 4]
mov r8, qword [rbp + 0x47]
mov r9, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x5f]
mov r11, qword [rbp - 0x49]
mov rcx, qword [rbp - 0x41]
cmp rax, r10
jb 0x14007b480
mov r15, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rax, qword [rbp + 0x77]
sub r10, r13
sub r14, qword [rbp - 0x21]
add r10, rsi
sar r14, 4
mov qword [rax], r10
mov rax, qword [rbp + 0x87]
add qword [rax], r14
add rsp, 0x100
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r15, qword [rbp + 0x6f]
mov rax, rcx
mov rsi, qword [rbp + 0x87]
mov r12, rdx
mov r14, qword [rbp + 0x8f]
mov r11d, 1
mov r13, r8
mov qword [rbp - 0x19], r14
mov ecx, dword [r15 + 8]
mov rdx, qword [r15 + 0x10]
lea r10, [rax + r12]
mov rsi, qword [rsi]
shl r11, cl
sub r11, 0x10
mov qword [rbp - 0x59], rdx
mov qword [rbp - 0x61], r11
mov qword [rsp + 0x28], rsi
mov qword [rbp - 0x71], r10
cmp rax, 4
jb 0x14007d062
lea rax, [r10 - 3]
mov qword [rbp - 0x31], rax
jmp 0x14007d066
mov qword [rbp - 0x31], r12
cmp dword [r15 + 4], 9
mov ecx, 0x40
mov rbx, qword [rbp + 0x7f]
mov eax, 0x200
cmovl eax, ecx
mov qword [rbp - 0x29], rax
add rax, r12
mov qword [rbp - 0x79], rax
mov ecx, dword [rbx]
lea eax, [rcx - 1]
mov dword [rbx + 0x10], eax
lea eax, [rcx + 1]
mov dword [rbx + 0x14], eax
lea eax, [rcx - 2]
mov dword [rbx + 0x18], eax
lea eax, [rcx + 2]
mov dword [rbx + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rbx + 0x20], eax
lea eax, [rcx + 3]
mov dword [rbx + 0x24], eax
lea rax, [r12 + 4]
cmp rax, r10
jae 0x14007e78f
lea rax, [rbx + 4]
mov qword [rsp + 0xd8], rdi
mov qword [rbp - 0x69], rax
nop dword [rax + rax]
lea rax, [rdx + r12]
mov qword [rbp - 0x49], 0
mov r8, r10
mov rcx, r11
sub r8, r12
mov rdx, r11
cmp r12, r11
mov qword [rsp], r8
cmovb rcx, r12
cmp rax, r11
mov r11d, 0x7e4
mov qword [rbp + 0x47], rcx
cmovb rdx, rax
mov qword [rsp + 8], r11
mov rax, qword [r15 + 0x50]
xor r10d, r10d
mov r15, qword [rbp + 0x77]
xor edi, edi
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x4f]
mov r15, qword [r15 + 0x40]
mov qword [rsp + 0x10], r10
mov dword [rbp - 0x39], r10d
lea rax, [r15 + 0x40000]
mov qword [rsp + 0x58], rax
mov rax, r12
and rax, r9
mov r12d, r11d
imul r14d, dword [rax + r13], 0x1e35a7bd
lea rsi, [rax + r13]
mov qword [rsp + 0x30], rax
shr r14, 0x11
xor r13d, r13d
jmp 0x14007d164
mov r8, qword [rsp]
movsxd rbx, dword [rbx + rdi*4]
mov r10, rdx
sub r10, rbx
test rdi, rdi
je 0x14007d185
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r14b
jne 0x14007d283
cmp r10, rdx
jae 0x14007d283
cmp rbx, rcx
ja 0x14007d283
and r10, r9
shr r8, 3
add r10, qword [rbp + 0x57]
xor ecx, ecx
mov rdx, rsi
test r8, r8
je 0x14007d1de
mov r11, r10
sub r11, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r11]
cmp rax, r9
jne 0x14007d261
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007d1c0
mov r8, qword [rsp]
and r8d, 7
je 0x14007d203
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14007d203
inc rcx
sub r8, 1
jne 0x14007d1f0
mov r8, rcx
cmp r8, 2
jb 0x14007d272
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14007d272
test rdi, rdi
je 0x14007d248
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r12, r9
jae 0x14007d272
mov r12, r9
mov qword [rsp + 0x10], r8
mov r13, r8
mov qword [rbp - 0x49], rbx
mov r11, r9
mov qword [rsp + 8], r9
jmp 0x14007d277
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14007d206
mov r11, qword [rsp + 8]
mov r9, qword [rbp + 0x5f]
mov r8, qword [rsp]
mov rcx, qword [rbp + 0x47]
mov rax, qword [rbp - 0x69]
mov r10, qword [rbp + 0x4f]
movsxd rbx, dword [rax + rdi*4]
lea rax, [rdi + 1]
sub r10, rbx
test rax, rax
je 0x14007d2ad
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r14b
jne 0x14007d39c
mov rdx, qword [rbp + 0x4f]
cmp r10, rdx
jae 0x14007d3a0
cmp rbx, rcx
ja 0x14007d3a0
and r10, r9
shr r8, 3
add r10, qword [rbp + 0x57]
xor edx, edx
mov rcx, rsi
test r8, r8
je 0x14007d2fe
mov r11, r10
sub r11, rsi
nop
mov rax, qword [rcx]
mov r9, qword [rcx + r11]
cmp rax, r9
jne 0x14007d386
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14007d2e0
mov r8, qword [rsp]
and r8d, 7
je 0x14007d325
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007d325
inc rcx
inc rdx
sub r8, 1
jne 0x14007d310
mov r8, rdx
cmp r8, 2
jb 0x14007d397
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14007d397
lea rax, [rdi + 1]
test rax, rax
je 0x14007d36d
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r12, r9
jae 0x14007d397
mov r12, r9
mov qword [rsp + 0x10], r8
mov r13, r8
mov qword [rbp - 0x49], rbx
mov r11, r9
mov qword [rsp + 8], r9
jmp 0x14007d39c
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007d328
mov r11, qword [rsp + 8]
mov rdx, qword [rbp + 0x4f]
mov rcx, qword [rbp + 0x47]
add rdi, 2
mov r9, qword [rbp + 0x5f]
mov rbx, qword [rbp + 0x7f]
cmp rdi, 0xa
jb 0x14007d160
mov rax, qword [rbp + 0x77]
xor ebx, ebx
mov rcx, qword [rbp + 0x4f]
mov rsi, rcx
mov rdi, qword [rax + 0x38]
mov eax, dword [r15 + r14*4]
movzx r15d, word [r15 + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14007d51c
mov rdx, qword [rsp + 0x30]
mov r8, qword [rbp + 0x57]
lea r14, [rdx + r8]
nop dword [rax]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rbp + 0x47]
ja 0x14007d51c
mov r9, qword [rbp + 0x5f]
sub rcx, rbx
mov rax, qword [rsp + 0x58]
and rcx, r9
movzx esi, word [rax + r15*4]
lea rax, [rax + r15*4]
movzx r15d, word [rax + 2]
add rdx, r13
cmp rdx, r9
ja 0x14007d50a
lea rax, [rcx + r13]
cmp rax, r9
ja 0x14007d50a
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x14007d50a
mov rax, qword [rsp]
lea r11, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r14
test r8, r8
je 0x14007d492
mov r10, r11
sub r10, r14
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14007d4f4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007d474
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x14007d4b3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14007d4b3
inc rcx
sub r8, 1
jne 0x14007d4a0
mov rdx, rcx
mov r8, qword [rbp + 0x57]
cmp rdx, 4
jb 0x14007d505
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14007d505
mov r12, rax
mov qword [rsp + 0x10], rdx
mov r13, rdx
mov qword [rbp - 0x49], rbx
mov r11, rax
mov qword [rsp + 8], rax
jmp 0x14007d50a
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007d4b6
mov r11, qword [rsp + 8]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rbp + 0x4f]
test rdi, rdi
jne 0x14007d400
mov r12, qword [rbp + 0x4f]
mov rdi, qword [rbp + 0x77]
mov rax, r12
mov rbx, qword [rbp + 0x5f]
mov rcx, r12
mov r13, qword [rbp + 0x57]
and rax, rbx
mov r9, qword [rdi + 0x40]
movzx edx, word [rdi + 0x30]
imul r8d, dword [rax + r13], 0x1e35a7bd
lea eax, [rdx + 1]
mov word [rdi + 0x30], ax
shr r8, 0x11
mov eax, dword [r9 + r8*4]
sub rcx, rax
movzx eax, r12w
mov byte [rax + r9 + 0x30000], r8b
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
mov word [r9 + rdx*4 + 0x40000], cx
movzx eax, word [r9 + r8*2 + 0x20000]
mov word [r9 + rdx*4 + 0x40002], ax
mov dword [r9 + r8*4], r12d
mov word [r9 + r8*2 + 0x20000], dx
cmp r11, 0x7e4
jne 0x14007d8bf
mov rax, qword [rbp + 0x77]
mov rdi, qword [rsp + 0x30]
add rdi, r13
mov r15, qword [rax + 0x48]
mov rcx, qword [r15 + 8]
mov rax, rcx
shr rax, 7
cmp qword [r15 + 0x10], rax
jb 0x14007d8bb
imul ebx, dword [rdi], 0x1e35a7bd
lea r14, [rcx + 1]
mov r12, qword [rbp + 0x6f]
mov rdx, qword [rsp]
mov qword [r15 + 8], r14
mov rax, qword [r12 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14007d734
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14007d734
mov rcx, qword [r12 + 0x58]
mov eax, r11d
imul rax, rsi
mov r8d, dword [rcx + r11*4 + 0x20]
mov edx, r11d
add r8, rax
shr rdx, 3
add r8, qword [rcx + 0xa8]
xor ecx, ecx
test rdx, rdx
je 0x14007d65e
mov r10, rdi
sub r10, r8
nop
mov rax, qword [r8]
mov r9, qword [r8 + r10]
cmp rax, r9
jne 0x14007d720
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x14007d640
mov rdx, r11
and edx, 7
je 0x14007d683
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
cmp byte [rcx + rdi], al
jne 0x14007d683
inc rcx
sub rdx, 1
jne 0x14007d670
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007d740
test r9, r9
je 0x14007d740
mov rdx, qword [r12 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r12 + 0x58]
and edx, 0x3f
mov r12, qword [rsp + 0x18]
movzx ecx, byte [r11 + rcx]
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x20]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, r12
ja 0x14007d74a
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 8]
jb 0x14007d74a
sub r11d, r9d
mov qword [rsp + 0x10], r9
inc qword [r15 + 0x10]
mov dword [rbp - 0x39], r11d
mov qword [rbp - 0x49], rdx
mov qword [rsp + 8], rax
jmp 0x14007d74a
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007d686
mov rsi, qword [rsp + 0x20]
mov r12, qword [rsp + 0x18]
jmp 0x14007d74e
mov rsi, qword [rsp + 0x20]
mov r12, qword [rsp + 0x18]
mov rdx, qword [rsp]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r15 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14007d8ad
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx ebx, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14007d8ad
mov rcx, qword [r14 + 0x58]
mov eax, r11d
imul rax, rbx
mov edx, dword [rcx + r11*4 + 0x20]
mov r8d, r11d
mov rcx, qword [rcx + 0xa8]
add rdx, rax
add rcx, rdx
shr r8, 3
xor edx, edx
test r8, r8
je 0x14007d7de
mov r10, rdi
sub r10, rcx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x14007d899
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14007d7c0
mov r8, r11
and r8d, 7
je 0x14007d7fb
movzx eax, byte [rcx]
cmp byte [rdx + rdi], al
jne 0x14007d7fb
inc rcx
inc rdx
sub r8, 1
jne 0x14007d7e7
mov r9, rdx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007d8ad
test r9, r9
je 0x14007d8ad
mov rdx, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r14 + 0x58]
and edx, 0x3f
movzx ecx, byte [r11 + rcx]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rbx
add rdx, rsi
cmp rdx, r12
ja 0x14007d8ad
mov r12, qword [rbp + 0x4f]
mov rbx, qword [rbp + 0x5f]
mov rdi, qword [rbp + 0x77]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 8]
jb 0x14007d8c3
sub r11d, r9d
mov qword [rbp - 0x49], rdx
inc qword [r15 + 0x10]
mov rcx, r9
mov qword [rsp + 0x10], rcx
mov dword [rbp - 0x39], r11d
mov qword [rsp + 8], rax
jmp 0x14007d8c8
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x14007d7fe
mov r12, qword [rbp + 0x4f]
mov rbx, qword [rbp + 0x5f]
mov rdi, qword [rbp + 0x77]
jmp 0x14007d8c3
mov rdi, qword [rbp + 0x77]
mov r14, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x10]
cmp qword [rsp + 8], 0x7e4
jbe 0x14007e5bc
mov r8, qword [rsp]
xor r10d, r10d
mov dword [rbp + 0x47], r10d
dec r8
cmp dword [r14 + 4], 5
mov qword [rsp], r8
jge 0x14007d900
lea rax, [rcx - 1]
mov r13, r8
cmp rax, r8
cmovb r13, rax
jmp 0x14007d903
mov r13, r10
mov r9, qword [rbp - 0x61]
lea r11, [r12 + 1]
mov r15, qword [rdi + 0x40]
cmp r11, r9
mov rax, qword [rbp - 0x59]
mov rcx, r9
cmovb rcx, r11
mov qword [rsp + 0x40], r10
inc rax
mov qword [rsp + 0x18], r11
add rax, r12
mov qword [rsp + 0x20], rcx
cmp rax, r9
mov qword [rsp + 0x38], r10
mov rdx, r9
mov dword [rsp + 0x50], r10d
mov r9, qword [rbp + 0x57]
cmovb rdx, rax
mov rax, qword [r14 + 0x50]
mov esi, 0x7e4
mov qword [rsp + 0x30], rax
mov rdi, r10
lea rax, [r15 + 0x40000]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rbp + 0x5f]
mov r12d, 0x7e4
mov qword [rbp - 0x21], rax
mov rax, r11
and rax, rdx
mov qword [rsp + 0x48], rsi
imul r14d, dword [rax + r9], 0x1e35a7bd
lea rsi, [rax + r9]
mov qword [rbp - 0x79], rax
shr r14, 0x11
nop word [rax + rax]
mov rax, qword [rbp + 0x7f]
mov r10, r11
movsxd rbx, dword [rax + rdi*4]
sub r10, rbx
test rdi, rdi
je 0x14007d9c5
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r14b
jne 0x14007dab3
cmp r10, r11
jae 0x14007dab3
cmp rbx, rcx
ja 0x14007dab3
and r10, qword [rbp + 0x5f]
xor ecx, ecx
add r10, r9
mov rdx, rsi
mov r9, r8
shr r9, 3
test r9, r9
je 0x14007da22
mov r11, r10
sub r11, rsi
nop word [rax + rax]
mov rax, qword [rdx]
mov r8, qword [r11 + rdx]
cmp rax, r8
jne 0x14007dbc0
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14007da00
mov r8, qword [rsp]
and r8d, 7
je 0x14007da43
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14007da43
inc rcx
sub r8, 1
jne 0x14007da30
mov r8, rcx
cmp r8, 2
jb 0x14007da9d
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14007da9d
test rdi, rdi
je 0x14007da88
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r12, r9
jae 0x14007da9d
mov r12, r9
mov qword [rsp + 0x38], r8
mov r13, r8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r9
mov rdx, qword [rbp + 0x5f]
mov r9, qword [rbp + 0x57]
mov r8, qword [rsp]
mov rcx, qword [rsp + 0x20]
mov r11, qword [rsp + 0x18]
mov rax, qword [rbp - 0x69]
mov r10, r11
movsxd rbx, dword [rax + rdi*4]
lea rax, [rdi + 1]
sub r10, rbx
test rax, rax
je 0x14007dadc
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r14b
jne 0x14007dbed
cmp r10, r11
jae 0x14007dbed
cmp rbx, rcx
ja 0x14007dbed
and r10, rdx
mov rcx, rsi
add r10, r9
xor edx, edx
mov r9, r8
shr r9, 3
test r9, r9
je 0x14007db32
mov r11, r10
sub r11, rsi
nop dword [rax + rax]
mov rax, qword [rcx]
mov r8, qword [r11 + rcx]
cmp rax, r8
jne 0x14007dbd4
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007db10
mov r8, qword [rsp]
and r8d, 7
je 0x14007db55
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007db55
inc rcx
inc rdx
sub r8, 1
jne 0x14007db40
mov r8, rdx
cmp r8, 2
jb 0x14007dbe8
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14007dbe8
lea rax, [rdi + 1]
test rax, rax
je 0x14007dba1
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r12, r9
jae 0x14007dbe8
mov r11, qword [rsp + 0x18]
mov r12, r9
mov r13, r8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rbx
mov r10, r9
mov qword [rsp + 0x48], r9
jmp 0x14007dbf2
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14007da46
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007db58
mov r11, qword [rsp + 0x18]
mov r10, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x20]
add rdi, 2
mov r8, qword [rsp]
mov r9, qword [rbp + 0x57]
mov rdx, qword [rbp + 0x5f]
cmp rdi, 0xa
jb 0x14007d9a0
mov rax, qword [rbp + 0x77]
mov rsi, r11
xor ebx, ebx
mov rdi, qword [rax + 0x38]
mov eax, dword [r15 + r14*4]
movzx r15d, word [r15 + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14007dd6d
mov rdx, qword [rbp - 0x79]
mov r8, r9
lea r14, [rdx + r9]
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x20]
ja 0x14007dd6d
mov r9, qword [rbp + 0x5f]
mov rcx, r11
mov rax, qword [rbp - 0x21]
sub rcx, rbx
movzx esi, word [rax + r15*4]
lea rax, [rax + r15*4]
movzx r15d, word [rax + 2]
and rcx, r9
add rdx, r13
cmp rdx, r9
ja 0x14007dd60
lea rax, [rcx + r13]
cmp rax, r9
ja 0x14007dd60
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x14007dd60
lea r11, [rcx + r8]
xor eax, eax
mov rcx, qword [rsp]
mov rdx, r14
mov r8, rcx
shr r8, 3
test r8, r8
je 0x14007dcde
mov r10, r11
sub r10, r14
nop dword [rax]
mov rcx, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rcx, r9
jne 0x14007dd4a
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14007dcc0
mov rcx, qword [rsp]
mov r8, rcx
and r8d, 7
je 0x14007dd03
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x14007dd03
inc rax
sub r8, 1
jne 0x14007dcf0
mov rdx, rax
mov r11, qword [rsp + 0x18]
mov r8, qword [rbp + 0x57]
cmp rdx, 4
jb 0x14007dd5b
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14007dd5b
mov r12, rax
mov qword [rsp + 0x38], rdx
mov r13, rdx
mov qword [rsp + 0x40], rbx
mov r10, rax
mov qword [rsp + 0x48], rax
jmp 0x14007dd60
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14007dd06
mov r10, qword [rsp + 0x48]
mov rdx, qword [rbp - 0x79]
test rdi, rdi
jne 0x14007dc42
mov rdi, qword [rbp + 0x77]
mov r15d, 0xffff
mov r13, qword [rbp + 0x57]
mov rax, r11
and rax, qword [rbp + 0x5f]
mov rcx, r11
mov r9, qword [rdi + 0x40]
movzx edx, word [rdi + 0x30]
imul r8d, dword [rax + r13], 0x1e35a7bd
lea eax, [rdx + 1]
mov word [rdi + 0x30], ax
shr r8, 0x11
mov eax, dword [r9 + r8*4]
sub rcx, rax
movzx eax, r11w
cmp rcx, r15
cmova rcx, r15
mov byte [rax + r9 + 0x30000], r8b
mov word [r9 + rdx*4 + 0x40000], cx
movzx eax, word [r9 + r8*2 + 0x20000]
mov word [r9 + rdx*4 + 0x40002], ax
mov dword [r9 + r8*4], r11d
mov word [r9 + r8*2 + 0x20000], dx
cmp r10, 0x7e4
jne 0x14007e104
mov rax, qword [rbp + 0x77]
mov rdi, qword [rbp - 0x79]
add rdi, r13
mov r15, qword [rax + 0x48]
mov rcx, qword [r15 + 8]
mov rax, rcx
shr rax, 7
cmp qword [r15 + 0x10], rax
jb 0x14007e0f9
imul ebx, dword [rdi], 0x1e35a7bd
lea r14, [rcx + 1]
mov r13, qword [rbp + 0x6f]
mov rdx, qword [rsp]
mov qword [r15 + 8], r14
mov rax, qword [r13 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14007df8a
mov rax, qword [r13 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14007df8a
mov rcx, qword [r13 + 0x58]
mov eax, r11d
imul rax, rsi
mov r8d, dword [rcx + r11*4 + 0x20]
mov edx, r11d
add r8, rax
shr rdx, 3
add r8, qword [rcx + 0xa8]
xor ecx, ecx
test rdx, rdx
je 0x14007deae
mov r10, rdi
sub r10, r8
nop word [rax + rax]
mov r9, qword [r8]
mov rax, qword [r10 + r8]
cmp r9, rax
jne 0x14007df76
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x14007de90
mov rdx, r11
and edx, 7
je 0x14007ded3
sub r8, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
cmp byte [rcx + rdi], al
jne 0x14007ded3
inc rcx
sub rdx, 1
jne 0x14007dec0
mov r9, rcx
mov eax, dword [r13 + 0x64]
mov r12, qword [rsp + 0x58]
add rax, r9
cmp rax, r11
jbe 0x14007df9b
test r9, r9
je 0x14007df9b
mov rdx, qword [r13 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r13 + 0x58]
and edx, 0x3f
mov r13, qword [rsp + 0x30]
movzx ecx, byte [r11 + rcx]
lea rax, [rdx + r8*4]
shl rax, cl
lea rdx, [r12 + 1]
add rax, rsi
mov rsi, qword [rsp + 0x48]
add rdx, rax
cmp rdx, r13
ja 0x14007dfa5
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14007dfa5
sub r11d, r9d
mov qword [rsp + 0x38], r9
inc qword [r15 + 0x10]
mov rsi, rax
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
jmp 0x14007dfa5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007ded6
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x30]
jmp 0x14007dfa9
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x30]
mov rdx, qword [rsp]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r15 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x14007e10f
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx ebx, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14007e10f
mov rcx, qword [r14 + 0x58]
mov eax, r11d
imul rax, rbx
mov edx, dword [rcx + r11*4 + 0x20]
mov r8d, r11d
mov rcx, qword [rcx + 0xa8]
add rdx, rax
add rcx, rdx
shr r8, 3
xor edx, edx
test r8, r8
je 0x14007e02e
mov r10, rdi
sub r10, rcx
nop dword [rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x14007e0e5
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14007e010
mov r8, r11
and r8d, 7
je 0x14007e04b
movzx eax, byte [rcx]
cmp byte [rdx + rdi], al
jne 0x14007e04b
inc rcx
inc rdx
sub r8, 1
jne 0x14007e037
mov r9, rdx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007e10f
test r9, r9
je 0x14007e10f
mov rdx, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r14 + 0x58]
and edx, 0x3f
movzx ecx, byte [r11 + rcx]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rbx
add rdx, r12
cmp rdx, r13
ja 0x14007e10f
mov r13, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x77]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14007e117
sub r11d, r9d
mov qword [rsp + 0x38], r9
inc qword [r15 + 0x10]
mov rsi, rax
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
jmp 0x14007e117
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x14007e04e
mov rsi, qword [rsp + 0x48]
mov r14, qword [rbp + 0x6f]
jmp 0x14007e113
mov rsi, qword [rsp + 0x48]
mov r14, qword [rbp + 0x6f]
jmp 0x14007e117
mov r13, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x77]
mov rax, qword [rsp + 8]
mov r12, qword [rbp + 0x4f]
add rax, 0xaf
cmp rsi, rax
jb 0x14007e18d
mov ecx, dword [rbp + 0x47]
inc r12
movups xmm0, xmmword [rsp + 0x38]
inc qword [rsp + 0x28]
inc ecx
mov qword [rbp + 0x4f], r12
mov dword [rbp + 0x47], ecx
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm1
cmp ecx, 4
jge 0x14007e182
lea rax, [r12 + 4]
cmp rax, qword [rbp - 0x71]
jae 0x14007e182
mov r8, qword [rsp]
mov rbx, qword [rbp - 0x41]
dec r8
mov rcx, qword [rbp - 0x51]
xor r10d, r10d
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
jmp 0x14007d8e5
mov r10, qword [rbp - 0x51]
mov qword [rsp + 0x10], r10
jmp 0x14007e192
mov r10, qword [rsp + 0x10]
mov rax, qword [rbp - 0x29]
mov r9, qword [rbp - 0x61]
mov rbx, qword [rbp - 0x49]
mov r11, qword [rbp + 0x7f]
lea r15, [rax + r10*2]
mov rax, qword [rbp - 0x59]
add rax, r12
add r15, r12
cmp rax, r9
mov qword [rbp - 0x79], r15
cmovb r9, rax
cmp rbx, r9
ja 0x14007e248
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r8, dword [r11 + 4]
lea rdi, [r11 + 4]
mov rdx, rcx
sub rcx, r8
sub rdx, rax
cmp rbx, rax
jne 0x14007e1e6
xor r8d, r8d
jmp 0x14007e250
cmp rbx, r8
jne 0x14007e1f3
mov r8d, 1
jmp 0x14007e250
cmp rdx, 7
jae 0x14007e20e
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14007e250
cmp rcx, 7
jae 0x14007e226
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14007e250
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x14007e237
mov r8d, 2
jmp 0x14007e250
movsxd rax, dword [r11 + 0xc]
cmp rbx, rax
jne 0x14007e24c
mov r8d, 3
jmp 0x14007e250
mov rdi, qword [rbp - 0x69]
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14007e29a
test r8, r8
je 0x14007e29a
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdi]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdi], eax
lea eax, [rbx - 1]
mov dword [r11 + 0x10], eax
lea eax, [rbx + 1]
mov dword [r11 + 0x14], eax
lea eax, [rbx - 2]
mov dword [r11 + 0x18], eax
lea eax, [rbx + 2]
mov dword [r11 + 0x1c], eax
lea eax, [rbx - 3]
mov dword [r11 + 0x20], eax
lea eax, [rbx + 3]
mov dword [r11 + 0x24], eax
mov dword [r11], ebx
mov rcx, qword [rbp + 0x8f]
mov esi, dword [rbp - 0x39]
mov r11, qword [rsp + 0x28]
mov r15, qword [rbp + 0x6f]
movzx eax, sil
shl eax, 0x19
or eax, r10d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x14007e2ce
xor edi, edi
jmp 0x14007e347
mov r11d, dword [r15 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x28]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x8f]
mov eax, 0x3ff
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
mov rdi, qword [rsp + 0x10]
lea edx, [rdi + rsi]
movsxd r9, edx
cmp r11, 6
jae 0x14007e37c
movzx r10d, r11w
mov eax, 0x17
jmp 0x14007e3ec
cmp r11, 0x82
jae 0x14007e3a6
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x14007e3ec
cmp r11, 0x842
jae 0x14007e3c3
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14007e3ec
mov eax, 0x17
cmp r11, 0x1842
jae 0x14007e3d7
lea r10d, [rax - 2]
jmp 0x14007e3ec
cmp r11, 0x5842
jae 0x14007e3e8
mov r10d, 0x16
jmp 0x14007e3ec
movzx r10d, ax
cmp r9, 0xa
jae 0x14007e3f9
sub r9w, 2
jmp 0x14007e439
cmp r9, 0x86
jae 0x14007e41e
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x14007e439
cmp r9, 0x846
jae 0x14007e435
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14007e439
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x14007e471
cmp r10w, 8
jae 0x14007e471
cmp r9w, 0x10
jae 0x14007e471
cmp r9w, 8
jb 0x14007e4a5
or dx, 0x40
jmp 0x14007e4a5
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x9f]
lea r10, [r12 + 2]
xor esi, esi
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x28], rsi
mov qword [rbp + 0x8f], r14
add qword [rax], r11
lea rax, [rdi + r12]
mov r11, qword [rbp - 0x31]
cmp rax, r11
cmovb r11, rax
mov rax, rdi
shr rax, 2
cmp rbx, rax
jae 0x14007e50f
lea rax, [rbx*4]
mov rcx, rdi
sub rcx, rax
lea rax, [rcx + r12]
cmp r10, rax
mov eax, 2
cmova rcx, rax
lea r10, [r12 + rcx]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x14007e5b0
mov r12, qword [rbp + 0x5f]
mov r14d, 0xffff
mov r15, qword [rbp + 0x77]
nop word [rax + rax]
mov r9, qword [r15 + 0x40]
mov rax, r10
movzx r8d, word [r15 + 0x30]
and rax, r12
mov rcx, r10
imul edx, dword [rax + r13], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r15 + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r10w
cmp rcx, r14
cmova rcx, r14
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r10d
inc r10
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r10, r11
jb 0x14007e530
mov r12, qword [rbp + 0x4f]
mov r15, qword [rbp + 0x6f]
mov r14, qword [rbp + 0x8f]
add r12, rdi
mov qword [rbp + 0x4f], r12
jmp 0x14007e765
mov rsi, qword [rsp + 0x28]
inc r12
mov r15, qword [rbp - 0x79]
inc rsi
mov qword [rsp + 0x28], rsi
mov qword [rbp + 0x4f], r12
cmp r12, r15
jbe 0x14007e75a
mov rax, qword [rbp - 0x29]
mov r10, qword [rbp - 0x71]
lea rax, [r15 + rax*4]
cmp r12, rax
jbe 0x14007e6a6
add r10, 0xfffffffffffffffc
lea rax, [r12 + 0x10]
cmp rax, r10
cmovb r10, rax
cmp r12, r10
jae 0x14007e75a
add rsi, 4
mov rax, r10
sub rax, r12
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x28], rsi
mov esi, 0xffff
nop dword [rax]
mov r9, qword [rdi + 0x40]
mov rax, r12
movzx r8d, word [rdi + 0x30]
and rax, rbx
mov rcx, r12
imul edx, dword [rax + r13], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rdi + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r12w
cmp rcx, rsi
cmova rcx, rsi
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r12d
add r12, 4
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r12, r10
jb 0x14007e630
jmp 0x14007e751
add r10, 0xfffffffffffffffd
lea rax, [r12 + 8]
cmp rax, r10
cmovb r10, rax
cmp r12, r10
jae 0x14007e75a
add rsi, 2
mov rax, r10
sub rax, r12
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x28], rsi
mov esi, 0xffff
nop dword [rax]
mov r9, qword [rdi + 0x40]
mov rax, r12
movzx r8d, word [rdi + 0x30]
and rax, rbx
mov rcx, r12
imul edx, dword [rax + r13], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rdi + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r12w
cmp rcx, rsi
cmova rcx, rsi
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r12d
add r12, 2
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r12, r10
jb 0x14007e6e0
mov rsi, qword [rsp + 0x28]
mov qword [rbp + 0x4f], r12
mov r15, qword [rbp + 0x6f]
mov r14, qword [rbp + 0x8f]
mov r10, qword [rbp - 0x71]
lea rax, [r12 + 4]
mov r9, qword [rbp + 0x5f]
mov rbx, qword [rbp + 0x7f]
mov r11, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x59]
cmp rax, r10
jb 0x14007d0d0
mov rdi, qword [rsp + 0xd8]
mov rax, qword [rbp + 0x87]
sub r10, r12
sub r14, qword [rbp - 0x19]
add r10, rsi
sar r14, 4
mov qword [rax], r10
mov rax, qword [rbp + 0x97]
add qword [rax], r14
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r15, qword [rbp + 0x6f]
mov r10, rcx
mov r14, qword [rbp + 0x87]
mov ebx, 1
mov r9, qword [rbp + 0x77]
mov r13, r8
mov rax, qword [rbp + 0x8f]
add r9, 0x30
mov ecx, dword [r15 + 8]
lea r11, [r10 + rdx]
mov rdi, qword [r15 + 0x10]
mov rsi, rdx
mov r14, qword [r14]
shl rbx, cl
sub rbx, 0x10
mov qword [rsp + 8], r9
mov qword [rbp - 0x41], rbx
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x11], rax
mov qword [rsp + 0x30], r14
mov qword [rbp - 0x69], r11
cmp r10, 4
jb 0x14007e85d
lea rax, [r11 - 3]
mov qword [rbp - 0x29], rax
jmp 0x14007e861
mov qword [rbp - 0x29], rsi
mov rdx, qword [rbp + 0x7f]
mov ecx, 0x40
cmp dword [r15 + 4], 9
mov eax, 0x200
cmovl eax, ecx
mov ecx, dword [rdx]
mov qword [rbp - 0x21], rax
add rax, rsi
mov qword [rbp - 0x71], rax
lea eax, [rcx - 1]
mov dword [rdx + 0x10], eax
lea eax, [rcx + 1]
mov dword [rdx + 0x14], eax
lea eax, [rcx - 2]
mov dword [rdx + 0x18], eax
lea eax, [rcx + 2]
mov dword [rdx + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rdx + 0x20], eax
lea eax, [rcx + 3]
mov ecx, dword [rdx + 4]
mov dword [rdx + 0x24], eax
lea eax, [rcx - 1]
mov dword [rdx + 0x28], eax
lea eax, [rcx + 1]
mov dword [rdx + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdx + 0x30], eax
lea eax, [rcx + 2]
mov dword [rdx + 0x34], eax
lea eax, [rcx - 3]
mov dword [rdx + 0x38], eax
lea eax, [rcx + 3]
mov dword [rdx + 0x3c], eax
lea rax, [rsi + 4]
cmp rax, r11
jae 0x140080560
lea rax, [rdx + 8]
mov qword [rsp + 0xd8], r12
mov qword [rbp - 0x31], rax
nop dword [rax]
xor r14d, r14d
mov qword [rsp + 0x10], 0x7e4
lea rax, [rdi + rsi]
mov qword [rbp - 0x59], r14
mov r8, r11
mov qword [rsp + 0x28], r14
sub r8, rsi
mov dword [rbp - 0x49], r14d
cmp rsi, rbx
mov qword [rsp], r14
mov rcx, rbx
mov qword [rbp + 0x47], r8
cmovb rcx, rsi
lea edi, [r14 + 2]
mov r14, qword [rbp - 0x31]
cmp rax, rbx
mov rdx, rbx
mov qword [rbp + 0x77], rcx
cmovb rdx, rax
mov rax, qword [r15 + 0x50]
mov r15, qword [r9 + 0x408]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x5f]
lea rax, [r15 + 0x40000]
mov qword [rsp + 0x40], rax
mov rax, rsi
and rax, rdx
imul r12d, dword [rax + r13], 0x1e35a7bd
lea rsi, [rax + r13]
mov qword [rsp + 0x38], rax
mov r13d, 0x7e4
shr r12, 0x11
jmp 0x14007e998
mov rcx, qword [rbp + 0x77]
mov r8, qword [rbp + 0x47]
mov r10, qword [rbp + 0x4f]
lea r11, [rdi - 2]
movsxd rbx, dword [r14 - 8]
mov r9, r10
sub r9, rbx
test r11, r11
je 0x14007e9c1
movzx eax, r9w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007eab4
cmp r9, r10
jae 0x14007eab4
cmp rbx, rcx
ja 0x14007eab4
and r9, qword [rbp + 0x5f]
xor ecx, ecx
add r9, qword [rbp + 0x57]
mov rdx, rsi
shr r8, 3
test r8, r8
je 0x14007ea0e
nop dword [rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r9]
cmp r10, rax
jne 0x14007ea97
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007e9f0
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x14007ea33
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r9], al
jne 0x14007ea33
inc rcx
sub r8, 1
jne 0x14007ea20
mov r8, rcx
cmp r8, 2
jb 0x14007eaa8
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007eaa8
test r11, r11
je 0x14007ea73
movzx ecx, r11b
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
mov rcx, qword [rbp + 0x77]
mov rdx, qword [rbp + 0x5f]
cmp r13, r9
jae 0x14007eab0
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
jmp 0x14007eab0
xor rax, r10
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14007ea36
mov rdx, qword [rbp + 0x5f]
mov rcx, qword [rbp + 0x77]
mov r8, qword [rbp + 0x47]
mov r9, qword [rbp + 0x4f]
lea rax, [rdi - 1]
movsxd rbx, dword [r14 - 4]
mov r10, r9
sub r10, rbx
test rax, rax
je 0x14007eadd
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007ebb2
cmp r10, r9
jae 0x14007ebb2
cmp rbx, rcx
ja 0x14007ebb2
and r10, rdx
mov r9, r8
add r10, qword [rbp + 0x57]
xor edx, edx
shr r9, 3
mov rcx, rsi
test r9, r9
je 0x14007eb32
mov r11, r10
sub r11, rsi
nop dword [rax]
mov rax, qword [rcx]
mov r8, qword [rcx + r11]
cmp rax, r8
jne 0x14007edd6
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007eb10
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x14007eb55
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007eb55
inc rcx
inc rdx
sub r8, 1
jne 0x14007eb40
mov r8, rdx
cmp r8, 2
jb 0x14007ebb2
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007ebb2
lea rax, [rdi - 1]
test rax, rax
je 0x14007eb9d
lea ecx, [rdi - 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x14007ebb2
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
mov rcx, qword [rbp + 0x4f]
movsxd rbx, dword [r14]
mov r10, rcx
sub r10, rbx
test rdi, rdi
je 0x14007ebd6
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007ecaf
cmp r10, rcx
mov rcx, qword [rbp + 0x77]
jae 0x14007ecb3
cmp rbx, rcx
ja 0x14007ecb3
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r9, rax
shr r9, 3
test r9, r9
je 0x14007ec32
mov r11, r10
sub r11, rsi
nop
mov rax, qword [rcx]
mov r8, qword [rcx + r11]
cmp rax, r8
jne 0x14007edea
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007ec10
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x14007ec55
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007ec55
inc rcx
inc rdx
sub r8, 1
jne 0x14007ec40
mov r8, rdx
cmp r8, 2
jb 0x14007ecaf
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007ecaf
test rdi, rdi
je 0x14007ec9a
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x14007ecaf
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
mov rcx, qword [rbp + 0x77]
mov r8, qword [rbp + 0x4f]
lea rax, [rdi + 1]
movsxd rbx, dword [r14 + 4]
mov r10, r8
sub r10, rbx
test rax, rax
je 0x14007ecdc
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007ee16
cmp r10, r8
jae 0x14007ee16
cmp rbx, rcx
ja 0x14007ee16
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14007ed42
mov r11, r10
sub r11, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r11]
cmp rax, r9
jne 0x14007edfe
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14007ed20
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x14007ed65
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007ed65
inc rcx
inc rdx
sub r8, 1
jne 0x14007ed50
mov r8, rdx
cmp r8, 2
jb 0x14007ee12
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007ee12
lea rax, [rdi + 1]
test rax, rax
je 0x14007edb5
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x14007ee12
mov r10, r8
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov r13, r9
mov r8, qword [rbp + 0x4f]
mov r11, r9
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
jmp 0x14007ee1f
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007eb58
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007ec58
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007ed68
mov r8, qword [rbp + 0x4f]
mov r11, qword [rsp + 0x10]
mov r10, qword [rsp]
mov rdx, qword [rbp + 0x5f]
add rdi, 4
add r14, 0x10
lea rax, [rdi - 2]
cmp rax, 0x10
jb 0x14007e990
mov rax, qword [rsp + 8]
mov r15, r12
mov rsi, r8
and r15d, 0x1ff
xor ebx, ebx
mov rcx, qword [rax + 0x408]
mov rdi, qword [rax + 0x400]
mov eax, dword [rcx + r12*4]
movzx r12d, word [rcx + r12*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14007efc4
mov rdx, qword [rsp + 0x38]
mov r9, qword [rbp + 0x57]
lea r14, [rdx + r9]
nop dword [rax]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rbp + 0x77]
ja 0x14007efc4
mov r11, qword [rbp + 0x5f]
mov rcx, r8
mov r8, qword [rsp + 0x40]
sub rcx, rbx
mov rax, r15
and rcx, r11
shl rax, 9
add rdx, r10
add rax, r12
movzx r12d, word [r8 + rax*4 + 2]
movzx esi, word [r8 + rax*4]
cmp rdx, r11
ja 0x14007efad
lea rax, [rcx + r10]
cmp rax, r11
ja 0x14007efad
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x14007efad
mov rax, qword [rbp + 0x47]
lea r11, [rcx + r9]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r14
test r8, r8
je 0x14007ef2e
mov r10, r11
sub r10, r14
nop
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14007ef98
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14007ef10
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x14007ef53
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14007ef53
inc rcx
sub r8, 1
jne 0x14007ef40
mov rdx, rcx
mov r9, qword [rbp + 0x57]
cmp rdx, 4
jb 0x14007efa9
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x14007efa9
mov r13, rax
mov qword [rsp], rdx
mov r10, rdx
mov qword [rsp + 0x28], rdx
mov qword [rbp - 0x59], rbx
mov r11, rax
mov qword [rsp + 0x10], rax
jmp 0x14007efb2
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14007ef56
mov r10, qword [rsp]
mov r11, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rbp + 0x4f]
test rdi, rdi
jne 0x14007ee90
mov rsi, qword [rbp + 0x4f]
mov r12d, 0xffff
mov rdi, qword [rsp + 8]
mov rax, rsi
mov rbx, qword [rbp + 0x5f]
mov rdx, rsi
mov r13, qword [rbp + 0x57]
and rax, rbx
mov r10, qword [rdi + 0x408]
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, si
cmp rdx, r12
cmova rdx, r12
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
mov word [r10 + rax*4], dx
lea rcx, [r10 + rax*4]
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], esi
mov word [r10 + r9*2 + 0x20000], r8w
cmp r11, 0x7e4
jne 0x14007f39c
mov r9, qword [rsp + 8]
mov rdi, qword [rsp + 0x38]
add rdi, r13
mov r15, qword [r9 + 0x410]
mov rcx, qword [r15 + 8]
mov rax, rcx
shr rax, 7
cmp qword [r15 + 0x10], rax
jb 0x14007f399
imul ebx, dword [rdi], 0x1e35a7bd
lea r14, [rcx + 1]
mov r12, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x47]
mov qword [r15 + 8], r14
mov rax, qword [r12 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14007f204
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14007f204
mov rcx, qword [r12 + 0x58]
mov eax, r11d
imul rax, rsi
mov r8d, dword [rcx + r11*4 + 0x20]
mov edx, r11d
add r8, rax
shr rdx, 3
add r8, qword [rcx + 0xa8]
xor ecx, ecx
test rdx, rdx
je 0x14007f12e
mov r10, rdi
sub r10, r8
nop dword [rax]
mov r9, qword [r8]
mov rax, qword [r8 + r10]
cmp r9, rax
jne 0x14007f1f0
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x14007f110
mov rdx, r11
and edx, 7
je 0x14007f153
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
cmp byte [rcx + rdi], al
jne 0x14007f153
inc rcx
sub rdx, 1
jne 0x14007f140
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007f210
test r9, r9
je 0x14007f210
mov rdx, qword [r12 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r12 + 0x58]
and edx, 0x3f
mov r12, qword [rsp + 0x18]
movzx ecx, byte [r11 + rcx]
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x20]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, r12
ja 0x14007f21a
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jb 0x14007f21a
sub r11d, r9d
mov qword [rsp + 0x28], r9
inc qword [r15 + 0x10]
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], rdx
mov qword [rsp + 0x10], rax
jmp 0x14007f21a
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007f156
mov rsi, qword [rsp + 0x20]
mov r12, qword [rsp + 0x18]
jmp 0x14007f21e
mov rsi, qword [rsp + 0x20]
mov r12, qword [rsp + 0x18]
mov rdx, qword [rbp + 0x47]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r15 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x14007f384
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx ebx, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14007f384
mov rcx, qword [r14 + 0x58]
mov eax, r11d
imul rax, rbx
mov edx, dword [rcx + r11*4 + 0x20]
mov r8d, r11d
mov rcx, qword [rcx + 0xa8]
add rdx, rax
add rcx, rdx
shr r8, 3
xor edx, edx
test r8, r8
je 0x14007f2ae
mov r10, rdi
sub r10, rcx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14007f370
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14007f290
mov r8, r11
and r8d, 7
je 0x14007f2cb
movzx eax, byte [rcx]
cmp byte [rdx + rdi], al
jne 0x14007f2cb
inc rcx
inc rdx
sub r8, 1
jne 0x14007f2b7
mov r9, rdx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007f384
test r9, r9
je 0x14007f384
mov rdx, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r14 + 0x58]
and edx, 0x3f
movzx ecx, byte [r11 + rcx]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rbx
add rdx, rsi
cmp rdx, r12
ja 0x14007f384
mov rbx, qword [rbp + 0x5f]
mov r12d, 0xffff
mov rsi, qword [rbp + 0x4f]
mov rdi, qword [rsp + 8]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jb 0x14007f3a0
sub r11d, r9d
mov qword [rbp - 0x59], rdx
inc qword [r15 + 0x10]
mov rcx, r9
mov qword [rsp + 0x28], rcx
mov dword [rbp - 0x49], r11d
mov qword [rsp + 0x10], rax
jmp 0x14007f3a5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x14007f2ce
mov rbx, qword [rbp + 0x5f]
mov r12d, 0xffff
mov rsi, qword [rbp + 0x4f]
mov rdi, qword [rsp + 8]
jmp 0x14007f3a0
mov rdi, r9
mov r14, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x28]
cmp qword [rsp + 0x10], 0x7e4
jbe 0x14008035a
mov dword [rbp + 0x77], 0
mov r8, qword [rbp + 0x47]
dec r8
cmp dword [r14 + 4], 5
mov qword [rbp + 0x47], r8
jge 0x14007f3e1
lea rax, [rcx - 1]
mov r10, r8
cmp rax, r8
cmovb r10, rax
mov qword [rsp], r10
jmp 0x14007f3e7
xor eax, eax
mov qword [rsp], rax
mov r9, qword [rbp - 0x41]
lea r11, [rsi + 1]
mov r15, qword [rdi + 0x408]
cmp r11, r9
mov rax, qword [rbp - 0x39]
mov r12d, 0x7e4
mov rcx, r9
mov qword [rsp + 0x58], r12
cmovb rcx, r11
mov qword [rsp + 0x50], 0
inc rax
mov qword [rsp + 0x18], r11
add rax, rsi
mov qword [rsp + 0x20], rcx
cmp rax, r9
mov qword [rsp + 0x48], 0
mov rdx, r9
mov dword [rbp - 0x79], 0
mov r9, qword [rbp + 0x57]
cmovb rdx, rax
mov rax, qword [r14 + 0x50]
mov edi, 2
mov r14, qword [rbp - 0x31]
mov r13d, 0x7e4
mov qword [rsp + 0x38], rax
lea rax, [r15 + 0x40000]
mov qword [rbp - 0x19], rax
mov rax, r11
mov qword [rsp + 0x40], rdx
mov rdx, qword [rbp + 0x5f]
and rax, rdx
imul r12d, dword [rax + r9], 0x1e35a7bd
lea rsi, [rax + r9]
mov qword [rbp - 0x71], rax
shr r12, 0x11
jmp 0x14007f4a1
mov rcx, qword [rsp + 0x20]
mov r8, qword [rbp + 0x47]
mov r9, qword [rbp + 0x57]
mov rdx, qword [rbp + 0x5f]
movsxd rbx, dword [r14 - 8]
lea rax, [rdi - 2]
sub r11, rbx
test rax, rax
je 0x14007f4c3
movzx eax, r11w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007f5ce
cmp r11, qword [rsp + 0x18]
jae 0x14007f5ce
cmp rbx, rcx
ja 0x14007f5ce
and r11, qword [rbp + 0x5f]
xor ecx, ecx
add r11, r9
mov rdx, rsi
mov r9, r8
shr r9, 3
test r9, r9
je 0x14007f522
mov r10, r11
sub r10, rsi
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x14007f5ac
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14007f500
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x14007f543
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14007f543
inc rcx
sub r8, 1
jne 0x14007f530
mov r8, rcx
cmp r8, 2
jb 0x14007f5bd
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007f5bd
lea rax, [rdi - 2]
test rax, rax
je 0x14007f586
lea ecx, [rdi - 2]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rbp + 0x5f]
cmp r13, r9
jae 0x14007f5c6
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
jmp 0x14007f5c6
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14007f546
mov rdx, qword [rbp + 0x5f]
mov rcx, qword [rsp + 0x20]
mov r9, qword [rbp + 0x57]
mov r8, qword [rbp + 0x47]
movsxd rbx, dword [r14 - 4]
lea rax, [rdi - 1]
mov r11, qword [rsp + 0x18]
sub r11, rbx
test rax, rax
je 0x14007f5f5
movzx eax, r11w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007f6d3
cmp r11, qword [rsp + 0x18]
jae 0x14007f6d3
cmp rbx, rcx
ja 0x14007f6d3
and r11, rdx
mov rcx, rsi
add r11, r9
xor edx, edx
mov r9, r8
shr r9, 3
test r9, r9
je 0x14007f652
mov r10, r11
sub r10, rsi
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x14007f905
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007f630
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x14007f675
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x14007f675
inc rcx
inc rdx
sub r8, 1
jne 0x14007f660
mov r8, rdx
cmp r8, 2
jb 0x14007f6d3
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007f6d3
lea rax, [rdi - 1]
test rax, rax
je 0x14007f6bd
lea ecx, [rdi - 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x14007f6d3
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
mov r11, qword [rsp + 0x18]
movsxd rbx, dword [r14]
mov r10, r11
sub r10, rbx
test rdi, rdi
je 0x14007f6f8
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007f7e5
mov rcx, qword [rsp + 0x20]
cmp r10, r11
jae 0x14007f7ea
cmp rbx, rcx
ja 0x14007f7ea
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r9, rax
shr r9, 3
test r9, r9
je 0x14007f762
mov r11, r10
sub r11, rsi
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x14007f919
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007f740
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x14007f785
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007f785
inc rcx
inc rdx
sub r8, 1
jne 0x14007f770
mov r8, rdx
cmp r8, 2
jb 0x14007f7e0
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007f7e0
test rdi, rdi
je 0x14007f7ca
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x14007f7e0
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
mov r11, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
movsxd rbx, dword [r14 + 4]
lea rax, [rdi + 1]
mov r10, r11
sub r10, rbx
test rax, rax
je 0x14007f80f
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x14007f946
cmp r10, r11
jae 0x14007f946
cmp rbx, rcx
ja 0x14007f946
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r9, rax
shr r9, 3
test r9, r9
je 0x14007f872
mov r11, r10
sub r11, rsi
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x14007f92d
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14007f850
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x14007f895
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14007f895
inc rcx
inc rdx
sub r8, 1
jne 0x14007f880
mov r8, rdx
cmp r8, 2
jb 0x14007f941
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14007f941
lea rax, [rdi + 1]
test rax, rax
je 0x14007f8e5
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x14007f941
mov r11, qword [rsp + 0x18]
mov r13, r9
mov r10, r8
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
jmp 0x14007f94a
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007f678
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007f788
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14007f898
mov r11, qword [rsp + 0x18]
mov r10, qword [rsp]
add rdi, 4
add r14, 0x10
lea rax, [rdi - 2]
cmp rax, 0x10
jb 0x14007f490
mov rax, qword [rsp + 8]
mov r15, r12
mov rsi, r11
and r15d, 0x1ff
xor ebx, ebx
mov rcx, qword [rax + 0x408]
mov rdi, qword [rax + 0x400]
mov eax, dword [rcx + r12*4]
movzx r12d, word [rcx + r12*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14007fadd
mov rdx, qword [rbp - 0x71]
mov r9, qword [rbp + 0x57]
lea r14, [rdx + r9]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x20]
ja 0x14007fadd
mov r8, qword [rbp - 0x19]
mov rax, r15
shl rax, 9
mov rcx, r11
add rax, r12
sub rcx, rbx
and rcx, qword [rbp + 0x5f]
add rdx, r10
movzx r12d, word [r8 + rax*4 + 2]
movzx esi, word [r8 + rax*4]
mov r8, qword [rbp + 0x5f]
cmp rdx, r8
ja 0x14007fad0
lea rax, [rcx + r10]
cmp rax, r8
ja 0x14007fad0
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x14007fad0
lea r11, [rcx + r9]
xor eax, eax
mov rcx, qword [rbp + 0x47]
mov rdx, r14
mov r8, rcx
shr r8, 3
test r8, r8
je 0x14007fa4e
mov r10, r11
sub r10, r14
nop
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x14007fabb
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14007fa30
mov rcx, qword [rbp + 0x47]
mov r8, rcx
and r8d, 7
je 0x14007fa73
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x14007fa73
inc rax
sub r8, 1
jne 0x14007fa60
mov rdx, rax
mov r11, qword [rsp + 0x18]
mov r9, qword [rbp + 0x57]
cmp rdx, 4
jb 0x14007facc
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x14007facc
mov r13, rax
mov qword [rsp], rdx
mov r10, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rax
jmp 0x14007fad0
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14007fa76
mov r10, qword [rsp]
mov rdx, qword [rbp - 0x71]
test rdi, rdi
jne 0x14007f9b0
mov rdi, qword [rsp + 8]
mov rax, r11
and rax, qword [rbp + 0x5f]
mov rdx, r11
mov r13, qword [rbp + 0x57]
mov r12, qword [rsp + 0x58]
mov r10, qword [rdi + 0x408]
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, r11w
mov byte [rax + r10 + 0x30000], r9b
mov eax, 0xffff
cmp rdx, rax
cmova rdx, rax
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
mov word [r10 + rax*4], dx
lea rcx, [r10 + rax*4]
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], r11d
mov word [r10 + r9*2 + 0x20000], r8w
cmp r12, 0x7e4
jne 0x14007fe87
mov r9, qword [rsp + 8]
mov rdi, qword [rbp - 0x71]
add rdi, r13
mov r15, qword [r9 + 0x410]
mov rcx, qword [r15 + 8]
mov rax, rcx
shr rax, 7
cmp qword [r15 + 0x10], rax
jb 0x14007fe84
imul ebx, dword [rdi], 0x1e35a7bd
lea r14, [rcx + 1]
mov r13, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x47]
mov qword [r15 + 8], r14
mov rax, qword [r13 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14007fd13
mov rax, qword [r13 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14007fd13
mov rcx, qword [r13 + 0x58]
mov eax, r11d
imul rax, rsi
mov r8d, dword [rcx + r11*4 + 0x20]
mov edx, r11d
add r8, rax
shr rdx, 3
add r8, qword [rcx + 0xa8]
xor ecx, ecx
test rdx, rdx
je 0x14007fc3e
mov r10, rdi
sub r10, r8
mov r9, qword [r8]
mov rax, qword [r10 + r8]
cmp r9, rax
jne 0x14007fcff
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x14007fc20
mov rdx, r11
and edx, 7
je 0x14007fc63
sub r8, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
cmp byte [rcx + rdi], al
jne 0x14007fc63
inc rcx
sub rdx, 1
jne 0x14007fc50
mov r9, rcx
mov eax, dword [r13 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007fd1f
test r9, r9
je 0x14007fd1f
mov rdx, qword [r13 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r13 + 0x58]
and edx, 0x3f
mov r13, qword [rsp + 0x38]
movzx ecx, byte [r11 + rcx]
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x40]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, r13
ja 0x14007fd29
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x14007fd29
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r15 + 0x10]
mov r12, rax
mov dword [rbp - 0x79], r11d
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
jmp 0x14007fd29
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14007fc66
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
jmp 0x14007fd2d
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov rdx, qword [rbp + 0x47]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r15 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14007fe79
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx ebx, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14007fe79
mov rcx, qword [r14 + 0x58]
mov eax, r11d
imul rax, rbx
mov edx, dword [rcx + r11*4 + 0x20]
mov r8d, r11d
mov rcx, qword [rcx + 0xa8]
add rdx, rax
add rcx, rdx
shr r8, 3
xor edx, edx
test r8, r8
je 0x14007fdae
mov r10, rdi
sub r10, rcx
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x14007fe65
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14007fd90
mov r8, r11
and r8d, 7
je 0x14007fdcb
movzx eax, byte [rcx]
cmp byte [rdx + rdi], al
jne 0x14007fdcb
inc rcx
inc rdx
sub r8, 1
jne 0x14007fdb7
mov r9, rdx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14007fe79
test r9, r9
je 0x14007fe79
mov rdx, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r14 + 0x58]
and edx, 0x3f
movzx ecx, byte [r11 + rcx]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rbx
add rdx, rsi
cmp rdx, r13
ja 0x14007fe79
mov r13, qword [rbp + 0x57]
mov rdi, qword [rsp + 8]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x14007fe8b
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r15 + 0x10]
mov r12, rax
mov dword [rbp - 0x79], r11d
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
jmp 0x14007fe8b
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x14007fdce
mov r13, qword [rbp + 0x57]
mov rdi, qword [rsp + 8]
jmp 0x14007fe8b
mov rdi, r9
mov r14, qword [rbp + 0x6f]
mov rax, qword [rsp + 0x10]
mov rsi, qword [rbp + 0x4f]
add rax, 0xaf
mov r11, qword [rsp + 0x30]
cmp r12, rax
jb 0x14007fef9
mov ecx, dword [rbp + 0x77]
inc rsi
movups xmm0, xmmword [rsp + 0x48]
inc ecx
inc r11
mov qword [rbp + 0x4f], rsi
mov qword [rsp + 0x30], r11
mov dword [rbp + 0x77], ecx
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x14007fef3
lea rax, [rsi + 4]
cmp rax, qword [rbp - 0x69]
jae 0x14007fef3
mov rbx, qword [rbp - 0x51]
mov rcx, qword [rbp - 0x61]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x28], rcx
jmp 0x14007f3bb
mov r12, qword [rbp - 0x61]
jmp 0x14007fefe
mov r12, qword [rsp + 0x28]
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x59]
mov r10, qword [rbp + 0x7f]
lea r15, [rax + r12*2]
mov rax, qword [rbp - 0x39]
add rax, rsi
add r15, rsi
cmp rax, r9
mov qword [rbp - 0x71], r15
cmovb r9, rax
cmp rdi, r9
ja 0x14007ffaa
movsxd rax, dword [r10]
lea rcx, [rdi + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rdi, rax
jne 0x14007ff4a
xor r8d, r8d
jmp 0x14007ffae
cmp rdi, r8
jne 0x14007ff57
mov r8d, 1
jmp 0x14007ffae
cmp rdx, 7
jae 0x14007ff72
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14007ffae
cmp rcx, 7
jae 0x14007ff8a
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14007ffae
movsxd rax, dword [r10 + 8]
cmp rdi, rax
jne 0x14007ff9b
mov r8d, 2
jmp 0x14007ffae
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x14007ffae
lea r8, [rdi + 0xf]
cmp rdi, r9
ja 0x140080026
test r8, r8
je 0x140080026
mov ecx, dword [r10]
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
lea eax, [rdi - 1]
mov dword [r10 + 0x10], eax
lea eax, [rdi + 1]
mov dword [r10 + 0x14], eax
lea eax, [rdi - 2]
mov dword [r10 + 0x18], eax
lea eax, [rdi + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rdi - 3]
mov dword [r10 + 0x20], eax
lea eax, [rdi + 3]
mov dword [r10 + 0x24], eax
lea eax, [rcx - 1]
mov dword [r10 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x3c], eax
mov dword [r10 + 4], ecx
mov dword [r10], edi
mov rcx, qword [rbp + 0x8f]
mov esi, dword [rbp - 0x49]
mov r15, qword [rbp + 0x6f]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140080055
xor ebx, ebx
jmp 0x1400800ce
mov r11d, dword [r15 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x30]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x8f]
lea edx, [r12 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], ebx
cmp r11, 6
jae 0x1400800ff
movzx r10d, r11w
mov eax, 0x17
jmp 0x14008016f
cmp r11, 0x82
jae 0x140080129
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x14008016f
cmp r11, 0x842
jae 0x140080146
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14008016f
mov eax, 0x17
cmp r11, 0x1842
jae 0x14008015a
lea r10d, [rax - 2]
jmp 0x14008016f
cmp r11, 0x5842
jae 0x14008016b
mov r10d, 0x16
jmp 0x14008016f
movzx r10d, ax
cmp r9, 0xa
jae 0x14008017c
sub r9w, 2
jmp 0x1400801bc
cmp r9, 0x86
jae 0x1400801a1
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x1400801bc
cmp r9, 0x846
jae 0x1400801b8
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1400801bc
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x1400801f4
cmp r10w, 8
jae 0x1400801f4
cmp r9w, 0x10
jae 0x1400801f4
cmp r9w, 8
jb 0x140080228
or dx, 0x40
jmp 0x140080228
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x9f]
mov rsi, qword [rbp + 0x4f]
mov rbx, qword [rbp - 0x29]
mov word [r14 + 0xc], dx
add r14, 0x10
add qword [rax], r11
lea rax, [r12 + rsi]
mov qword [rbp + 0x8f], r14
xor r14d, r14d
lea r11, [rsi + 2]
cmp rax, rbx
mov qword [rsp + 0x30], r14
cmovb rbx, rax
mov rax, r12
shr rax, 2
cmp rdi, rax
jae 0x140080296
lea rax, [rdi*4]
mov rcx, r12
sub rcx, rax
lea rax, [rcx + rsi]
cmp r11, rax
mov eax, 2
cmova rcx, rax
lea r11, [rsi + rcx]
cmp rbx, r11
cmovb r11, rbx
cmp r11, rbx
jae 0x14008034e
mov r15, qword [rsp + 8]
mov r14d, 0xffff
nop word [rax + rax]
mov r10, qword [r15 + 0x408]
mov rax, r11
and rax, qword [rbp + 0x5f]
mov rdx, r11
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [r15 + rcx*2]
mov r8d, eax
inc ax
mov word [r15 + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, r11w
cmp rdx, r14
cmova rdx, r14
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
lea rcx, [r10 + rax*4]
mov word [rcx], dx
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], r11d
inc r11
mov word [r10 + r9*2 + 0x20000], r8w
cmp r11, rbx
jb 0x1400802b0
mov r15, qword [rbp + 0x6f]
mov r14, qword [rsp + 0x30]
add rsi, r12
mov qword [rbp + 0x4f], rsi
jmp 0x14008053a
mov r14, qword [rsp + 0x30]
inc rsi
mov r15, qword [rbp - 0x71]
inc r14
mov qword [rsp + 0x30], r14
mov qword [rbp + 0x4f], rsi
cmp rsi, r15
jbe 0x140080536
mov rax, qword [rbp - 0x21]
mov r11, qword [rbp - 0x69]
lea rax, [r15 + rax*4]
cmp rsi, rax
jbe 0x140080467
add r11, 0xfffffffffffffffc
lea rax, [rsi + 0x10]
cmp rax, r11
cmovb r11, rax
cmp rsi, r11
jae 0x140080536
mov rax, r11
add r14, 4
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffc
add r14, rax
mov qword [rsp + 0x30], r14
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdi + 0x408]
mov rax, rsi
and rax, rbx
mov rdx, rsi
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, si
cmp rdx, r12
cmova rdx, r12
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
lea rcx, [r10 + rax*4]
mov word [rcx], dx
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], esi
add rsi, 4
mov word [r10 + r9*2 + 0x20000], r8w
cmp rsi, r11
jb 0x1400803d0
jmp 0x140080532
add r11, 0xfffffffffffffffd
lea rax, [rsi + 8]
cmp rax, r11
cmovb r11, rax
cmp rsi, r11
jae 0x140080536
mov rax, r11
add r14, 2
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffe
add r14, rax
mov qword [rsp + 0x30], r14
nop dword [rax + rax]
mov r10, qword [rdi + 0x408]
mov rax, rsi
and rax, rbx
mov rdx, rsi
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, si
cmp rdx, r12
cmova rdx, r12
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
lea rcx, [r10 + rax*4]
mov word [rcx], dx
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], esi
add rsi, 2
mov word [r10 + r9*2 + 0x20000], r8w
cmp rsi, r11
jb 0x1400804a0
mov qword [rbp + 0x4f], rsi
mov r15, qword [rbp + 0x6f]
mov r11, qword [rbp - 0x69]
lea rax, [rsi + 4]
mov r9, qword [rsp + 8]
mov rbx, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x39]
cmp rax, r11
jb 0x14007e8f0
mov r12, qword [rsp + 0xd8]
mov rax, qword [rbp + 0x87]
sub r11, rsi
mov rcx, qword [rbp + 0x8f]
add r11, r14
sub rcx, qword [rbp - 0x11]
sar rcx, 4
mov qword [rax], r11
mov rax, qword [rbp + 0x97]
add qword [rax], rcx
add rsp, 0xe0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0x100
mov r15, qword [rbp + 0x5f]
mov rax, rcx
mov r8, qword [rbp + 0x77]
mov r10d, 1
mov r11, r9
mov rsi, rdx
mov r9, qword [rbp + 0x7f]
mov ecx, dword [r15 + 8]
lea r14, [rax + rdx]
mov r8, qword [r8]
shl r10, cl
mov rcx, qword [r15 + 0x10]
sub r10, 0x10
mov qword [rbp - 0x69], r10
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x29], r9
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x71], r14
cmp rax, 4
jb 0x140080619
lea rax, [r14 - 3]
mov qword [rbp - 0x39], rax
jmp 0x14008061d
mov qword [rbp - 0x39], rsi
cmp dword [r15 + 4], 9
mov edx, 0x40
mov rdi, qword [rbp + 0x67]
mov eax, 0x200
cmovl eax, edx
mov qword [rsp + 0xe8], r13
mov r13, qword [rbp + 0x6f]
mov qword [rbp - 0x31], rax
add rax, rsi
mov edx, dword [rdi + 0x4c]
mov qword [rsp + 0x60], rax
cmp edx, 4
jle 0x1400806b9
mov ecx, dword [r13]
lea eax, [rcx - 1]
mov dword [r13 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r13 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r13 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r13 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r13 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r13 + 0x24], eax
cmp edx, 0xa
jle 0x1400806b4
mov ecx, dword [r13 + 4]
lea eax, [rcx - 1]
mov dword [r13 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r13 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r13 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r13 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r13 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r13 + 0x3c], eax
mov rcx, qword [rsp + 0x58]
lea rax, [rsi + 4]
cmp rax, r14
jae 0x140081978
mov qword [rsp + 0xf8], rbx
xor edx, edx
mov qword [rsp + 0xf0], r12
nop dword [rax + rax]
lea rax, [rcx + rsi]
mov qword [rbp - 0x51], rdx
mov r12, r14
mov qword [rsp + 0x38], 0x7e4
mov r14, qword [rdi + 0x60]
sub r12, rsi
cmp rsi, r10
mov qword [rsp + 8], r12
mov r9, r10
mov qword [rsp + 0x50], r14
cmovb r9, rsi
mov qword [rsp + 0x20], rdx
cmp rax, r10
mov qword [rsp + 0x18], r9
mov rcx, r10
mov dword [rbp - 0x41], edx
cmovb rcx, rax
mov qword [rbp + 0x37], rdx
mov rax, qword [r15 + 0x50]
mov r8, rsi
movsxd rsi, dword [rdi + 0x4c]
and r8, r11
mov r15, qword [rdi + 0x58]
mov rbx, rdx
mov qword [rsp], rcx
mov ecx, 0x7e4
mov qword [rsp + 0x28], rcx
mov r10, rdx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x10], r8
test rsi, rsi
je 0x1400808e4
mov r14, qword [rbp + 0x47]
mov r15, r8
mov rax, qword [rbp + 0x3f]
mov qword [rsp + 0x28], rcx
mov qword [rbp + 0x37], rdx
nop dword [rax]
movsxd rdi, dword [r13 + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x1400808c5
cmp rdi, r9
ja 0x1400808c5
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x1400808c5
lea rax, [rcx + r10]
cmp rax, r11
ja 0x1400808c1
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x1400808c1
mov r8, r12
lea r11, [rcx + r14]
shr r8, 3
lea rdx, [r15 + r14]
xor ecx, ecx
test r8, r8
je 0x14008080e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400808a3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400807f0
mov r8, r12
and r8d, 7
je 0x140080833
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140080833
inc rcx
sub r8, 1
jne 0x140080820
mov r8, rcx
cmp r8, 3
jae 0x140080847
cmp r8, 2
jne 0x1400808b4
cmp rbx, r8
jae 0x1400808b4
mov r11, qword [rsp + 0x28]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x1400808b4
test rbx, rbx
je 0x140080887
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r11, r9
jae 0x1400808b4
mov qword [rsp + 0x28], r9
mov r10, r8
mov qword [rbp + 0x37], r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x51], rdi
mov qword [rsp + 0x38], r9
jmp 0x1400808b8
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140080836
mov r10, qword [rbp + 0x37]
mov r9, qword [rsp + 0x18]
mov r11, qword [rbp + 0x4f]
mov rax, qword [rbp + 0x3f]
inc rbx
cmp rbx, rsi
jb 0x140080780
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov r8, qword [rsp + 0x10]
mov rdi, qword [rbp + 0x67]
mov ecx, dword [rdi + 0x40]
mov r12, qword [rbp + 0x47]
add r12, r8
imul edx, dword [r12], 0x1e35a7bd
shr edx, cl
mov ecx, dword [rdi + 0x48]
mov eax, edx
shl eax, cl
lea r13, [r15 + rdx*2]
movzx edx, word [r15 + rdx*2]
mov esi, edx
mov qword [rsp + 0x40], r13
sub rsi, qword [rdi + 0x38]
lea r14, [r14 + rax*4]
cmp rdx, qword [rdi + 0x38]
mov eax, 0
mov edi, edx
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x140080a6b
mov rax, qword [rbp + 0x67]
mov r13, qword [rbp + 0x47]
mov r15d, dword [rax + 0x44]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x3f]
dec rdi
mov rax, rdi
and rax, r15
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x140080a61
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x140080a58
lea rax, [rcx + r10]
cmp rax, r11
ja 0x140080a58
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x140080a58
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rsp + 8]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400809d3
mov r10, r11
sub r10, r12
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140080a43
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400809b0
mov rax, qword [rsp + 8]
mov r8, rax
and r8d, 7
je 0x1400809f3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400809f3
inc rcx
sub r8, 1
jne 0x1400809e0
mov rdx, rcx
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp + 0x18]
mov r11, qword [rbp + 0x4f]
cmp rdx, 4
jb 0x140080a54
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x28], rax
jae 0x140080a54
mov qword [rsp + 0x28], rax
mov r10, rdx
mov qword [rbp + 0x37], rdx
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x51], rbx
mov qword [rsp + 0x38], rax
jmp 0x140080a58
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400809f6
mov r10, qword [rbp + 0x37]
cmp rdi, rsi
ja 0x140080940
mov r13, qword [rsp + 0x40]
movzx edx, word [r13]
mov rax, qword [rbp + 0x67]
mov rsi, qword [rbp + 0x3f]
mov eax, dword [rax + 0x44]
and rax, rdx
mov dword [r14 + rax*4], esi
inc word [r13]
cmp qword [rsp + 0x38], 0x7e4
mov r14, qword [rbp + 0x67]
jne 0x140080d92
mov r13, qword [r14 + 0x50]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x140080d92
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x5f]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r14
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140080c22
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140080c22
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140080b4e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140080c0e
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140080b30
mov r8, r11
and r8d, 7
je 0x140080b73
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140080b73
inc rcx
sub r8, 1
jne 0x140080b60
mov r9, rcx
mov rcx, qword [rbp + 0x5f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140080c28
test r9, r9
je 0x140080c28
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x48]
ja 0x140080c2c
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x38]
jb 0x140080c2c
mov qword [rsp + 0x38], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x20], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x41], r11d
mov qword [rbp - 0x51], rdx
jmp 0x140080c2c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140080b76
mov rsi, qword [rsp]
jmp 0x140080c31
mov rsi, qword [rsp]
mov rdx, qword [rsp + 8]
mov r15, qword [rbp + 0x5f]
lea rax, [r14 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140080d88
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140080d88
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140080cbe
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140080d74
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140080ca0
mov r8, r11
and r8d, 7
je 0x140080cdc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140080cdc
inc rdx
inc rcx
sub r8, 1
jne 0x140080cc7
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140080d88
test r9, r9
je 0x140080d88
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r15 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x48]
ja 0x140080d88
mov rsi, qword [rbp + 0x3f]
mov r14, qword [rbp + 0x67]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x38]
jb 0x140080d96
sub r11d, r9d
mov qword [rbp - 0x51], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x41], r11d
mov qword [rsp + 0x38], rax
jmp 0x140080d9b
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140080cdf
mov rsi, qword [rbp + 0x3f]
mov r14, qword [rbp + 0x67]
jmp 0x140080d96
mov r15, qword [rbp + 0x5f]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x38], 0x7e4
jbe 0x1400819ae
mov r12, qword [rsp + 8]
xor ebx, ebx
mov dword [rbp + 0x37], ebx
dec r12
cmp dword [r15 + 4], 5
mov qword [rsp + 8], r12
jge 0x140080dd3
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x140080dd6
mov r10, rbx
mov r8, qword [rbp - 0x69]
lea rdx, [rsi + 1]
mov r13, qword [rbp + 0x67]
cmp rdx, r8
mov rax, qword [rsp + 0x58]
mov r11, r8
mov r9, qword [rbp + 0x4f]
cmovb r11, rdx
mov r14, qword [r14 + 0x58]
inc rax
add rax, rsi
mov qword [rsp + 0x18], r10
movsxd rsi, dword [r13 + 0x4c]
cmp rax, r8
mov rcx, r8
mov qword [rsp + 0x70], rbx
cmovb rcx, rax
mov qword [rsp + 0x78], 0x7e4
mov rax, qword [r15 + 0x50]
mov r8, rdx
mov r15, qword [r13 + 0x60]
and r8, r9
mov qword [rsp + 0x48], rcx
mov ecx, 0x7e4
mov qword [rsp + 0x50], rcx
mov qword [rsp], rdx
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x10], r14
mov qword [rbp - 0x61], r15
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x68], rbx
mov dword [rbp - 0x79], ebx
test rsi, rsi
je 0x140080fea
mov r15, qword [rbp + 0x47]
mov r14, r8
mov rax, qword [rbp + 0x6f]
xor r13d, r13d
mov qword [rsp + 0x50], rcx
nop dword [rax]
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x140080fcc
cmp rdi, r11
ja 0x140080fcc
and rcx, r9
lea rdx, [r10 + r14]
cmp rdx, r9
ja 0x140080fc8
lea rax, [rcx + r10]
cmp rax, r9
ja 0x140080fc4
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x140080fc4
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
mov rax, r13
test r8, r8
je 0x140080f0e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x140080fa5
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140080ef0
mov r8, r12
and r8d, 7
je 0x140080f33
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x140080f33
inc rax
sub r8, 1
jne 0x140080f20
mov r8, rax
cmp r8, 3
jae 0x140080f47
cmp r8, 2
jne 0x140080fb6
cmp rbx, r8
jae 0x140080fb6
mov r11, qword [rsp + 0x50]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140080fb6
test rbx, rbx
je 0x140080f87
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r11, r9
jae 0x140080fb6
mov qword [rsp + 0x50], r9
mov r10, r8
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r9
jmp 0x140080fbb
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x140080f36
mov r10, qword [rsp + 0x18]
mov r11, qword [rsp + 0x28]
mov r9, qword [rbp + 0x4f]
mov rax, qword [rbp + 0x6f]
mov rdx, qword [rsp]
inc rbx
cmp rbx, rsi
jb 0x140080e80
mov r14, qword [rsp + 0x10]
mov r15, qword [rbp - 0x61]
mov r8, qword [rsp + 0x40]
mov r13, qword [rbp + 0x67]
mov ecx, dword [r13 + 0x40]
mov r9, qword [rbp + 0x47]
add r9, r8
mov qword [rsp + 0x10], r9
imul edx, dword [r9], 0x1e35a7bd
shr edx, cl
mov ecx, dword [r13 + 0x48]
lea r12, [r14 + rdx*2]
movzx r13d, word [r12]
mov eax, edx
mov r14, qword [rbp + 0x67]
mov esi, r13d
shl eax, cl
mov edi, r13d
mov qword [rbp - 0x61], r12
sub rsi, qword [r14 + 0x38]
cmp r13, qword [r14 + 0x38]
lea r15, [r15 + rax*4]
mov eax, 0
cmovbe rsi, rax
cmp r13, rsi
jbe 0x140081182
mov r14d, dword [r14 + 0x44]
mov r13, qword [rsp]
mov r12, qword [rbp + 0x47]
nop dword [rax]
dec rdi
mov rax, r14
and rax, rdi
mov rbx, r13
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r11
ja 0x140081175
and rcx, qword [rbp + 0x4f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x4f]
ja 0x14008116c
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x14008116c
movzx eax, byte [rax + r12]
cmp byte [rdx + r12], al
jne 0x14008116c
xor eax, eax
lea r11, [rcx + r12]
mov ecx, eax
mov rdx, r9
mov rax, qword [rsp + 8]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400810e3
mov r10, r11
sub r10, r9
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140081156
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400810c0
mov rax, qword [rsp + 8]
mov r8, rax
and r8d, 7
je 0x140081103
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140081103
inc rcx
sub r8, 1
jne 0x1400810f0
mov rdx, rcx
mov r9, qword [rsp + 0x10]
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x28]
cmp rdx, 4
jb 0x140081167
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x50], rax
jae 0x140081167
mov qword [rsp + 0x50], rax
mov r10, rdx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rax
jmp 0x14008116c
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140081106
mov r10, qword [rsp + 0x18]
cmp rdi, rsi
ja 0x140081050
mov r12, qword [rbp - 0x61]
mov r14, qword [rbp + 0x67]
movzx r13d, word [r12]
mov eax, dword [r14 + 0x44]
mov rcx, qword [rsp]
and rax, r13
mov dword [r15 + rax*4], ecx
inc word [r12]
mov r12, qword [rsp + 0x78]
cmp r12, 0x7e4
jne 0x1400814ae
mov r13, qword [r14 + 0x50]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x1400814aa
imul ebx, dword [r9], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x5f]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r14
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140081349
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140081349
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140081263
mov r10, r9
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008132b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140081240
mov r9, qword [rsp + 0x10]
mov r8, r11
and r8d, 7
je 0x140081283
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r9], al
jne 0x140081283
inc rcx
sub r8, 1
jne 0x140081270
mov r9, rcx
mov rcx, qword [rbp + 0x5f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008133f
test r9, r9
je 0x14008133f
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x48]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x60]
ja 0x14008131f
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x14008131f
mov r12, rax
mov qword [rsp + 0x78], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x68], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x79], r11d
mov qword [rsp + 0x70], rdx
mov r9, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
jmp 0x14008134e
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140081286
mov rdx, qword [rsp + 8]
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rbp + 0x5f]
lea rax, [r14 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x1400814a0
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400814a0
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x1400813ce
mov r10, r9
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008148c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400813b0
mov r8, r11
and r8d, 7
je 0x1400813f5
mov r9, qword [rsp + 0x10]
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r9], al
jne 0x1400813f5
inc rdx
inc rcx
sub r8, 1
jne 0x1400813e0
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400814a0
test r9, r9
je 0x1400814a0
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r15 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x60]
ja 0x1400814a0
mov r14, qword [rbp + 0x67]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rax, r12
jb 0x1400814b2
sub r11d, r9d
mov qword [rsp + 0x68], r9
inc qword [r13 + 0x10]
mov r12, rax
mov dword [rbp - 0x79], r11d
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
jmp 0x1400814b2
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400813f8
mov rcx, qword [rsp]
mov r14, qword [rbp + 0x67]
jmp 0x1400814b2
mov rcx, qword [rsp]
mov r15, qword [rbp + 0x5f]
mov rax, qword [rsp + 0x38]
add rax, 0xaf
cmp r12, rax
jb 0x14008151e
movups xmm0, xmmword [rsp + 0x68]
inc qword [rsp + 0x30]
mov rsi, rcx
movups xmm1, xmmword [rsp + 0x78]
mov qword [rbp + 0x3f], rcx
mov ecx, dword [rbp + 0x37]
inc ecx
mov dword [rbp + 0x37], ecx
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm1
cmp ecx, 4
jge 0x140081518
lea rax, [rsi + 4]
cmp rax, qword [rbp - 0x71]
jae 0x140081518
mov r12, qword [rsp + 8]
mov r9, qword [rbp - 0x49]
dec r12
mov rcx, qword [rbp - 0x59]
xor ebx, ebx
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x20], rcx
jmp 0x140080db7
mov r13, qword [rbp - 0x59]
jmp 0x140081527
mov rsi, qword [rbp + 0x3f]
mov r13, qword [rsp + 0x20]
mov rax, qword [rbp - 0x31]
mov r10, qword [rbp - 0x69]
mov r11, qword [rbp + 0x6f]
mov rbx, qword [rbp - 0x51]
lea r12, [rax + r13*2]
mov rax, qword [rsp + 0x58]
add rax, rsi
add r12, rsi
cmp rax, r10
mov qword [rsp + 0x60], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rbx, r10
ja 0x1400815e0
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rbx, rax
jne 0x14008157f
xor r9d, r9d
mov r8d, r9d
jmp 0x1400815e7
cmp rbx, r9
jne 0x14008158c
mov r8d, 1
jmp 0x1400815e4
cmp r8, 7
jae 0x1400815a8
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400815e4
cmp rcx, 7
jae 0x1400815c0
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400815e4
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x1400815d1
mov r8d, 2
jmp 0x1400815e4
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x1400815e4
lea r8, [rbx + 0xf]
xor r9d, r9d
cmp rbx, r10
ja 0x140081669
test r8, r8
je 0x140081669
mov eax, dword [r11 + 8]
mov ecx, dword [r11]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov dword [rdx], ecx
mov dword [r11], ebx
mov edx, dword [r14 + 0x4c]
cmp edx, 4
jle 0x140081669
lea eax, [rbx - 1]
mov dword [r11 + 0x10], eax
lea eax, [rbx + 1]
mov dword [r11 + 0x14], eax
lea eax, [rbx - 2]
mov dword [r11 + 0x18], eax
lea eax, [rbx + 2]
mov dword [r11 + 0x1c], eax
lea eax, [rbx - 3]
mov dword [r11 + 0x20], eax
lea eax, [rbx + 3]
mov dword [r11 + 0x24], eax
cmp edx, 0xa
jle 0x140081669
lea eax, [rcx - 1]
mov dword [r11 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r11 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r11 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r11 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r11 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r11 + 0x3c], eax
mov r11, qword [rbp + 0x7f]
mov esi, dword [rbp - 0x41]
mov r12, qword [rsp + 0x30]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [r11], r12d
mov dword [r11 + 4], eax
mov r14d, dword [r15 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140081698
mov edi, r9d
jmp 0x140081710
mov r11d, dword [r15 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp + 0x7f]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea edx, [rsi + r13]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x14008173a
movzx r10d, r12w
mov eax, 0x17
jmp 0x1400817ad
cmp r12, 0x82
jae 0x140081766
lea eax, [r12 - 2]
bsr ecx, eax
lea r10, [r12 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x1400817ad
cmp r12, 0x842
jae 0x140081784
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x1400817ad
mov eax, 0x17
cmp r12, 0x1842
jae 0x140081798
lea r10d, [rax - 2]
jmp 0x1400817ad
cmp r12, 0x5842
jae 0x1400817a9
mov r10d, 0x16
jmp 0x1400817ad
movzx r10d, ax
cmp r9, 0xa
jae 0x1400817ba
sub r9w, 2
jmp 0x1400817fa
cmp r9, 0x86
jae 0x1400817df
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x1400817fa
cmp r9, 0x846
jae 0x1400817f6
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1400817fa
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140081832
cmp r10w, 8
jae 0x140081832
cmp r9w, 0x10
jae 0x140081832
cmp r9w, 8
jb 0x140081866
or dx, 0x40
jmp 0x140081866
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x8f]
mov rsi, qword [rbp + 0x3f]
mov word [r11 + 0xc], dx
add r11, 0x10
mov qword [rbp + 0x7f], r11
add qword [rax], r12
xor eax, eax
mov r11, qword [rbp - 0x39]
lea r10, [rsi + 2]
mov qword [rsp + 0x30], rax
lea rax, [rsi + r13]
cmp rax, r11
cmovb r11, rax
mov rax, r13
shr rax, 2
cmp rbx, rax
jae 0x1400818d0
lea rax, [rbx*4]
mov rcx, r13
sub rcx, rax
lea rax, [rcx + rsi]
cmp r10, rax
mov eax, 2
cmova rcx, rax
lea r10, [rsi + rcx]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x14008192d
mov rbx, qword [rbp + 0x47]
mov rdi, qword [rbp + 0x67]
nop dword [rax]
mov ecx, dword [rdi + 0x40]
mov rax, r10
and rax, qword [rbp + 0x4f]
imul r8d, dword [rax + rbx], 0x1e35a7bd
mov rax, qword [rdi + 0x58]
shr r8d, cl
mov ecx, dword [rdi + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [rdi + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [rdi + 0x60]
mov dword [rax + rdx*4], r10d
inc r10
mov rax, qword [rdi + 0x58]
inc word [r9 + rax]
cmp r10, r11
jb 0x1400818e0
mov r8, qword [rsp + 0x30]
add rsi, r13
mov qword [rbp + 0x3f], rsi
mov r11, qword [rbp + 0x4f]
mov r14, qword [rbp - 0x71]
lea rax, [rsi + 4]
mov rdi, qword [rbp + 0x67]
mov edx, 0
mov r13, qword [rbp + 0x6f]
mov r10, qword [rbp - 0x69]
mov rcx, qword [rsp + 0x58]
cmp rax, r14
jb 0x1400806e0
mov r12, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rbp + 0x7f]
mov rax, qword [rbp + 0x77]
sub r14, rsi
sub r9, qword [rbp - 0x29]
add r14, r8
mov r13, qword [rsp + 0xe8]
sar r9, 4
mov qword [rax], r14
mov rax, qword [rbp + 0x87]
add qword [rax], r9
add rsp, 0x100
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov r8, qword [rsp + 0x30]
inc rsi
mov r12, qword [rsp + 0x60]
inc r8
mov qword [rsp + 0x30], r8
mov qword [rbp + 0x3f], rsi
cmp rsi, r12
jbe 0x140081939
mov rax, qword [rbp - 0x31]
mov r10, qword [rbp - 0x71]
lea rax, [r12 + rax*4]
cmp rsi, rax
jbe 0x140081a7d
mov r11, qword [rbp + 0x4f]
lea rax, [rsi + 0x10]
add r10, 0xfffffffffffffffc
cmp rax, r10
cmovb r10, rax
cmp rsi, r10
jae 0x14008193d
mov rbx, qword [rbp + 0x47]
mov rax, r10
sub rax, rsi
add r8, 4
dec rax
and rax, 0xfffffffffffffffc
add r8, rax
mov qword [rsp + 0x30], r8
nop
mov ecx, dword [r14 + 0x40]
mov rax, rsi
and rax, r11
imul r8d, dword [rax + rbx], 0x1e35a7bd
mov rax, qword [r14 + 0x58]
shr r8d, cl
mov ecx, dword [r14 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r14 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r14 + 0x60]
mov dword [rax + rdx*4], esi
add rsi, 4
mov rax, qword [r14 + 0x58]
inc word [r9 + rax]
cmp rsi, r10
jb 0x140081a20
mov r8, qword [rsp + 0x30]
mov qword [rbp + 0x3f], rsi
jmp 0x14008193d
add r10, 0xfffffffffffffffd
lea rax, [rsi + 8]
cmp rax, r10
cmovb r10, rax
cmp rsi, r10
jae 0x140081939
mov rbx, qword [rbp + 0x47]
mov rax, r10
mov r11, qword [rbp + 0x4f]
sub rax, rsi
dec rax
add r8, 2
and rax, 0xfffffffffffffffe
add r8, rax
mov qword [rsp + 0x30], r8
mov ecx, dword [r14 + 0x40]
mov rax, rsi
and rax, r11
imul r8d, dword [rax + rbx], 0x1e35a7bd
mov rax, qword [r14 + 0x58]
shr r8d, cl
mov ecx, dword [r14 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r14 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r14 + 0x60]
mov dword [rax + rdx*4], esi
add rsi, 2
mov rax, qword [r14 + 0x58]
inc word [r9 + rax]
cmp rsi, r10
jb 0x140081ab6
mov r8, qword [rsp + 0x30]
mov qword [rbp + 0x3f], rsi
jmp 0x14008193d
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x1407bfc40]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, qword [rbp + 0xa8]
mov rax, rcx
mov rcx, qword [rbp + 0xd8]
mov rbx, r9
mov r9, qword [rbp + 0xc0]
mov r15, rdx
mov r10, qword [rbp + 0xc8]
mov edi, 1
mov r14, qword [rbp + 0xd0]
mov r11, r8
mov qword [rbp - 0x40], rcx
mov ecx, dword [rsi + 8]
lea r13, [r15 + rax]
shl rdi, cl
mov rcx, qword [rsi + 0x10]
sub rdi, 0x10
mov qword [rbp - 0x48], rcx
mov rcx, r10
mov qword [rsp], r8
mov r8, qword [rbp + 0xb8]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0xb0]
mov qword [rbp - 0x28], r9
mov r9, qword [r9]
mov qword [rbp - 0x30], rcx
mov qword [rsp + 8], rbx
mov qword [rbp - 0x68], rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x70], r10
mov qword [rbp - 0x38], r14
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x60], r13
cmp rax, 8
jb 0x140081bf5
lea rax, [r13 - 7]
mov qword [rbp - 0x60], rax
jmp 0x140081bf9
mov qword [rbp - 0x60], r15
cmp dword [rsi + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x58], rax
add rax, r15
mov qword [rsp + 0x48], rax
lea rax, [r15 + 8]
cmp rax, r13
jae 0x140082be6
movdqa xmm2, xmmword [0x1406e9740]
xor esi, esi
movdqa xmm3, xmmword [0x1406e9770]
movabs rcx, 0x35a7bd1e35a7bd00
mov r10, qword [rdx + 0x38]
mov r9, r13
mov r13, qword [rsp + 0x20]
sub r9, r15
mov rdx, qword [rsp]
cmp r15, rdi
mov r12, rdi
mov qword [rsp + 0x18], rsi
cmovb r12, r15
mov qword [rbp - 0x80], rsi
mov r15, rbx
mov qword [rsp + 0x10], r9
and r15, r13
mov qword [rsp + 0x38], 0x7e4
mov rax, qword [r11 + r15]
lea rbx, [r11 + r15]
movsxd r11, dword [r8]
xor r14d, r14d
movzx esi, byte [rbx]
mov edi, 0x7e4
mov r8, qword [rsp + 8]
imul rax, rcx
mov rcx, r13
mov qword [rsp + 0x30], r10
shr rax, 0x2c
sub rcx, r11
mov dword [rbp - 0x70], r14d
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r13
jae 0x140081d96
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10]
cmp esi, eax
jne 0x140081d91
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x140081d0f
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140081d7b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140081cf0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140081d33
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140081d33
inc rcx
sub r8, 1
jne 0x140081d20
mov rax, rcx
mov rdx, qword [rsp]
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 8]
cmp rax, 4
jb 0x140081d96
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140081d96
mov qword [rsp + 0x18], rax
mov r14, rax
add rax, rdx
mov qword [rbp - 0x80], r11
mov qword [rsp + 0x38], rcx
mov rdi, rcx
movzx esi, byte [rax + r15]
jmp 0x140081d96
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140081d36
mov r10, qword [rsp + 0x30]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 - 0x20], xmm0
add rax, 2
cmp rax, 4
jb 0x140081da0
mov r11, qword [rsp + 0x20]
mov rax, r13
shr rax, 3
and eax, 3
mov r13, qword [rbp + rax*8 - 0x20]
mov rax, qword [rbp - 0x20]
mov ecx, dword [r10 + rax*4]
mov r10d, r8d
sub r11, rcx
and r10, rcx
add r10, rdx
movzx eax, byte [r14 + r10]
cmp esi, eax
jne 0x140081ebd
test r11, r11
je 0x140081ebd
cmp r11, r12
ja 0x140081ebd
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x140081e53
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008215b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140081e30
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140081e73
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140081e73
inc rcx
sub r8, 1
jne 0x140081e60
mov rdx, rcx
cmp rdx, 4
jb 0x140081eb9
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140081eb9
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x18], rdx
mov rdi, r8
mov qword [rsp + 0x38], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rdx, qword [rsp]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rsp + 0x30]
mov r10d, dword [rsp + 8]
mov r11, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
and r10, rcx
sub r11, rcx
add r10, rdx
movzx eax, byte [r14 + r10]
cmp esi, eax
jne 0x140081f9f
test r11, r11
je 0x140081f9f
cmp r11, r12
ja 0x140081f9f
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x140081f33
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140082174
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140081f10
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140081f55
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140081f55
inc rdx
inc rcx
sub r8, 1
jne 0x140081f40
mov rdx, rcx
cmp rdx, 4
jb 0x140081f9b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140081f9b
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x18], rdx
mov rdi, r8
mov qword [rsp + 0x38], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rdx, qword [rsp]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rsp + 0x30]
mov r10d, dword [rsp + 8]
mov r11, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
and r10, rcx
sub r11, rcx
add r10, rdx
movzx eax, byte [r14 + r10]
cmp esi, eax
jne 0x14008207f
test r11, r11
je 0x14008207f
cmp r11, r12
ja 0x14008207f
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x140082013
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008218d
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140081ff0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140082035
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140082035
inc rdx
inc rcx
sub r8, 1
jne 0x140082020
mov rdx, rcx
cmp rdx, 4
jb 0x14008207b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14008207b
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x18], rdx
mov rdi, r8
mov qword [rsp + 0x38], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rdx, qword [rsp]
mov rax, qword [rbp - 8]
mov r11, qword [rsp + 0x30]
mov r9d, dword [rsp + 8]
mov r15, qword [rsp + 0x20]
mov r10, r15
mov ecx, dword [r11 + rax*4]
and r9, rcx
sub r10, rcx
add r9, rdx
movzx eax, byte [r14 + r9]
cmp esi, eax
jne 0x1400821b5
xor esi, esi
test r10, r10
je 0x1400821b7
cmp r10, r12
ja 0x1400821b7
mov r14, qword [rsp + 0x10]
mov ecx, esi
mov rax, r14
shr rax, 3
test rax, rax
je 0x1400820fe
nop word [rax + rax]
mov r8, qword [rbx]
mov rdx, qword [rcx + r9]
cmp r8, rdx
jne 0x1400821a1
add rbx, 8
add rcx, 8
sub rax, 1
jne 0x1400820e0
mov rdx, r14
and edx, 7
je 0x14008211b
movzx eax, byte [rbx]
cmp byte [rcx + r9], al
jne 0x14008211b
inc rbx
inc rcx
sub rdx, 1
jne 0x140082106
mov r8, rcx
mov rdx, qword [rsp]
cmp r8, 4
jb 0x1400821b7
bsr eax, r10d
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x1400821b7
mov rcx, r8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x18], rcx
mov qword [rbp - 0x80], r10
jmp 0x1400821bc
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140081e76
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140081f58
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140082038
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x14008211e
xor esi, esi
mov rcx, qword [rsp + 0x18]
cmp qword [rsp + 0x38], 0x7e4
mov dword [r11 + r13*4], r15d
jbe 0x140082c1d
mov r9, qword [rsp + 0x10]
dec r9
mov dword [rsp + 0x30], esi
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x10], r9
cmp dword [rax + 4], 5
jge 0x1400821fe
lea rax, [rcx - 1]
mov rdi, r9
cmp rax, r9
cmovb rdi, rax
mov qword [rbp - 0x20], rdi
jmp 0x140082205
mov rdi, rsi
mov qword [rbp - 0x20], rsi
mov r12, qword [rsp + 0x68]
lea r10, [r15 + 1]
mov r8, qword [rsp + 8]
cmp r10, r12
mov rax, qword [rsp + 0x50]
movabs rcx, 0x35a7bd1e35a7bd00
cmovb r12, r10
mov qword [rbp - 0x18], rsi
mov r15, r8
mov dword [rbp - 8], esi
and r15, r10
mov qword [rsp + 0x40], r10
mov rax, qword [rax + 0x38]
lea rbx, [rdx + r15]
movzx r14d, byte [rbx + rdi]
mov r13d, 0x7e4
mov qword [rsp + 0x48], rax
mov esi, r13d
mov rax, qword [rbx]
imul rax, rcx
mov rcx, r10
mov qword [rbp - 0x10], r13
shr rax, 0x2c
movq xmm1, rax
mov rax, qword [rsp + 0x58]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x140082357
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [rdi + r10]
cmp r14d, eax
jne 0x140082352
mov rcx, r9
xor eax, eax
shr rcx, 3
mov rdx, rbx
test rcx, rcx
je 0x1400822d3
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rax + r10]
cmp r9, r8
jne 0x14008233c
add rdx, 8
add rax, 8
sub rcx, 1
jne 0x1400822b0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x1400822f3
sub rdx, rax
nop
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x1400822f3
inc rax
sub r8, 1
jne 0x1400822e0
mov rcx, rax
mov rdx, qword [rsp]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 8]
cmp rcx, 4
jb 0x140082357
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, rsi
jbe 0x140082357
mov r13, rax
mov qword [rbp - 0x10], rax
mov rsi, rax
mov qword [rbp - 0x20], rcx
lea rax, [rdx + rcx]
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
mov rdi, rcx
jmp 0x140082357
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rcx, r8
shr rcx, 3
add rcx, rax
jmp 0x1400822f6
mov r10, qword [rsp + 0x40]
xor eax, eax
nop dword [rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8], xmm0
add rax, 2
cmp rax, 4
jb 0x140082360
mov rax, r10
mov r11, r10
shr rax, 3
and eax, 3
mov r10d, r8d
mov rcx, qword [rbp + rax*8]
mov rax, qword [rbp]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + rax*4]
and r10, rcx
sub r11, rcx
add r10, rdx
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x14008247a
test r11, r11
je 0x14008247a
cmp r11, r12
ja 0x14008247a
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x140082413
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140082799
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x1400823f0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140082433
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x140082433
inc rcx
sub r8, 1
jne 0x140082420
mov rdx, rcx
cmp rdx, 4
jb 0x14008247a
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14008247a
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov rsi, r8
mov qword [rbp - 0x10], r8
mov r13, r8
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x14008255c
test r11, r11
je 0x14008255c
cmp r11, r12
ja 0x14008255c
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x1400824f3
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1400827b2
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x1400824d0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140082515
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140082515
inc rdx
inc rcx
sub r8, 1
jne 0x140082500
mov rdx, rcx
cmp rdx, 4
jb 0x14008255c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14008255c
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov rsi, r8
mov qword [rbp - 0x10], r8
mov r13, r8
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x14008263c
test r11, r11
je 0x14008263c
cmp r11, r12
ja 0x14008263c
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x1400825d3
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1400827cb
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x1400825b0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x1400825f5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x1400825f5
inc rdx
inc rcx
sub r8, 1
jne 0x1400825e0
mov rdx, rcx
cmp rdx, 4
jb 0x14008263c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14008263c
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov rsi, r8
mov qword [rbp - 0x10], r8
mov r13, r8
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x18]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov r9, qword [rsp]
mov r10, r11
mov ecx, dword [r15 + rax*4]
mov eax, dword [rsp + 8]
sub r10, rcx
and rcx, rax
add r9, rcx
movzx eax, byte [r9 + rdi]
cmp r14d, eax
jne 0x14008270f
test r10, r10
je 0x14008270f
cmp r10, r12
ja 0x14008270f
mov r14, qword [rsp + 0x10]
xor ecx, ecx
mov rax, r14
shr rax, 3
test rax, rax
je 0x1400826be
nop word [rax + rax]
mov r8, qword [rbx]
mov rdx, qword [rcx + r9]
cmp r8, rdx
jne 0x1400827df
add rbx, 8
add rcx, 8
sub rax, 1
jne 0x1400826a0
mov rdx, r14
and edx, 7
je 0x1400826db
movzx eax, byte [rbx]
cmp byte [rcx + r9], al
jne 0x1400826db
inc rbx
inc rcx
sub rdx, 1
jne 0x1400826c6
mov r8, rcx
cmp r8, 4
jb 0x14008270f
bsr eax, r10d
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x14008270f
mov qword [rbp - 0x20], r8
mov r13, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], r10
mov rax, qword [rbp - 0x50]
mov r12, qword [rsp + 0x28]
mov dword [r15 + rax*4], r11d
mov rax, qword [rsp + 0x38]
add rax, 0xaf
cmp r13, rax
jb 0x1400827ff
mov ecx, dword [rsp + 0x30]
inc r12
movups xmm0, xmmword [rbp - 0x20]
inc ecx
mov r15, r11
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x30], ecx
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm1
cmp ecx, 4
jge 0x1400827f3
lea rax, [r11 + 8]
cmp rax, qword [rsp + 0x60]
jae 0x1400827f3
mov rdx, qword [rbp - 0x78]
mov r9, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x78]
dec r9
mov qword [rsp + 0x38], rdx
xor esi, esi
mov rdx, qword [rsp]
mov qword [rsp + 0x18], rcx
jmp 0x1400821db
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140082436
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140082518
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x1400825f8
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x1400826de
mov r11, qword [rsp + 0x78]
mov qword [rsp + 0x18], r11
jmp 0x140082809
mov r15, qword [rsp + 0x20]
mov r11, qword [rsp + 0x18]
mov r9, qword [rsp + 0x68]
lea r13, [r15 + r11*2]
add r13, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x80]
add rax, r15
mov r10, qword [rsp + 0x58]
cmp rax, r9
mov qword [rsp + 0x48], r13
cmovb r9, rax
cmp rbx, r9
ja 0x1400828b5
movsxd rax, dword [r10]
lea rcx, [rbx + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x140082855
xor r8d, r8d
jmp 0x1400828b9
cmp rbx, r8
jne 0x140082862
mov r8d, 1
jmp 0x1400828b9
cmp rdx, 7
jae 0x14008287d
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400828b9
cmp rcx, 7
jae 0x140082895
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400828b9
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x1400828a6
mov r8d, 2
jmp 0x1400828b9
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x1400828b9
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x1400828dd
test r8, r8
je 0x1400828dd
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov dword [r10], ebx
mov r13, qword [rsp + 0x70]
mov esi, dword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
movzx eax, sil
shl eax, 0x19
or eax, r11d
mov dword [r13], r12d
mov dword [r13 + 4], eax
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x14008290c
xor edi, edi
jmp 0x140082985
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x18]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r13 + 0xe], r8w
lea edx, [r11 + rsi]
mov eax, 0x3ff
mov dword [r13 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x1400829af
movzx r10d, r12w
mov eax, 0x17
jmp 0x140082a22
cmp r12, 0x82
jae 0x1400829db
lea eax, [r12 - 2]
bsr ecx, eax
lea r10, [r12 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140082a22
cmp r12, 0x842
jae 0x1400829f9
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140082a22
mov eax, 0x17
cmp r12, 0x1842
jae 0x140082a0d
lea r10d, [rax - 2]
jmp 0x140082a22
cmp r12, 0x5842
jae 0x140082a1e
mov r10d, 0x16
jmp 0x140082a22
movzx r10d, ax
cmp r9, 0xa
jae 0x140082a2f
sub r9w, 2
jmp 0x140082a6f
cmp r9, 0x86
jae 0x140082a54
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140082a6f
cmp r9, 0x846
jae 0x140082a6b
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140082a6f
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140082aa7
cmp r10w, 8
jae 0x140082aa7
cmp r9w, 0x10
jae 0x140082aa7
cmp r9w, 8
jb 0x140082adb
or dx, 0x40
jmp 0x140082adb
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp - 0x40]
xor esi, esi
mov r8, qword [rbp - 0x60]
mov r9d, esi
mov word [r13 + 0xc], dx
add r13, 0x10
mov qword [rsp + 0x70], r13
lea rdx, [r15 + 2]
add qword [rax], r12
lea rax, [r15 + r11]
cmp rax, r8
mov qword [rsp + 0x28], rsi
cmovb r8, rax
mov rax, r11
shr rax, 2
cmp rbx, rax
jae 0x140082b3b
lea rax, [rbx*4]
mov rcx, r15
sub rcx, rax
add rcx, r11
cmp rdx, rcx
cmova rcx, rdx
cmp r8, rcx
mov rdx, rcx
cmovb rdx, r8
cmp rdx, r8
jae 0x140082b9d
mov r10, qword [rsp]
movabs r11, 0x35a7bd1e35a7bd00
mov r15, qword [rsp + 8]
mov r9, qword [rsp + 0x50]
nop dword [rax + rax]
mov rax, r15
and rax, rdx
mov rcx, qword [rax + r10]
mov eax, edx
imul rcx, r11
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r9 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x140082b60
mov r15, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
mov r11, qword [rsp + 0x18]
add r15, r11
mov qword [rsp + 0x20], r15
mov r11, qword [rsp]
mov rbx, qword [rsp + 8]
mov r13, qword [rsp + 0x60]
lea rax, [r15 + 8]
mov rdx, qword [rsp + 0x50]
movabs rcx, 0x35a7bd1e35a7bd00
mov r8, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
cmp rax, r13
jb 0x140081c41
mov r10, qword [rsp + 0x70]
mov r14, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
sub r13, r15
sub r10, rcx
add r13, r9
sar r10, 4
mov qword [rax], r13
add qword [r14], r10
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400af070
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rsp + 0x28]
inc r15
mov r13, qword [rsp + 0x48]
inc r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r15
cmp r15, r13
jbe 0x140082ba5
mov rax, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x60]
add rdx, 0xfffffffffffffff9
lea rax, [rax*4]
add rax, r13
cmp r15, rax
jbe 0x140082cea
mov r11, qword [rsp]
lea rax, [r15 + 0x10]
mov rbx, qword [rsp + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140082bae
add r9, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r9, rax
mov qword [rsp + 0x28], r9
mov r9, qword [rsp + 0x50]
nop dword [rax]
mov rax, rbx
and rax, r15
mov rcx, qword [rax + r11]
movabs rax, 0x35a7bd1e35a7bd00
imul rcx, rax
mov eax, r15d
shr rcx, 0x2c
and eax, 0x18
add ecx, eax
mov rax, qword [r9 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x140082ca0
mov r9, qword [rsp + 0x28]
mov qword [rsp + 0x20], r15
jmp 0x140082bae
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140082ba5
mov r11, qword [rsp]
add r9, 2
mov rbx, qword [rsp + 8]
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r9, rax
mov qword [rsp + 0x28], r9
mov r9, qword [rsp + 0x50]
mov rax, rbx
and rax, r15
mov rcx, qword [rax + r11]
movabs rax, 0x35a7bd1e35a7bd00
imul rcx, rax
mov eax, r15d
shr rcx, 0x2c
and eax, 0x18
add ecx, eax
mov rax, qword [r9 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x140082d25
mov r9, qword [rsp + 0x28]
mov qword [rsp + 0x20], r15
jmp 0x140082bae
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x1407bfc40]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rdi, qword [rbp + 0xa8]
mov rax, rcx
mov rcx, qword [rbp + 0xd8]
mov r14, rdx
mov r12, qword [rbp + 0xb0]
mov ebx, 1
mov r11, qword [rbp + 0xb8]
mov r15, r8
mov rsi, qword [rbp + 0xd0]
mov r10, r9
mov qword [rbp - 0x40], rcx
mov ecx, dword [rdi + 8]
shl rbx, cl
mov rcx, qword [rdi + 0x10]
sub rbx, 0x10
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0xc0]
mov qword [rsp], r8
mov r8, qword [rbp + 0xc8]
mov qword [rsp + 8], r9
mov r9, qword [rdx]
mov qword [rbp - 0x48], rcx
mov rcx, r8
mov qword [rbp - 0x28], rdx
lea rdx, [r14 + rax]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x60], rdi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x38], rsi
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x68], rdx
cmp rax, 8
jb 0x140082e45
lea rax, [rdx - 7]
mov qword [rbp - 0x58], rax
jmp 0x140082e49
mov qword [rbp - 0x58], r14
cmp dword [rdi + 4], 9
mov eax, 0x200
mov r13d, 0x40
cmovl eax, r13d
mov qword [rbp - 0x50], rax
add rax, r14
mov qword [rsp + 0x48], rax
lea rax, [r14 + 8]
cmp rax, rdx
jae 0x14008414f
movdqa xmm2, xmmword [0x1406e9740]
movabs rcx, 0x35a7bd1e35a7bd00
movdqa xmm3, xmmword [0x1406e9770]
nop
movsxd r11, dword [r11]
mov r9, rdx
mov r12, qword [r12 + 0x38]
sub r9, r14
cmp r14, rbx
mov qword [rsp + 0x10], r9
mov rdx, rbx
mov r8d, 0x7e4
cmovb rdx, r14
mov qword [rsp + 0x18], r8
xor ebx, ebx
mov qword [rsp + 0x28], rdx
mov r14, r10
mov qword [rsp + 0x40], rbx
mov r10, qword [rsp + 0x20]
xor esi, esi
and r14, r10
mov qword [rbp - 0x78], rbx
mov rax, qword [r15 + r14]
lea r13, [r15 + r14]
movzx edi, byte [r13]
imul rax, rcx
mov rcx, r10
mov dword [rbp - 0x68], ebx
shr rax, 0x2c
sub rcx, r11
mov ebx, r8d
mov r8, qword [rsp + 8]
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r10
jae 0x140082fe7
mov r10d, r8d
and r10, rcx
add r10, r15
movzx eax, byte [r10]
cmp edi, eax
jne 0x140082fe2
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x140082f63
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140082fcc
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140082f40
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140082f83
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140082f83
inc rcx
sub r8, 1
jne 0x140082f70
mov rax, rcx
mov rdx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
mov r8, qword [rsp + 8]
cmp rax, 4
jb 0x140082fe7
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x140082fe7
mov qword [rsp + 0x40], rax
mov rsi, rax
add rax, r15
mov qword [rbp - 0x78], r11
mov qword [rsp + 0x18], rcx
mov rbx, rcx
movzx edi, byte [rax + r14]
jmp 0x140082fe7
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140082f86
mov r10, qword [rsp + 0x20]
xor eax, eax
nop dword [rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 - 0x20], xmm0
add rax, 2
cmp rax, 4
jb 0x140082ff0
mov rax, r10
mov r11, r10
mov r10, qword [rsp]
shr rax, 3
and eax, 3
mov r15, qword [rbp + rax*8 - 0x20]
mov rax, qword [rbp - 0x20]
mov ecx, dword [r12 + rax*4]
mov eax, r8d
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x140083109
test r11, r11
je 0x140083109
cmp r11, rdx
ja 0x140083109
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x1400830a3
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1400833b1
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140083080
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x1400830c3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x1400830c3
inc rcx
sub r8, 1
jne 0x1400830b0
mov rdx, rcx
cmp rdx, 4
jb 0x140083109
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x140083109
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x40], rdx
mov rbx, r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 0x18]
mov r11, qword [rsp + 0x20]
mov r10, qword [rsp]
mov rdx, qword [rsp + 0x28]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x1400831f0
test r11, r11
je 0x1400831f0
cmp r11, rdx
ja 0x1400831f0
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x140083183
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1400833ca
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140083160
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x1400831a5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x1400831a5
inc rdx
inc rcx
sub r8, 1
jne 0x140083190
mov rdx, rcx
cmp rdx, 4
jb 0x1400831eb
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x1400831eb
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x40], rdx
mov rbx, r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rdx, qword [rsp + 0x28]
mov rax, qword [rbp - 0x10]
mov r11, qword [rsp + 0x20]
mov r10, qword [rsp]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x1400832cb
test r11, r11
je 0x1400832cb
cmp r11, rdx
ja 0x1400832cb
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x140083263
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1400833e3
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140083240
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140083285
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140083285
inc rdx
inc rcx
sub r8, 1
jne 0x140083270
mov rdx, rcx
cmp rdx, 4
jb 0x1400832cb
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x1400832cb
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x40], rdx
mov rbx, r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 8]
mov r14, qword [rsp + 0x20]
mov r10, qword [rsp]
mov r11, r14
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
mov rsi, qword [rsp + 0x28]
cmp edi, eax
jne 0x140083410
test r11, r11
je 0x140083410
cmp r11, rsi
ja 0x140083410
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x140083353
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1400833fc
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140083330
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140083375
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140083375
inc rdx
inc rcx
sub r8, 1
jne 0x140083360
mov rdx, rcx
cmp rdx, 4
jb 0x140083410
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rbx, rax
jae 0x140083410
mov qword [rsp + 0x40], rdx
mov rbx, rax
mov qword [rsp + 0x18], rax
mov qword [rbp - 0x78], r11
jmp 0x140083415
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x1400830c6
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x1400831a8
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140083288
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140083378
mov rbx, qword [rsp + 0x18]
mov dword [r12 + r15*4], r14d
mov r15, qword [rsp + 0x10]
mov r12, qword [rsp + 0x58]
test r14b, 3
jne 0x1400835a4
cmp r15, 0x20
jb 0x1400835a4
mov r11, qword [r12 + 0x50]
cmp r11, r14
ja 0x14008359b
mov r10, qword [rsp]
lea rdi, [r11 + 0x20]
nop dword [rax]
mov r8d, dword [r12 + 0x40]
mov rax, r11
and rax, qword [rsp + 8]
mov r9d, r8d
imul r8d, dword [r12 + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r10]
mov rax, qword [rsp + 8]
inc edx
imul edx, dword [r12 + 0x60]
and rax, rdi
movzx ecx, byte [rax + r10]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [r12 + 0x40], eax
cmp r9d, 0x1000000
jae 0x14008358a
mov rax, qword [r12 + 0x48]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r14
jne 0x14008358a
mov eax, 0xffffffff
cmp r8, rax
je 0x14008358a
mov ebx, r14d
sub ebx, r8d
cmp rbx, rsi
ja 0x140083585
and r8, qword [rsp + 8]
mov r9, r15
add r8, r10
shr r9, 3
xor ecx, ecx
mov rdx, r13
test r9, r9
je 0x14008350a
nop dword [rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x140083574
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1400834f0
mov r9, r15
and r9d, 7
je 0x140083529
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r8], al
jne 0x140083529
inc rcx
sub r9, 1
jne 0x140083516
mov rdx, rcx
mov r10, qword [rsp]
cmp rdx, 4
jb 0x140083585
cmp rdx, qword [rsp + 0x40]
jbe 0x140083585
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x18]
jbe 0x140083585
mov qword [rbp - 0x78], rbx
mov rbx, rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x18], rax
mov dword [rbp - 0x68], 0
jmp 0x14008358a
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008352c
mov rbx, qword [rsp + 0x18]
add r11, 4
add rdi, 4
cmp r11, r14
jbe 0x140083450
lea rax, [r14 + 4]
mov qword [r12 + 0x50], rax
cmp rbx, 0x7e4
jbe 0x140084186
mov rax, qword [rsp + 0x40]
xor ebx, ebx
mov dword [rsp + 0x28], ebx
dec r15
mov rcx, qword [rbp - 0x60]
mov qword [rsp + 0x10], r15
cmp dword [rcx + 4], 5
jge 0x1400835e1
dec rax
mov r13, r15
cmp rax, r15
cmovb r13, rax
mov qword [rbp - 0x20], r13
jmp 0x1400835e8
mov r13, rbx
mov qword [rbp - 0x20], rbx
mov rdx, qword [rsp + 0x70]
lea r10, [r14 + 1]
mov r9, qword [rsp + 8]
cmp r10, rdx
mov r12, qword [r12 + 0x38]
mov r8d, 0x7e4
cmovb rdx, r10
mov qword [rbp - 0x10], r8
mov r8, qword [rsp]
movabs rcx, 0x35a7bd1e35a7bd00
mov r14, r9
mov qword [rbp - 0x18], rbx
and r14, r10
mov dword [rbp - 8], ebx
add r8, r14
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x38], rdx
mov rsi, r13
mov qword [rsp + 0x48], r8
mov ebx, 0x7e4
mov rax, qword [r8]
movzx edi, byte [r8 + r13]
imul rax, rcx
mov rcx, r10
shr rax, 0x2c
movq xmm1, rax
mov rax, qword [rsp + 0x60]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x14008373d
mov r10, qword [rsp]
mov eax, r9d
and rcx, rax
add r10, rcx
movzx eax, byte [r13 + r10]
cmp edi, eax
jne 0x140083738
mov rax, r15
xor ecx, ecx
shr rax, 3
mov rdx, r8
test rax, rax
je 0x1400836ba
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140083727
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x1400836a0
mov r8, r15
and r8d, 7
je 0x1400836d9
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x1400836d9
inc rcx
sub r8, 1
jne 0x1400836c6
mov rax, rcx
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
cmp rax, 4
jb 0x14008373d
mov r9, qword [rsp]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x140083741
mov r13, rax
mov qword [rbp - 0x20], rax
mov rsi, rax
mov qword [rbp - 0x18], r11
add rax, r9
mov qword [rbp - 0x10], rcx
mov rbx, rcx
movzx edi, byte [rax + r14]
jmp 0x140083741
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x1400836dc
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp]
xor eax, eax
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8], xmm0
add rax, 2
cmp rax, 4
jb 0x140083743
mov rax, r10
mov r11, r10
mov r10d, dword [rsp + 8]
shr rax, 3
and eax, 3
mov r15, qword [rbp + rax*8]
mov rax, qword [rbp]
mov ecx, dword [r12 + rax*4]
and r10, rcx
sub r11, rcx
add r10, r9
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x14008385a
test r11, r11
je 0x14008385a
cmp r11, rdx
ja 0x14008385a
mov rax, qword [rsp + 0x10]
mov rdx, r8
mov r8, rax
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x1400837f3
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140083b1d
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400837d0
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x140083813
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x140083813
inc rcx
sub r8, 1
jne 0x140083800
mov rdx, rcx
cmp rdx, 4
jb 0x14008385a
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008385a
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov r13, rdx
mov qword [rbp - 0x10], r8
mov rbx, r8
mov qword [rbp - 0x18], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp + 8]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x140083951
test r11, r11
je 0x140083951
cmp r11, rdx
ja 0x140083951
mov rax, qword [rsp + 0x10]
xor ecx, ecx
mov rdx, qword [rsp + 0x48]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400838e3
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140083b31
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400838c0
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x140083905
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140083905
inc rdx
inc rcx
sub r8, 1
jne 0x1400838f0
mov rdx, rcx
cmp rdx, 4
jb 0x14008394c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008394c
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov r13, rdx
mov qword [rbp - 0x10], r8
mov rbx, r8
mov qword [rbp - 0x18], r11
movzx edi, byte [rax + r14]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rbp + 0x10]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x140083a3c
test r11, r11
je 0x140083a3c
cmp r11, rdx
ja 0x140083a3c
mov rax, qword [rsp + 0x10]
xor ecx, ecx
mov rdx, qword [rsp + 0x48]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400839d3
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140083b45
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400839b0
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x1400839f5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x1400839f5
inc rdx
inc rcx
sub r8, 1
jne 0x1400839e0
mov rdx, rcx
cmp rdx, 4
jb 0x140083a3c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x140083a3c
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov r13, rdx
mov qword [rbp - 0x10], r8
mov rbx, r8
mov qword [rbp - 0x18], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp + 0x18]
mov r14, qword [rsp + 0x50]
mov r10d, dword [rsp + 8]
mov r11, r14
mov ecx, dword [r12 + rax*4]
and r10, rcx
sub r11, rcx
mov rcx, qword [rsp]
add r10, rcx
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x140083b71
test r11, r11
je 0x140083b71
cmp r11, qword [rsp + 0x38]
ja 0x140083b71
mov rdi, qword [rsp + 0x10]
xor ecx, ecx
mov rdx, qword [rsp + 0x48]
mov rax, rdi
shr rax, 3
test rax, rax
je 0x140083abe
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140083b59
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140083aa0
mov r8, rdi
and r8d, 7
je 0x140083adc
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140083adc
inc rdx
inc rcx
sub r8, 1
jne 0x140083ac7
mov rdx, rcx
cmp rdx, 4
jb 0x140083b6d
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rbx, rax
jae 0x140083b71
mov r13, rdx
mov qword [rbp - 0x20], rdx
mov rsi, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], r11
jmp 0x140083b75
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140083816
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140083908
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400839f8
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140083adf
mov rcx, qword [rsp]
mov rsi, qword [rbp - 0x10]
mov dword [r12 + r15*4], r14d
mov r15, qword [rsp + 0x10]
mov r12, qword [rsp + 0x58]
test r14b, 3
jne 0x140083cf4
cmp r15, 0x20
jb 0x140083cf4
mov r11, qword [r12 + 0x50]
cmp r11, r14
ja 0x140083ceb
mov r10, qword [rsp + 8]
lea rdi, [r11 + 0x20]
jmp 0x140083bb4
mov rcx, qword [rsp]
mov r8d, dword [r12 + 0x40]
mov rax, r10
and rax, r11
mov r9d, r8d
imul r8d, dword [r12 + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + rcx]
mov rax, r10
and rax, rdi
inc edx
imul edx, dword [r12 + 0x60]
movzx ecx, byte [rax + rcx]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [r12 + 0x40], eax
cmp r9d, 0x1000000
jae 0x140083cd6
mov rax, qword [r12 + 0x48]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r14
jne 0x140083cd6
mov eax, 0xffffffff
cmp r8, rax
je 0x140083cd6
mov ebx, r14d
sub ebx, r8d
cmp rbx, qword [rsp + 0x38]
ja 0x140083cd6
mov rdx, qword [rsp + 0x48]
and r10, r8
add r10, qword [rsp]
mov r8, r15
shr r8, 3
xor eax, eax
test r8, r8
je 0x140083c6e
nop
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x140083d5c
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140083c50
mov r8, r15
and r8d, 7
je 0x140083c93
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x140083c93
inc rax
sub r8, 1
jne 0x140083c80
mov rdx, rax
mov r10, qword [rsp + 8]
cmp rdx, 4
jb 0x140083cd6
cmp rdx, r13
jbe 0x140083cd6
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jbe 0x140083cd6
mov r13, rdx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rbx
mov rsi, rax
mov dword [rbp - 8], 0
add r11, 4
add rdi, 4
cmp r11, r14
jbe 0x140083bb0
mov qword [rbp - 0x10], rsi
lea rax, [r14 + 4]
mov qword [r12 + 0x50], rax
mov rax, qword [rsp + 0x18]
mov r11, qword [rsp + 0x30]
add rax, 0xaf
cmp rsi, rax
jb 0x140083d76
mov ecx, dword [rsp + 0x28]
inc r11
movups xmm0, xmmword [rbp - 0x20]
inc ecx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x28], ecx
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp ecx, 4
jge 0x140083d70
lea rax, [r14 + 8]
cmp rax, qword [rsp + 0x68]
jae 0x140083d70
mov rax, qword [rbp - 0x70]
dec r15
mov qword [rsp + 0x18], rax
xor ebx, ebx
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x40], rax
jmp 0x1400835bf
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140083c96
mov r13, qword [rbp - 0x80]
jmp 0x140083d80
mov r14, qword [rsp + 0x20]
mov r13, qword [rsp + 0x40]
mov r9, qword [rsp + 0x70]
lea r15, [r14 + r13*2]
add r15, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x78]
add rax, r14
mov r10, qword [rsp + 0x60]
cmp rax, r9
mov qword [rsp + 0x48], r15
cmovb r9, rax
cmp rbx, r9
ja 0x140083e2c
movsxd rax, dword [r10]
lea rcx, [rbx + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x140083dcc
xor r8d, r8d
jmp 0x140083e30
cmp rbx, r8
jne 0x140083dd9
mov r8d, 1
jmp 0x140083e30
cmp rdx, 7
jae 0x140083df4
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140083e30
cmp rcx, 7
jae 0x140083e0c
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140083e30
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x140083e1d
mov r8d, 2
jmp 0x140083e30
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140083e30
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x140083e54
test r8, r8
je 0x140083e54
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov dword [r10], ebx
mov r15, qword [rsp + 0x78]
mov esi, dword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [r15], r11d
mov dword [r15 + 4], eax
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140083e82
xor edi, edi
jmp 0x140083efb
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x30]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r15 + 0xe], r8w
lea edx, [rsi + r13]
mov eax, 0x3ff
mov dword [r15 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r11, 6
jae 0x140083f25
movzx r10d, r11w
mov eax, 0x17
jmp 0x140083f95
cmp r11, 0x82
jae 0x140083f4f
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140083f95
cmp r11, 0x842
jae 0x140083f6c
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140083f95
mov eax, 0x17
cmp r11, 0x1842
jae 0x140083f80
lea r10d, [rax - 2]
jmp 0x140083f95
cmp r11, 0x5842
jae 0x140083f91
mov r10d, 0x16
jmp 0x140083f95
movzx r10d, ax
cmp r9, 0xa
jae 0x140083fa2
sub r9w, 2
jmp 0x140083fe2
cmp r9, 0x86
jae 0x140083fc7
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140083fe2
cmp r9, 0x846
jae 0x140083fde
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140083fe2
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x14008401a
cmp r10w, 8
jae 0x14008401a
cmp r9w, 0x10
jae 0x14008401a
cmp r9w, 8
jb 0x14008404e
or dx, 0x40
jmp 0x14008404e
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp - 0x40]
xor r9d, r9d
mov r14, qword [rsp + 0x20]
mov r8, qword [rbp - 0x58]
mov word [r15 + 0xc], dx
add r15, 0x10
add qword [rax], r11
lea rax, [r14 + r13]
mov qword [rsp + 0x78], r15
cmp rax, r8
mov qword [rsp + 0x30], r9
lea rdx, [r14 + 2]
cmovb r8, rax
mov rax, r13
shr rax, 2
cmp rbx, rax
jae 0x1400840b1
lea rax, [rbx*4]
mov rcx, r14
sub rcx, rax
add rcx, r13
cmp rdx, rcx
cmova rcx, rdx
cmp r8, rcx
mov rdx, rcx
cmovb rdx, r8
cmp rdx, r8
jae 0x14008410b
mov r14, qword [rsp]
movabs r9, 0x35a7bd1e35a7bd00
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 8]
and rax, rdx
mov rcx, qword [rax + r14]
mov eax, edx
imul rcx, r9
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r12 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x1400840d0
mov r14, qword [rsp + 0x20]
mov r9, qword [rsp + 0x30]
add r14, r13
mov qword [rsp + 0x20], r14
mov r15, qword [rsp]
mov r10, qword [rsp + 8]
mov rdx, qword [rsp + 0x68]
lea rax, [r14 + 8]
mov r11, qword [rsp + 0x60]
movabs rcx, 0x35a7bd1e35a7bd00
mov rbx, qword [rsp + 0x70]
cmp rax, rdx
jb 0x140082e90
mov r8, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
sub rdx, r14
sub r8, rcx
add rdx, r9
sar r8, 4
mov qword [rax], rdx
add qword [rsi], r8
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400af070
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rsp + 0x30]
inc r14
mov r15, qword [rsp + 0x48]
inc r9
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x20], r14
cmp r14, r15
jbe 0x140084113
mov rax, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x68]
add rdx, 0xfffffffffffffff9
lea rax, [r15 + rax*4]
cmp r14, rax
jbe 0x140084244
mov r15, qword [rsp]
lea rax, [r14 + 0x10]
mov r10, qword [rsp + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r14, rdx
jae 0x14008411c
add r9, 4
mov rax, rdx
sub rax, r14
dec rax
and rax, 0xfffffffffffffffc
add r9, rax
mov qword [rsp + 0x30], r9
movabs r9, 0x35a7bd1e35a7bd00
mov rax, r10
and rax, r14
mov rcx, qword [rax + r15]
mov eax, r14d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r12 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r14d
add r14, 4
cmp r14, rdx
jb 0x140084203
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x20], r14
jmp 0x14008411c
lea rax, [r14 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r14, rdx
jae 0x140084113
mov r15, qword [rsp]
add r9, 2
mov r10, qword [rsp + 8]
mov rax, rdx
sub rax, r14
dec rax
and rax, 0xfffffffffffffffe
add r9, rax
mov qword [rsp + 0x30], r9
movabs r9, 0x35a7bd1e35a7bd00
nop dword [rax]
nop dword [rax + rax]
mov rax, r10
and rax, r14
mov rcx, qword [rax + r15]
mov eax, r14d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r12 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r14d
add r14, 2
cmp r14, rdx
jb 0x140084290
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x20], r14
jmp 0x14008411c
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf0
mov r14, qword [rbp + 0x87]
mov rax, rcx
mov rsi, qword [rbp + 0x8f]
mov r11, r8
mov r8, qword [rbp + 0x6f]
mov r10d, 1
mov r13, r9
mov qword [rbp - 0x19], rsi
mov r14, qword [r14]
lea rbx, [rax + rdx]
mov r15, rdx
mov qword [rsp + 0x30], r14
mov ecx, dword [r8 + 8]
shl r10, cl
mov rcx, qword [r8 + 0x10]
sub r10, 0x10
mov qword [rbp - 0x59], r10
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x61], rbx
cmp rax, 8
jb 0x140084365
lea rax, [rbx - 7]
mov qword [rbp - 0x29], rax
jmp 0x140084369
mov qword [rbp - 0x29], r15
cmp dword [r8 + 4], 9
mov edx, 0x40
mov rdi, qword [rbp + 0x77]
mov eax, 0x200
cmovl eax, edx
mov qword [rbp - 0x21], rax
add rax, r15
mov qword [rsp + 0x60], rax
mov edx, dword [rdi + 0x58]
cmp edx, 4
jle 0x1400845db
mov r9, qword [rbp + 0x7f]
cmp edx, 0xa
mov rdx, r9
mov ecx, dword [r9]
lea eax, [rcx - 1]
mov dword [r9 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x24], eax
jle 0x1400843f7
mov ecx, dword [rdx + 4]
lea eax, [rcx - 1]
mov dword [rdx + 0x28], eax
lea eax, [rcx + 1]
mov dword [rdx + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdx + 0x30], eax
lea eax, [rcx + 2]
mov dword [rdx + 0x34], eax
lea eax, [rcx - 3]
mov dword [rdx + 0x38], eax
lea eax, [rcx + 3]
mov dword [rdx + 0x3c], eax
mov rcx, qword [rsp + 0x58]
lea rax, [r15 + 8]
cmp rax, rbx
jae 0x140085701
mov qword [rsp + 0xe8], r12
movsxd rsi, dword [rdi + 0x58]
lea rax, [rcx + r15]
mov r14, qword [rdi + 0x70]
mov r12, rbx
sub r12, r15
mov qword [rsp + 0x38], 0x7e4
cmp r15, r10
mov qword [rsp + 8], r12
mov r9, r10
mov qword [rsp + 0x50], r14
cmovb r9, r15
mov rcx, r10
mov r15, qword [rdi + 0x68]
cmp rax, r10
mov qword [rsp + 0x18], r9
cmovb rcx, rax
mov qword [rsp + 0x40], r15
mov rax, qword [r8 + 0x50]
xor r10d, r10d
mov qword [rsp + 0x48], rax
mov ebx, r10d
mov rax, qword [rbp + 0x4f]
mov r8, rax
mov qword [rsp], rcx
and r8, r13
mov qword [rbp - 0x41], r10
mov qword [rsp + 0x10], r8
mov ecx, 0x7e4
mov qword [rsp + 0x20], r10
mov dword [rbp - 0x31], r10d
mov qword [rsp + 0x28], rcx
mov qword [rbp + 0x47], r10
test rsi, rsi
je 0x14008462f
mov r15, qword [rsp + 0x10]
xor r8d, r8d
mov r14, qword [rbp + 0x57]
mov qword [rbp + 0x47], r8
mov qword [rsp + 0x28], rcx
movsxd rdi, dword [rdx + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x14008460c
cmp rdi, r9
ja 0x14008460c
and rcx, r13
lea rdx, [r10 + r15]
cmp rdx, r13
ja 0x140084608
lea rax, [rcx + r10]
cmp rax, r13
ja 0x140084604
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x140084604
lea r11, [rcx + r14]
mov rcx, r8
mov r8, r12
lea rdx, [r15 + r14]
shr r8, 3
test r8, r8
je 0x14008453e
mov r10, r11
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400845e4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084520
mov r8, r12
and r8d, 7
je 0x140084563
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140084563
inc rcx
sub r8, 1
jne 0x140084550
mov r8, rcx
cmp r8, 3
jae 0x14008457f
cmp r8, 2
jne 0x1400845f8
cmp rbx, r8
jae 0x1400845f8
mov r11, qword [rsp + 0x28]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x1400845f8
test rbx, rbx
je 0x1400845bf
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r11, r9
jae 0x1400845f8
mov qword [rsp + 0x28], r9
mov r10, r8
mov qword [rbp + 0x47], r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x41], rdi
mov qword [rsp + 0x38], r9
jmp 0x1400845fc
mov rdx, qword [rbp + 0x7f]
jmp 0x1400843fc
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140084566
mov r10, qword [rbp + 0x47]
mov r9, qword [rsp + 0x18]
xor r8d, r8d
mov rax, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x7f]
inc rbx
cmp rbx, rsi
jb 0x1400844b3
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov r8, qword [rsp + 0x10]
mov r11, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x77]
mov ecx, dword [rdi + 0x40]
lea r12, [r8 + r11]
mov rdx, qword [rdi + 0x48]
movabs rax, 0x1fe35a7bd3579bd3
and rdx, qword [r12]
imul rdx, rax
shr rdx, cl
mov ecx, dword [rdi + 0x54]
mov eax, edx
shl eax, cl
lea r14, [r14 + rax*4]
mov eax, edx
movzx edx, word [r15 + rax*2]
mov esi, edx
sub rsi, qword [rdi + 0x38]
cmp rdx, qword [rdi + 0x38]
lea r13, [r15 + rax*2]
mov eax, 0
mov qword [rsp + 0x40], r13
cmovbe rsi, rax
mov edi, edx
cmp rdx, rsi
jbe 0x1400847c1
mov rax, qword [rbp + 0x77]
mov r13, qword [rsp + 8]
mov r15d, dword [rax + 0x50]
nop word [rax + rax]
mov rbx, qword [rbp + 0x4f]
dec rdi
mov rax, rdi
and rax, r15
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x1400847b7
and rcx, qword [rbp + 0x5f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x5f]
ja 0x1400847ae
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x5f]
ja 0x1400847ae
movzx eax, byte [rax + r11]
cmp byte [rdx + r11], al
jne 0x1400847ae
add r11, rcx
xor eax, eax
mov r8, r13
mov rdx, r12
shr r8, 3
mov ecx, eax
test r8, r8
je 0x14008472a
mov r10, r11
sub r10, r12
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140084799
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084710
mov r8, r13
and r8d, 7
je 0x140084749
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140084749
inc rcx
sub r8, 1
jne 0x140084736
mov rdx, rcx
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp + 0x18]
mov r11, qword [rbp + 0x57]
cmp rdx, 4
jb 0x1400847aa
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x28], rax
jae 0x1400847aa
mov qword [rsp + 0x28], rax
mov r10, rdx
mov qword [rbp + 0x47], rdx
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x41], rbx
mov qword [rsp + 0x38], rax
jmp 0x1400847ae
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008474c
mov r10, qword [rbp + 0x47]
cmp rdi, rsi
ja 0x1400846a0
mov r13, qword [rsp + 0x40]
movzx edx, word [r13]
mov rsi, qword [rbp + 0x77]
mov r15, qword [rbp + 0x4f]
mov eax, dword [rsi + 0x50]
and rax, rdx
mov dword [r14 + rax*4], r15d
inc word [r13]
cmp qword [rsp + 0x38], 0x7e4
jne 0x140084ae6
mov r13, qword [rsi + 0x60]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x140084ae2
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r14
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140084972
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140084972
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x14008489e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14008495e
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084880
mov r8, r11
and r8d, 7
je 0x1400848c3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x1400848c3
inc rcx
sub r8, 1
jne 0x1400848b0
mov r9, rcx
mov rcx, qword [rbp + 0x6f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140084978
test r9, r9
je 0x140084978
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x48]
ja 0x14008497c
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x38]
jb 0x14008497c
mov qword [rsp + 0x38], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x20], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x31], r11d
mov qword [rbp - 0x41], rdx
jmp 0x14008497c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400848c6
mov rsi, qword [rsp]
jmp 0x140084981
mov rsi, qword [rsp]
mov rdx, qword [rsp + 8]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x140084ad8
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140084ad8
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140084a0e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140084ac4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400849f0
mov r8, r11
and r8d, 7
je 0x140084a2c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140084a2c
inc rdx
inc rcx
sub r8, 1
jne 0x140084a17
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140084ad8
test r9, r9
je 0x140084ad8
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x48]
ja 0x140084ad8
mov r15, qword [rbp + 0x4f]
mov rsi, qword [rbp + 0x77]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x38]
jb 0x140084aea
sub r11d, r9d
mov qword [rbp - 0x41], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x31], r11d
mov qword [rsp + 0x38], rax
jmp 0x140084aef
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140084a2f
mov r15, qword [rbp + 0x4f]
mov rsi, qword [rbp + 0x77]
jmp 0x140084aea
mov r15, qword [rbp + 0x4f]
mov r14, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x38], 0x7e4
jbe 0x140085735
mov r12, qword [rsp + 8]
xor r13d, r13d
mov dword [rbp + 0x47], r13d
dec r12
cmp dword [r14 + 4], 5
mov qword [rsp + 8], r12
jge 0x140084b29
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x140084b2c
mov r10, r13
mov r8, qword [rbp - 0x59]
lea rdx, [r15 + 1]
mov rax, qword [rsp + 0x58]
cmp rdx, r8
mov r9, qword [rbp + 0x5f]
mov r11, r8
cmovb r11, rdx
mov qword [rsp + 0x18], r10
inc rax
mov qword [rbp - 0x79], r13
add rax, r15
mov qword [rbp - 0x71], 0x7e4
mov r15, qword [rsi + 0x70]
cmp rax, r8
mov rcx, r8
mov qword [rsp], rdx
cmovb rcx, rax
mov qword [rsp + 0x28], r11
mov rax, qword [r14 + 0x50]
mov r8, rdx
mov r14, qword [rsi + 0x68]
and r8, r9
movsxd rsi, dword [rsi + 0x58]
mov rbx, r13
mov qword [rsp + 0x48], rcx
mov ecx, 0x7e4
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x10], r14
mov qword [rbp - 0x51], r15
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x68], r13
mov dword [rbp - 0x69], r13d
mov qword [rsp + 0x50], rcx
test rsi, rsi
je 0x140084d34
mov r15, qword [rbp + 0x57]
mov r14, r8
mov rax, qword [rbp + 0x7f]
mov qword [rsp + 0x50], rcx
nop
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x140084d1a
cmp rdi, r11
ja 0x140084d1a
and rcx, r9
lea rdx, [r10 + r14]
cmp rdx, r9
ja 0x140084d16
lea rax, [rcx + r10]
cmp rax, r9
ja 0x140084d12
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x140084d12
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
mov rax, r13
test r8, r8
je 0x140084c5e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x140084cf3
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140084c40
mov r8, r12
and r8d, 7
je 0x140084c83
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x140084c83
inc rax
sub r8, 1
jne 0x140084c70
mov r8, rax
cmp r8, 3
jae 0x140084c97
cmp r8, 2
jne 0x140084d04
cmp rbx, r8
jae 0x140084d04
mov r11, qword [rsp + 0x50]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140084d04
test rbx, rbx
je 0x140084cd7
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r11, r9
jae 0x140084d04
mov qword [rsp + 0x50], r9
mov r10, r8
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x68], r8
mov qword [rbp - 0x79], rdi
mov qword [rbp - 0x71], r9
jmp 0x140084d09
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x140084c86
mov r10, qword [rsp + 0x18]
mov r11, qword [rsp + 0x28]
mov r9, qword [rbp + 0x5f]
mov rax, qword [rbp + 0x7f]
mov rdx, qword [rsp]
inc rbx
cmp rbx, rsi
jb 0x140084bd0
mov r14, qword [rsp + 0x10]
mov r15, qword [rbp - 0x51]
mov r8, qword [rsp + 0x40]
mov rbx, qword [rbp + 0x77]
movabs rax, 0x1fe35a7bd3579bd3
mov r9, qword [rbp + 0x57]
add r9, r8
mov qword [rsp + 0x10], r9
mov ecx, dword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
and rdx, qword [r9]
imul rdx, rax
shr rdx, cl
mov ecx, dword [rbx + 0x54]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx r13d, word [r14 + rax*2]
lea r12, [r14 + rax*2]
mov esi, r13d
mov qword [rbp - 0x51], r12
sub rsi, qword [rbx + 0x38]
mov eax, 0
cmp r13, qword [rbx + 0x38]
mov edi, r13d
cmovbe rsi, rax
cmp r13, rsi
jbe 0x140084eec
mov r14d, dword [rbx + 0x50]
mov r13, qword [rsp]
mov r12, qword [rsp + 8]
nop word [rax + rax]
dec rdi
mov rax, r14
and rax, rdi
mov rbx, r13
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r11
ja 0x140084ee3
and rcx, qword [rbp + 0x5f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x5f]
ja 0x140084eda
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x5f]
ja 0x140084eda
mov r13, qword [rbp + 0x57]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rsp]
jne 0x140084eda
mov r11, qword [rbp + 0x57]
xor eax, eax
add r11, rcx
mov r8, r12
shr r8, 3
mov rdx, r9
mov ecx, eax
test r8, r8
je 0x140084e4e
mov r10, r11
sub r10, r9
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140084ec4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084e30
mov r8, r12
and r8d, 7
je 0x140084e73
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140084e73
inc rcx
sub r8, 1
jne 0x140084e60
mov rdx, rcx
mov r9, qword [rsp + 0x10]
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x28]
cmp rdx, 4
jb 0x140084ed5
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x50], rax
jae 0x140084ed5
mov qword [rsp + 0x50], rax
mov r10, rdx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x68], rdx
mov qword [rbp - 0x79], rbx
mov qword [rbp - 0x71], rax
jmp 0x140084eda
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140084e76
mov r10, qword [rsp + 0x18]
cmp rdi, rsi
ja 0x140084db0
mov r12, qword [rbp - 0x51]
movzx r13d, word [r12]
mov rsi, qword [rbp + 0x77]
mov rcx, qword [rsp]
mov eax, dword [rsi + 0x50]
and rax, r13
mov dword [r15 + rax*4], ecx
inc word [r12]
mov r12, qword [rbp - 0x71]
cmp r12, 0x7e4
jne 0x14008521c
mov r13, qword [rsi + 0x60]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x140085218
imul ebx, dword [r9], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r14
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x1400850b7
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x1400850b7
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140084fd3
mov r10, r9
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140085099
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084fb0
mov r9, qword [rsp + 0x10]
mov r8, r11
and r8d, 7
je 0x140084ff3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r9], al
jne 0x140084ff3
inc rcx
sub r8, 1
jne 0x140084fe0
mov r9, rcx
mov rcx, qword [rbp + 0x6f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400850ad
test r9, r9
je 0x1400850ad
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x48]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x60]
ja 0x14008508d
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x14008508d
mov r12, rax
mov qword [rbp - 0x71], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x68], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x69], r11d
mov qword [rbp - 0x79], rdx
mov r9, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
jmp 0x1400850bc
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140084ff6
mov rdx, qword [rsp + 8]
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x48]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14008520e
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008520e
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x14008513e
mov r10, r9
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400851fa
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085120
mov r8, r11
and r8d, 7
je 0x140085165
mov r9, qword [rsp + 0x10]
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r9], al
jne 0x140085165
inc rdx
inc rcx
sub r8, 1
jne 0x140085150
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008520e
test r9, r9
je 0x14008520e
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x60]
ja 0x14008520e
mov rsi, qword [rbp + 0x77]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rax, r12
jb 0x140085220
sub r11d, r9d
mov qword [rsp + 0x68], r9
inc qword [r13 + 0x10]
mov r12, rax
mov dword [rbp - 0x69], r11d
mov qword [rbp - 0x79], rdx
mov qword [rbp - 0x71], rax
jmp 0x140085220
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140085168
mov rcx, qword [rsp]
mov rsi, qword [rbp + 0x77]
jmp 0x140085220
mov rcx, qword [rsp]
mov r14, qword [rbp + 0x6f]
mov rax, qword [rsp + 0x38]
add rax, 0xaf
cmp r12, rax
jb 0x14008528c
movups xmm0, xmmword [rsp + 0x68]
inc qword [rsp + 0x30]
mov r15, rcx
movups xmm1, xmmword [rbp - 0x71]
mov qword [rbp + 0x4f], rcx
mov ecx, dword [rbp + 0x47]
inc ecx
mov dword [rbp + 0x47], ecx
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm1
cmp ecx, 4
jge 0x140085286
lea rax, [r15 + 8]
cmp rax, qword [rbp - 0x61]
jae 0x140085286
mov r12, qword [rsp + 8]
mov r9, qword [rbp - 0x39]
dec r12
mov rcx, qword [rbp - 0x49]
xor r13d, r13d
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x20], rcx
jmp 0x140084b0d
mov r13, qword [rbp - 0x49]
jmp 0x140085295
mov r15, qword [rbp + 0x4f]
mov r13, qword [rsp + 0x20]
mov rax, qword [rbp - 0x21]
mov r10, qword [rbp - 0x59]
mov r11, qword [rbp + 0x7f]
mov rdi, qword [rbp - 0x41]
lea r12, [rax + r13*2]
mov rax, qword [rsp + 0x58]
add rax, r15
add r12, r15
cmp rax, r10
mov qword [rsp + 0x60], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rdi, r10
ja 0x14008534e
movsxd rax, dword [r11]
lea rcx, [rdi + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rdi, rax
jne 0x1400852ed
xor r9d, r9d
mov r8d, r9d
jmp 0x140085355
cmp rdi, r9
jne 0x1400852fa
mov r8d, 1
jmp 0x140085352
cmp r8, 7
jae 0x140085316
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140085352
cmp rcx, 7
jae 0x14008532e
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140085352
movsxd rax, dword [r11 + 8]
cmp rdi, rax
jne 0x14008533f
mov r8d, 2
jmp 0x140085352
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x140085352
lea r8, [rdi + 0xf]
xor r9d, r9d
cmp rdi, r10
ja 0x1400853d6
test r8, r8
je 0x1400853d6
mov eax, dword [r11 + 8]
mov ecx, dword [r11]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov dword [rdx], ecx
mov dword [r11], edi
mov edx, dword [rsi + 0x58]
cmp edx, 4
jle 0x1400853d6
lea eax, [rdi - 1]
mov dword [r11 + 0x10], eax
lea eax, [rdi + 1]
mov dword [r11 + 0x14], eax
lea eax, [rdi - 2]
mov dword [r11 + 0x18], eax
lea eax, [rdi + 2]
mov dword [r11 + 0x1c], eax
lea eax, [rdi - 3]
mov dword [r11 + 0x20], eax
lea eax, [rdi + 3]
mov dword [r11 + 0x24], eax
cmp edx, 0xa
jle 0x1400853d6
lea eax, [rcx - 1]
mov dword [r11 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r11 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r11 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r11 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r11 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r11 + 0x3c], eax
mov r11, qword [rbp + 0x8f]
mov esi, dword [rbp - 0x31]
mov r12, qword [rsp + 0x30]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [r11], r12d
mov dword [r11 + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140085408
mov ebx, r9d
jmp 0x140085487
mov rcx, qword [rbp + 0x6f]
add r8, 0xfffffffffffffff0
mov r10d, 1
mov r11d, dword [rcx + 0x40]
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp + 0x8f]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea edx, [rsi + r13]
mov eax, 0x3ff
mov dword [r11 + 8], ebx
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x1400854b1
movzx r10d, r12w
mov eax, 0x17
jmp 0x140085524
cmp r12, 0x82
jae 0x1400854dd
lea eax, [r12 - 2]
bsr ecx, eax
lea r10, [r12 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140085524
cmp r12, 0x842
jae 0x1400854fb
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140085524
mov eax, 0x17
cmp r12, 0x1842
jae 0x14008550f
lea r10d, [rax - 2]
jmp 0x140085524
cmp r12, 0x5842
jae 0x140085520
mov r10d, 0x16
jmp 0x140085524
movzx r10d, ax
cmp r9, 0xa
jae 0x140085531
sub r9w, 2
jmp 0x140085571
cmp r9, 0x86
jae 0x140085556
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140085571
cmp r9, 0x846
jae 0x14008556d
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140085571
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x1400855a9
cmp r10w, 8
jae 0x1400855a9
cmp r9w, 0x10
jae 0x1400855a9
cmp r9w, 8
jb 0x1400855dd
or dx, 0x40
jmp 0x1400855dd
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x9f]
lea rbx, [r15 + 2]
mov rsi, qword [rbp - 0x29]
mov word [r11 + 0xc], dx
add r11, 0x10
mov qword [rbp + 0x8f], r11
add qword [rax], r12
xor eax, eax
mov r14d, eax
mov qword [rsp + 0x30], rax
lea rax, [r15 + r13]
cmp rax, rsi
cmovb rsi, rax
mov rax, r13
shr rax, 2
cmp rdi, rax
jae 0x140085649
lea rax, [rdi*4]
mov rcx, r13
sub rcx, rax
lea rax, [rcx + r15]
cmp rbx, rax
mov eax, 2
cmova rcx, rax
lea rbx, [r15 + rcx]
cmp rsi, rbx
cmovb rbx, rsi
cmp rbx, rsi
jae 0x1400856bd
mov rdi, qword [rbp + 0x77]
movabs r14, 0x1fe35a7bd3579bd3
nop dword [rax]
mov rdx, qword [rdi + 0x68]
mov rax, rbx
and rax, qword [rbp + 0x5f]
mov rcx, qword [rbp + 0x57]
mov r11, qword [rdi + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [rdi + 0x48]
mov ecx, dword [rdi + 0x40]
imul r10, r14
shr r10, cl
mov ecx, dword [rdi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [rdi + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], ebx
inc rbx
cmp rbx, rsi
jb 0x140085660
mov r14, qword [rsp + 0x30]
add r15, r13
mov qword [rbp + 0x4f], r15
mov r13, qword [rbp + 0x5f]
mov rbx, qword [rbp - 0x61]
lea rax, [r15 + 8]
mov r11, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x77]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x7f]
mov r10, qword [rbp - 0x59]
mov rcx, qword [rsp + 0x58]
cmp rax, rbx
jb 0x140084411
mov r12, qword [rsp + 0xe8]
mov rsi, qword [rbp + 0x8f]
mov rax, qword [rbp + 0x87]
sub rbx, r15
sub rsi, qword [rbp - 0x19]
add rbx, r14
sar rsi, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x97]
add qword [rax], rsi
add rsp, 0xf0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r14, qword [rsp + 0x30]
inc r15
mov r12, qword [rsp + 0x60]
inc r14
mov qword [rsp + 0x30], r14
mov qword [rbp + 0x4f], r15
cmp r15, r12
jbe 0x1400856c4
mov rax, qword [rbp - 0x21]
mov rbx, qword [rbp - 0x61]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp r15, rax
jbe 0x140085816
mov r13, qword [rbp + 0x5f]
lea rax, [r15 + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x1400856c8
add r14, 4
mov rax, rbx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r14, rax
mov qword [rsp + 0x30], r14
movabs r14, 0x1fe35a7bd3579bd3
nop dword [rax + rax]
mov rdx, qword [rsi + 0x68]
mov rax, r15
mov rcx, qword [rbp + 0x57]
and rax, r13
mov r11, qword [rsi + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [rsi + 0x48]
mov ecx, dword [rsi + 0x40]
imul r10, r14
shr r10, cl
mov ecx, dword [rsi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [rsi + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], r15d
add r15, 4
cmp r15, rbx
jb 0x1400857b0
mov r14, qword [rsp + 0x30]
mov qword [rbp + 0x4f], r15
jmp 0x1400856c8
lea rax, [r15 + 8]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x1400856c4
mov r13, qword [rbp + 0x5f]
add r14, 2
mov rax, rbx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r14, rax
mov qword [rsp + 0x30], r14
movabs r14, 0x1fe35a7bd3579bd3
mov rdx, qword [rsi + 0x68]
mov rax, r15
mov rcx, qword [rbp + 0x57]
and rax, r13
mov r11, qword [rsi + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [rsi + 0x48]
mov ecx, dword [rsi + 0x40]
imul r10, r14
shr r10, cl
mov ecx, dword [rsi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [rsi + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], r15d
add r15, 2
cmp r15, rbx
jb 0x140085851
mov r14, qword [rsp + 0x30]
mov qword [rbp + 0x4f], r15
jmp 0x1400856c8
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0x100
mov r15, qword [rbp + 0x5f]
mov rax, rcx
mov r10, qword [rbp + 0x77]
mov r9, r8
mov r14, rdx
mov r8d, 1
mov rdx, qword [rbp + 0x7f]
mov ecx, dword [r15 + 8]
mov r10, qword [r10]
shl r8, cl
lea rbx, [rax + r14]
mov rcx, qword [r15 + 0x10]
sub r8, 0x10
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x29], rdx
mov qword [rsp + 0x28], r10
mov qword [rbp - 0x49], rbx
cmp rax, 8
jb 0x14008593a
lea rax, [rbx - 7]
mov qword [rbp - 0x41], rax
jmp 0x14008593e
mov qword [rbp - 0x41], r14
cmp dword [r15 + 4], 9
mov edx, 0x40
mov r13, qword [rbp + 0x67]
mov eax, 0x200
cmovl eax, edx
mov qword [rbp - 0x39], rax
add rax, r14
mov qword [rbp - 0x71], rax
mov edx, dword [r13 + 0x58]
cmp edx, 4
jle 0x1400859d5
mov r8, qword [rbp + 0x6f]
mov ecx, dword [r8]
lea eax, [rcx - 1]
mov dword [r8 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r8 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r8 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r8 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r8 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r8 + 0x24], eax
cmp edx, 0xa
jle 0x1400859cc
mov ecx, dword [r8 + 4]
lea eax, [rcx - 1]
mov dword [r8 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r8 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r8 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r8 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r8 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r8 + 0x3c], eax
mov rcx, qword [rbp - 0x79]
mov r8, qword [rsp + 0x78]
lea rax, [r14 + 8]
cmp rax, rbx
jae 0x14008718e
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0xf0], rdi
xor edi, edi
mov qword [rsp + 0xe8], r12
nop dword [rax]
mov rdx, qword [rbp + 0x3f]
lea rax, [rcx + r14]
movsxd rsi, dword [r13 + 0x58]
mov r11, r8
mov rcx, r8
mov qword [rbp - 0x61], rdi
mov r12, rbx
mov qword [rsp + 0x30], rdi
sub r12, r14
mov dword [rbp - 0x51], edi
cmp r14, r8
mov qword [rsp], r12
mov rbx, rdi
mov qword [rsp + 0x18], rdi
cmovb r11, r14
mov r10, rdi
mov r14, qword [r13 + 0x68]
cmp rax, r8
mov r8, rdx
mov qword [rsp + 8], r11
cmovb rcx, rax
mov qword [rbp + 0x37], r14
mov rax, qword [r15 + 0x50]
mov r15, qword [r13 + 0x70]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x4f]
and r8, rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r8
mov ecx, 0x7e4
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x20], rcx
test rsi, rsi
je 0x140085c06
mov r15, qword [rbp + 0x6f]
mov r14, r8
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x18], rdi
nop dword [rax + rax]
movsxd rdi, dword [r15 + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x140085beb
cmp rdi, r11
ja 0x140085beb
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x140085be7
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x140085be3
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x140085be3
mov r8, r12
lea r11, [rcx + r9]
shr r8, 3
lea rdx, [r14 + r9]
xor ecx, ecx
test r8, r8
je 0x140085b2e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140085bc4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085b10
mov r8, r12
and r8d, 7
je 0x140085b53
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140085b53
inc rcx
sub r8, 1
jne 0x140085b40
mov r8, rcx
cmp r8, 3
jae 0x140085b67
cmp r8, 2
jne 0x140085bd5
cmp rbx, r8
jae 0x140085bd5
mov r11, qword [rsp + 0x20]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140085bd5
test rbx, rbx
je 0x140085ba7
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r11, r9
jae 0x140085bd5
mov qword [rsp + 0x20], r9
mov r10, r8
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x61], rdi
mov qword [rsp + 0x10], r9
jmp 0x140085bda
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140085b56
mov r10, qword [rsp + 0x18]
mov r9, qword [rbp + 0x47]
mov r11, qword [rsp + 8]
mov rax, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x3f]
inc rbx
cmp rbx, rsi
jb 0x140085aa0
mov r14, qword [rbp + 0x37]
xor edi, edi
mov r15, qword [r13 + 0x70]
mov r8, qword [rsp + 0x38]
mov ecx, dword [r13 + 0x40]
add r9, r8
mov rdx, qword [r13 + 0x48]
movabs rax, 0x1fe35a7bd3579bd3
mov qword [rbp + 0x37], r9
and rdx, qword [r9]
imul rdx, rax
shr rdx, cl
mov ecx, dword [r13 + 0x54]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx r13d, word [r14 + rax*2]
lea r12, [r14 + rax*2]
mov rdx, qword [rbp + 0x67]
mov esi, r13d
mov qword [rsp + 0x70], r12
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rdi
mov edi, r13d
cmp r13, rsi
jbe 0x140085d97
mov r14d, dword [rdx + 0x50]
mov r13, qword [rbp + 0x47]
mov r12, qword [rsp]
mov rbx, qword [rbp + 0x3f]
dec rdi
mov rax, rdi
and rax, r14
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r11
ja 0x140085d89
and rcx, qword [rbp + 0x4f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x4f]
ja 0x140085d80
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x140085d80
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x140085d80
xor eax, eax
lea r11, [rcx + r13]
mov r8, r12
mov rdx, r9
shr r8, 3
mov ecx, eax
test r8, r8
je 0x140085cfa
mov r10, r11
sub r10, r9
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140085d6a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085ce0
mov r8, r12
and r8d, 7
je 0x140085d19
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140085d19
inc rcx
sub r8, 1
jne 0x140085d06
mov rdx, rcx
mov r8, qword [rsp + 0x38]
mov r9, qword [rbp + 0x37]
mov r11, qword [rsp + 8]
cmp rdx, 4
jb 0x140085d7b
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x20], rax
jae 0x140085d7b
mov qword [rsp + 0x20], rax
mov r10, rdx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x30], rdx
mov qword [rbp - 0x61], rbx
mov qword [rsp + 0x10], rax
jmp 0x140085d80
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140085d1c
mov r10, qword [rsp + 0x18]
cmp rdi, rsi
ja 0x140085c70
mov r12, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x67]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
mov r14, qword [rbp + 0x3f]
and rax, r13
mov rbx, qword [rsp + 0x10]
mov dword [r15 + rax*4], r14d
inc word [r12]
cmp rbx, 0x7e4
jne 0x1400860b3
mov r13, qword [rdx + 0x60]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x1400860b3
imul ebx, dword [r9], 0x1e35a7bd
lea r14, [rcx + 1]
mov r12, qword [rbp + 0x5f]
mov rdx, qword [rsp]
mov qword [r13 + 8], r14
mov rax, qword [r12 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140085f51
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140085f51
mov rdi, qword [r12 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140085e72
mov r10, r9
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140085f35
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085e50
mov r9, qword [rbp + 0x37]
mov r8, r11
and r8d, 7
je 0x140085e93
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r9], al
jne 0x140085e93
inc rcx
sub r8, 1
jne 0x140085e80
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140085f49
test r9, r9
je 0x140085f49
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r12 + 0x68]
mov r12, qword [rsp + 0x40]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
lea rdx, [r12 + 1]
add rax, rsi
add rdx, rax
cmp rdx, qword [rsp + 0x68]
ja 0x140085f2b
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jb 0x140085f2b
mov qword [rsp + 0x10], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x30], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
mov r9, qword [rbp + 0x37]
mov rdx, qword [rsp]
jmp 0x140085f56
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140085e96
mov rdx, qword [rsp]
mov r9, qword [rbp + 0x37]
mov r12, qword [rsp + 0x40]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x5f]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x1400860b9
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400860b9
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140085fde
mov r10, r9
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14008609b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085fc0
mov rsi, qword [rbp + 0x37]
mov r8, r11
and r8d, 7
je 0x140086004
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + rsi], al
jne 0x140086004
inc rdx
inc rcx
sub r8, 1
jne 0x140085ff0
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400860bd
test r9, r9
je 0x1400860bd
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
mov rbx, qword [rsp + 0x10]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, r12
cmp rdx, qword [rsp + 0x68]
ja 0x1400860c2
mov r14, qword [rbp + 0x3f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rbx
jb 0x1400860c6
sub r11d, r9d
mov qword [rsp + 0x30], r9
inc qword [r13 + 0x10]
mov rbx, rax
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
mov qword [rsp + 0x10], rax
jmp 0x1400860c6
mov rsi, qword [rbp + 0x37]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140086007
mov rsi, qword [rbp + 0x37]
jmp 0x1400860c6
mov rsi, qword [rbp + 0x37]
mov rbx, qword [rsp + 0x10]
mov r14, qword [rbp + 0x3f]
mov r12, qword [rsp]
mov r13, qword [rbp + 0x67]
cmp r12, 0x20
jb 0x140086261
mov r11, qword [r13 + 0x88]
cmp r11, r14
ja 0x140086256
mov r14, qword [rsp + 8]
lea rdi, [r11 + 0x20]
mov r10, qword [rbp + 0x47]
mov r15, qword [rbp + 0x4f]
nop dword [rax]
mov r8d, dword [r13 + 0x78]
mov rax, r11
and rax, r15
mov r9d, r8d
imul r8d, dword [r13 + 0x94]
and r9d, 0x3fffffff
movzx edx, byte [rax + r10]
mov rax, rdi
and rax, r15
inc edx
imul edx, dword [r13 + 0x98]
movzx ecx, byte [rax + r10]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [r13 + 0x78], eax
cmp r9d, 0x1000000
jae 0x140086242
mov rax, qword [r13 + 0x80]
mov ecx, r9d
mov r9d, dword [rax + r9*4]
mov dword [rax + rcx*4], r11d
mov rax, qword [rbp + 0x3f]
cmp r11, rax
jne 0x140086242
mov ecx, 0xffffffff
cmp r9, rcx
je 0x140086242
sub eax, r9d
mov ebx, eax
cmp rbx, r14
ja 0x14008623d
and r9, r15
xor eax, eax
mov r8, r12
add r9, r10
shr r8, 3
mov rdx, rsi
mov ecx, eax
test r8, r8
je 0x1400861bd
mov r10, qword [rdx]
mov rax, qword [rcx + r9]
cmp r10, rax
jne 0x14008622c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400861a3
mov r8, r12
and r8d, 7
je 0x1400861e3
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r9], al
jne 0x1400861e3
inc rcx
sub r8, 1
jne 0x1400861d0
mov rdx, rcx
mov r10, qword [rbp + 0x47]
cmp rdx, 4
jb 0x14008623d
cmp rdx, qword [rsp + 0x30]
jbe 0x14008623d
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jbe 0x14008623d
mov qword [rbp - 0x61], rbx
mov rbx, rax
mov qword [rsp + 0x10], rax
xor eax, eax
mov dword [rbp - 0x51], eax
mov qword [rsp + 0x30], rdx
jmp 0x140086242
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400861e6
mov rbx, qword [rsp + 0x10]
inc r11
inc rdi
cmp r11, qword [rbp + 0x3f]
jbe 0x140086100
mov r14, qword [rbp + 0x3f]
lea rax, [r14 + 1]
mov qword [r13 + 0x88], rax
cmp rbx, 0x7e4
jbe 0x140086fd0
mov rax, qword [rsp + 0x30]
xor edi, edi
mov dword [rbp + 0x37], edi
dec r12
mov r8, qword [rbp + 0x5f]
mov qword [rsp], r12
cmp dword [r8 + 4], 5
jge 0x140086299
dec rax
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x14008629c
mov r10, rdi
mov rbx, qword [rsp + 0x78]
lea r11, [r14 + 1]
mov rax, qword [rbp - 0x79]
cmp r11, rbx
movsxd rsi, dword [r13 + 0x58]
mov rdx, rbx
mov r15, qword [r13 + 0x70]
cmovb rdx, r11
inc rax
mov qword [rsp + 0x20], r10
add rax, r14
mov qword [rsp + 0x50], rdi
mov r14, qword [r13 + 0x68]
cmp rax, rbx
mov rcx, rbx
mov qword [rsp + 0x18], r11
cmovb rcx, rax
mov qword [rsp + 8], rdx
mov rax, qword [r8 + 0x50]
mov r9d, 0x7e4
mov qword [rbp - 0x71], rax
mov r8, r11
mov rax, qword [rbp + 0x4f]
mov rbx, rdi
and r8, rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], r9
mov ecx, r9d
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x40], rcx
test rsi, rsi
je 0x1400864ae
mov r15, qword [rbp + 0x47]
mov r14, r8
mov qword [rsp + 0x40], rcx
nop dword [rax + rax]
mov rcx, qword [rbp + 0x6f]
movsxd rdi, dword [rcx + rbx*4]
mov rcx, r11
sub rcx, rdi
cmp rcx, r11
jae 0x14008648e
cmp rdi, rdx
ja 0x14008648e
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x140086489
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x140086485
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x140086485
xor eax, eax
lea r11, [rcx + r15]
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
mov ecx, eax
test r8, r8
je 0x1400863ce
mov r10, r11
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140086465
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400863b0
mov r8, r12
and r8d, 7
je 0x1400863f3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400863f3
inc rcx
sub r8, 1
jne 0x1400863e0
mov r8, rcx
cmp r8, 3
jae 0x140086407
cmp r8, 2
jne 0x140086476
cmp rbx, r8
jae 0x140086476
mov r11, qword [rsp + 0x40]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140086476
test rbx, rbx
je 0x140086447
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r11, r9
jae 0x140086476
mov qword [rsp + 0x40], r9
mov r10, r8
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r9
jmp 0x140086480
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x1400863f6
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x18]
mov rax, qword [rbp + 0x4f]
mov rdx, qword [rsp + 8]
inc rbx
cmp rbx, rsi
jb 0x140086340
mov r13, qword [rbp + 0x67]
xor edi, edi
mov r14, qword [rsp + 0x68]
mov r8, qword [rsp + 0x38]
mov r15, qword [r13 + 0x70]
mov rcx, qword [rbp + 0x47]
mov rdx, qword [r13 + 0x48]
and rdx, qword [r8 + rcx]
lea rax, [r8 + rcx]
mov ecx, dword [r13 + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x1fe35a7bd3579bd3
imul rdx, rax
shr rdx, cl
mov ecx, dword [r13 + 0x54]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx r13d, word [r14 + rax*2]
lea r12, [r14 + rax*2]
mov rdx, qword [rbp + 0x67]
mov esi, r13d
mov qword [rbp - 0x31], r12
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rdi
mov edi, r13d
cmp r13, rsi
jbe 0x140086665
mov r14d, dword [rdx + 0x50]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 8]
dec rdi
mov rax, r14
and rax, rdi
mov rbx, r11
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r12
ja 0x140086658
and rcx, qword [rbp + 0x4f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x4f]
ja 0x14008664f
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x14008664f
mov r12, qword [rbp + 0x47]
movzx eax, byte [rax + r12]
cmp byte [rdx + r12], al
mov r12, qword [rsp + 8]
jne 0x14008664f
mov r11, qword [rbp + 0x47]
xor eax, eax
add r11, rcx
mov rdx, r13
mov ecx, eax
mov rax, qword [rsp]
mov r9, rax
shr r9, 3
test r9, r9
je 0x1400865c2
mov r10, r11
sub r10, r13
nop dword [rax + rax]
mov rax, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rax, r8
jne 0x140086634
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1400865a0
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x1400865e3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400865e3
inc rcx
sub r8, 1
jne 0x1400865d0
mov rdx, rcx
mov r8, qword [rsp + 0x38]
mov r11, qword [rsp + 0x18]
cmp rdx, 4
jb 0x140086645
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x40], rax
jae 0x140086645
mov qword [rsp + 0x40], rax
mov r10, rdx
mov qword [rsp + 0x20], rdx
mov r9, rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rax
jmp 0x14008664f
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400865e6
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x20]
cmp rdi, rsi
ja 0x140086520
mov r12, qword [rbp - 0x31]
mov rdx, qword [rbp + 0x67]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
and rax, r13
mov dword [r15 + rax*4], r11d
inc word [r12]
mov r12, qword [rsp + 0x68]
cmp r9, 0x7e4
jne 0x140086977
mov r13, qword [rdx + 0x60]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x140086977
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x5f]
mov rdx, qword [rsp]
mov qword [r13 + 8], r14
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140086814
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140086814
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r9d, r11d
add rdx, rax
shr r9, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r9, r9
je 0x14008673e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rax, r8
jne 0x140086800
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140086720
mov r8, r11
and r8d, 7
je 0x140086763
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140086763
inc rcx
sub r8, 1
jne 0x140086750
mov r9, rcx
mov rcx, qword [rbp + 0x5f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008681b
test r9, r9
je 0x14008681b
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x70]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rbp - 0x71]
ja 0x140086820
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x58]
jb 0x140086820
mov qword [rsp + 0x58], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x48], r9
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x50], rdx
jmp 0x140086820
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140086766
mov rsi, qword [rsp + 0x70]
jmp 0x140086824
mov rsi, qword [rsp + 0x70]
mov rdx, qword [rsp]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x5f]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140086977
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140086977
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x1400868ae
mov r10, r12
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140086963
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140086890
mov r8, r11
and r8d, 7
je 0x1400868cc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400868cc
inc rdx
inc rcx
sub r8, 1
jne 0x1400868b7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140086977
test r9, r9
je 0x140086977
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
mov rsi, qword [rsp + 0x58]
cmp rdx, qword [rbp - 0x71]
ja 0x14008697c
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14008697c
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r13 + 0x10]
mov r15, r9
mov dword [rsp + 0x60], r11d
mov rsi, rax
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
jmp 0x140086981
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400868cf
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
cmp qword [rsp], 0x20
mov r13, qword [rbp + 0x67]
mov r14, qword [rsp + 0x18]
jb 0x140086b1c
mov r11, qword [r13 + 0x88]
cmp r11, r14
ja 0x140086b11
mov r10, qword [rbp + 0x4f]
lea rdi, [r11 + 0x20]
nop dword [rax]
mov r8d, dword [r13 + 0x78]
mov rax, r11
mov rcx, qword [rbp + 0x47]
and rax, r10
mov r9d, r8d
imul r8d, dword [r13 + 0x94]
and r9d, 0x3fffffff
movzx edx, byte [rax + rcx]
mov rax, rdi
and rax, r10
inc edx
imul edx, dword [r13 + 0x98]
movzx ecx, byte [rax + rcx]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [r13 + 0x78], eax
cmp r9d, 0x1000000
jae 0x140086af8
mov rax, qword [r13 + 0x80]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r14
jne 0x140086af4
mov eax, 0xffffffff
cmp r10, rax
je 0x140086af4
mov ebx, r14d
sub ebx, r10d
cmp rbx, qword [rsp + 8]
ja 0x140086af4
and r10, qword [rbp + 0x4f]
xor eax, eax
mov rcx, qword [rsp]
mov rdx, r12
add r10, qword [rbp + 0x47]
mov r8, rcx
shr r8, 3
test r8, r8
je 0x140086a7e
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x140086ae3
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140086a60
mov rcx, qword [rsp]
mov r8, rcx
and r8d, 7
je 0x140086aa3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x140086aa3
inc rax
sub r8, 1
jne 0x140086a90
mov rdx, rax
cmp rdx, 4
jb 0x140086af4
cmp rdx, r15
jbe 0x140086af4
mov r10, qword [rbp + 0x4f]
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jbe 0x140086af8
mov rsi, rax
mov qword [rsp + 0x50], rbx
xor eax, eax
mov r15, rdx
mov dword [rsp + 0x60], eax
jmp 0x140086af8
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140086aa6
mov r10, qword [rbp + 0x4f]
inc r11
inc rdi
cmp r11, r14
jbe 0x1400869b0
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x48], r15
lea rax, [r14 + 1]
mov qword [r13 + 0x88], rax
mov rax, qword [rsp + 0x10]
add rax, 0xaf
cmp rsi, rax
jb 0x140086b89
mov ecx, dword [rbp + 0x37]
movups xmm0, xmmword [rsp + 0x48]
inc qword [rsp + 0x28]
inc ecx
mov qword [rbp + 0x3f], r14
mov dword [rbp + 0x37], ecx
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x140086b7e
lea rax, [r14 + 8]
cmp rax, qword [rbp - 0x49]
jae 0x140086b7e
mov rax, qword [rbp - 0x59]
mov r12, qword [rsp]
mov qword [rsp + 0x10], rax
dec r12
mov rax, qword [rbp - 0x69]
xor edi, edi
mov qword [rsp + 0x30], rax
jmp 0x14008627b
mov rcx, qword [rbp - 0x69]
mov qword [rsp + 0x30], rcx
jmp 0x140086b92
mov r14, qword [rbp + 0x3f]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbp - 0x39]
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp + 0x6f]
mov rdi, qword [rbp - 0x61]
lea r12, [rax + rcx*2]
mov rax, qword [rbp - 0x79]
add rax, r14
add r12, r14
cmp rax, r10
mov qword [rbp - 0x71], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rdi, r10
ja 0x140086c4a
movsxd rax, dword [r11]
lea rcx, [rdi + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rdi, rax
jne 0x140086be9
xor r9d, r9d
mov r8d, r9d
jmp 0x140086c51
cmp rdi, r9
jne 0x140086bf6
mov r8d, 1
jmp 0x140086c4e
cmp r8, 7
jae 0x140086c12
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140086c4e
cmp rcx, 7
jae 0x140086c2a
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140086c4e
movsxd rax, dword [r11 + 8]
cmp rdi, rax
jne 0x140086c3b
mov r8d, 2
jmp 0x140086c4e
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x140086c4e
lea r8, [rdi + 0xf]
xor r9d, r9d
cmp rdi, r10
ja 0x140086cd3
test r8, r8
je 0x140086cd3
mov eax, dword [r11 + 8]
mov ecx, dword [r11]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov dword [rdx], ecx
mov dword [r11], edi
mov edx, dword [r13 + 0x58]
cmp edx, 4
jle 0x140086cd3
lea eax, [rdi - 1]
mov dword [r11 + 0x10], eax
lea eax, [rdi + 1]
mov dword [r11 + 0x14], eax
lea eax, [rdi - 2]
mov dword [r11 + 0x18], eax
lea eax, [rdi + 2]
mov dword [r11 + 0x1c], eax
lea eax, [rdi - 3]
mov dword [r11 + 0x20], eax
lea eax, [rdi + 3]
mov dword [r11 + 0x24], eax
cmp edx, 0xa
jle 0x140086cd3
lea eax, [rcx - 1]
mov dword [r11 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r11 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r11 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r11 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r11 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r11 + 0x3c], eax
mov rcx, qword [rbp + 0x7f]
mov esi, dword [rbp - 0x51]
mov r12, qword [rsp + 0x30]
mov r15, qword [rbp + 0x5f]
mov r11, qword [rsp + 0x28]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r15 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140086d0a
mov ebx, r9d
jmp 0x140086d83
mov r11d, dword [r15 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x28]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x7f]
lea edx, [r12 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], ebx
cmp r11, 6
jae 0x140086db1
movzx r10d, r11w
mov eax, 0x17
jmp 0x140086e21
cmp r11, 0x82
jae 0x140086ddb
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140086e21
cmp r11, 0x842
jae 0x140086df8
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140086e21
mov eax, 0x17
cmp r11, 0x1842
jae 0x140086e0c
lea r10d, [rax - 2]
jmp 0x140086e21
cmp r11, 0x5842
jae 0x140086e1d
mov r10d, 0x16
jmp 0x140086e21
movzx r10d, ax
cmp r9, 0xa
jae 0x140086e2e
sub r9w, 2
jmp 0x140086e6e
cmp r9, 0x86
jae 0x140086e53
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140086e6e
cmp r9, 0x846
jae 0x140086e6a
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140086e6e
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140086ea6
cmp r10w, 8
jae 0x140086ea6
cmp r9w, 0x10
jae 0x140086ea6
cmp r9w, 8
jb 0x140086eda
or dx, 0x40
jmp 0x140086eda
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x8f]
mov rsi, qword [rbp - 0x41]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp + 0x7f], r14
add qword [rax], r11
xor eax, eax
mov r14, qword [rbp + 0x3f]
mov qword [rsp + 0x28], rax
lea rax, [r12 + r14]
cmp rax, rsi
lea rbx, [r14 + 2]
cmovb rsi, rax
mov rax, r12
shr rax, 2
cmp rdi, rax
jae 0x140086f44
lea rax, [rdi*4]
mov rcx, r12
sub rcx, rax
lea rax, [rcx + r14]
cmp rbx, rax
mov eax, 2
cmova rcx, rax
lea rbx, [r14 + rcx]
cmp rsi, rbx
cmovb rbx, rsi
cmp rbx, rsi
jae 0x140086fbf
movabs r15, 0x1fe35a7bd3579bd3
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, rbx
and rax, qword [rbp + 0x4f]
mov rcx, qword [rbp + 0x47]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [r13 + 0x48]
mov ecx, dword [r13 + 0x40]
imul r10, r15
shr r10, cl
mov ecx, dword [r13 + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [r13 + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], ebx
inc rbx
cmp rbx, rsi
jb 0x140086f60
mov r15, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x28]
add r14, r12
mov qword [rbp + 0x3f], r14
jmp 0x140087153
mov r10, qword [rsp + 0x28]
inc r14
mov r12, qword [rbp - 0x71]
inc r10
mov qword [rsp + 0x28], r10
mov qword [rbp + 0x3f], r14
cmp r14, r12
jbe 0x14008714f
mov rax, qword [rbp - 0x39]
mov rbx, qword [rbp - 0x49]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp r14, rax
jbe 0x1400870ab
lea rax, [r14 + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp r14, rbx
jae 0x14008714f
mov rax, rbx
add r10, 4
sub rax, r14
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x28], r10
nop word [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, r14
and rax, qword [rbp + 0x4f]
mov rcx, qword [rbp + 0x47]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r13 + 0x48]
mov ecx, dword [r13 + 0x40]
imul r10, rax
shr r10, cl
mov ecx, dword [r13 + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [r13 + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], r14d
add r14, 4
cmp r14, rbx
jb 0x140087040
jmp 0x140087146
lea rax, [r14 + 8]
cmp rax, rbx
cmovb rbx, rax
cmp r14, rbx
jae 0x14008714f
mov rax, rbx
add r10, 2
sub rax, r14
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x28], r10
nop dword [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, r14
and rax, qword [rbp + 0x4f]
mov rcx, qword [rbp + 0x47]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r13 + 0x48]
mov ecx, dword [r13 + 0x40]
imul r10, rax
shr r10, cl
mov ecx, dword [r13 + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [r13 + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], r14d
add r14, 2
cmp r14, rbx
jb 0x1400870e0
mov r10, qword [rsp + 0x28]
mov qword [rbp + 0x3f], r14
mov r15, qword [rbp + 0x5f]
mov rbx, qword [rbp - 0x49]
lea rax, [r14 + 8]
mov r9, qword [rbp + 0x47]
mov edi, 0
mov r8, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x79]
cmp rax, rbx
jb 0x140085a00
mov r12, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xf8]
mov rax, qword [rbp + 0x77]
sub rbx, r14
mov rcx, qword [rbp + 0x7f]
add rbx, r10
sub rcx, qword [rbp - 0x29]
sar rcx, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x87]
add qword [rax], rcx
add rsp, 0x100
pop r15
pop r14
pop r13
pop rbx
pop rbp
ret