Function at 0x14008f1b0
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.0x140080672.14
mov qword [rsp + 0x60], rbx
lea rbx, sym.Xero.exe_n_I_UmVU8ZzPv4_y_548yVpO_1e_Tw_MiC_bs_F3__bo
cdqe
movzx eax, byte [rbx + rax + 0x8077c]
mov r10d, dword [rbx + rax*4 + 0x80748]
add r10, rbx
mov rbx, qword [rsp + 0x60]
jmp r10
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400807c0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400816a0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140083660
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140089df0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14008dba0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140084c30
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140086890
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140088050
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14008b3b0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400824d0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14008c610
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14008f1b0
add rsp, 0x68
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xd8
mov r12, qword [rbp + 0x67]
mov rax, rcx
mov r14, qword [rbp + 0x87]
mov r15, rdx
mov rdx, qword [rbp + 0x6f]
mov r11, r9
mov r9, r8
mov qword [rsp + 0x30], rdx
mov r8, qword [rbp + 0x7f]
mov ebx, 1
mov ecx, dword [r12 + 8]
shl rbx, cl
mov rcx, qword [r12 + 0x10]
sub rbx, 0x10
mov r10, qword [r8]
lea r8, [rax + r15]
mov qword [rbp - 0x71], rbx
mov qword [rbp - 0x69], rcx
mov qword [rsp + 0x28], r14
mov qword [rbp - 0x21], r14
mov qword [rsp + 8], r10
mov qword [rbp - 0x79], r8
cmp rax, 8
jb 0x14008084f
lea rax, [r8 - 7]
mov qword [rbp - 0x41], rax
jmp 0x140080853
mov qword [rbp - 0x41], r15
cmp dword [r12 + 4], 9
mov eax, 0x200
mov edi, 0x40
cmovl eax, edi
mov qword [rbp - 0x39], rax
add rax, r15
mov qword [rbp + 0x87], rax
lea rax, [r15 + 8]
cmp rax, r8
jae 0x14008166f
mov eax, r11d
mov qword [rsp + 0xd0], rsi
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x3f], eax
mov qword [rsp + 0xc8], r13
nop word [rax + rax]
mov rdi, qword [rdx + 0x38]
lea rax, [rcx + r15]
mov rcx, qword [rbp + 0x47]
sub r8, r15
cmp r15, rbx
mov qword [rsp], r8
mov r14, rbx
mov qword [rsp + 0x20], 0
cmovb r14, r15
mov qword [rbp - 0x59], 0
cmp rax, rbx
mov qword [rsp + 0x18], 0x7e4
mov r13, rbx
mov dword [rbp - 0x49], 0
cmovb r13, rax
mov rax, qword [r12 + 0x50]
mov r12, r15
mov qword [rsp + 0x10], rax
and r12, r11
movabs rax, 0xbd1e35a7bd000000
add r12, r9
mov rbx, qword [r12]
movzx esi, byte [r12]
imul rbx, rax
mov rax, qword [rbp + 0x77]
shr rbx, 0x30
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, qword [rbp + 0x47]
jae 0x1400809f3
mov r11d, dword [rbp + 0x6f]
and r11, rcx
add r11, r9
cmp sil, byte [r11]
jne 0x1400809f3
mov rax, r8
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x140080972
mov r10, r11
sub r10, r12
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x1400809d9
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140080954
mov r8, qword [rsp]
and r8d, 7
je 0x140080993
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140080993
inc rcx
sub r8, 1
jne 0x140080980
mov rax, rcx
cmp rax, 4
jb 0x1400809ea
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x1400809ea
mov r12, qword [rbp + 0x67]
mov r10, rax
mov qword [rbp - 0x59], r15
mov r15, qword [rbp + 0x47]
mov dword [rdi + rbx*4], r15d
mov rdi, qword [rsp]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x18], rcx
jmp 0x140080c7d
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140080996
mov r10, qword [rsp + 8]
mov r9, qword [rbp + 0x4f]
mov edx, dword [rdi + rbx*4]
mov r15, qword [rbp + 0x47]
mov r11d, dword [rbp + 0x6f]
mov dword [rdi + rbx*4], r15d
and r11, rdx
add r11, r9
mov rbx, r15
sub rbx, rdx
cmp sil, byte [r11]
jne 0x140081510
test rbx, rbx
je 0x140081510
cmp rbx, r14
ja 0x140081510
mov rdi, qword [rsp]
xor ecx, ecx
mov rax, rdi
mov rdx, r12
shr rax, 3
test rax, rax
je 0x140080a5e
mov r10, r11
sub r10, r12
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x140080ac4
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140080a44
mov r8, rdi
and r8d, 7
je 0x140080a83
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140080a83
inc rcx
sub r8, 1
jne 0x140080a70
mov rdx, rcx
cmp rdx, 4
jb 0x140080ad5
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x140080ad5
mov r12, qword [rbp + 0x67]
mov r10, rdx
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x18], rax
jmp 0x140080c7d
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140080a86
mov r8, qword [rsp + 0x30]
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 0x1400814fc
imul ecx, dword [r12], 0x1e35a7bd
lea rax, [rdx + 1]
mov r8, qword [rbp + 0x67]
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 0x140080c75
mov rax, qword [r8 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x140080c75
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 0x140080b8e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140080c54
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140080b70
mov r8, r11
and r8d, 7
je 0x140080bb3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140080bb3
inc rcx
sub r8, 1
jne 0x140080ba0
mov r9, rcx
mov r12, qword [rbp + 0x67]
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140080c6f
test r9, r9
je 0x140080c6f
mov rax, qword [r12 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rsi
add r8, r13
cmp r8, qword [rsp + 0x10]
ja 0x140080c6f
mov rdi, qword [rsp]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp + 0x18]
add rax, 0x780
cmp rax, rcx
jb 0x140080c68
mov qword [rsp + 0x18], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x20], r9
mov qword [rbx + 0x10], rax
mov r10, r9
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], r8
jmp 0x140080c7d
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140080bb6
mov r10, qword [rsp + 0x20]
jmp 0x140080c82
mov rdi, qword [rsp]
jmp 0x140080c78
mov r12, r8
mov r10, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0x7e4
jbe 0x140081507
mov ebx, dword [rbp + 0x3f]
lea rdx, [r15 + 1]
mov qword [rsp + 0x10], rdx
mov dword [rbp + 0x87], 0
mov dword [rbp + 0x6f], ebx
dec rdi
cmp dword [r12 + 4], 5
mov qword [rsp], rdi
jge 0x140080cc7
lea rax, [r10 - 1]
mov r11, rdi
cmp rax, rdi
cmovb r11, rax
jmp 0x140080cca
xor r11d, r11d
mov r8, qword [rbp - 0x71]
mov rax, qword [rbp - 0x69]
cmp rdx, r8
mov r12, r8
mov qword [rsp + 0x38], r11
cmovb r12, rdx
mov qword [rsp + 0x40], 0
add rax, rdx
mov qword [rsp + 0x48], 0x7e4
cmp rax, r8
mov dword [rsp + 0x50], 0
mov rcx, r8
mov r8, qword [rbp + 0x67]
cmovb rcx, rax
mov qword [rbp - 0x31], rcx
mov rcx, rdx
and rcx, qword [rbp + 0x57]
mov rax, qword [r8 + 0x50]
mov r8, qword [rbp + 0x4f]
mov rdi, qword [rcx + r8]
lea r13, [rcx + r8]
mov qword [rbp - 0x29], rax
mov rax, qword [rsp + 0x30]
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 + 0x77]
shr rdi, 0x30
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, rdx
jae 0x140080ebc
mov eax, ebx
and rcx, rax
lea rax, [rcx + r11]
cmp r14b, byte [rax + r8]
jne 0x140080ebc
mov rax, qword [rsp]
lea rbx, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140080dc2
mov r10, rbx
sub r10, r13
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140080ea8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140080da0
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x140080de2
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x140080de2
inc rcx
sub r8, 1
jne 0x140080dd0
mov rax, rcx
mov rdx, qword [rsp + 0x10]
cmp rax, 4
jb 0x140080ebc
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x140080ebc
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rcx
mov dword [rsi + rdi*4], edx
mov rdi, qword [rsp]
mov r12, qword [rbp + 0x67]
mov rax, qword [rsp + 0x18]
mov r15, qword [rbp + 0x47]
add rax, 0xaf
cmp qword [rsp + 0x48], rax
jb 0x14008115e
mov ecx, dword [rbp + 0x87]
inc r15
movups xmm0, xmmword [rsp + 0x38]
inc qword [rsp + 8]
inc ecx
movups xmm1, xmmword [rsp + 0x48]
inc rdx
mov qword [rbp + 0x47], r15
mov qword [rsp + 0x10], rdx
mov dword [rbp + 0x87], ecx
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x140081158
lea rax, [rdx + 7]
cmp rax, qword [rbp - 0x79]
jae 0x140081158
mov r10, qword [rbp - 0x51]
mov ebx, dword [rbp + 0x6f]
mov qword [rsp + 0x18], r10
mov r10, qword [rbp - 0x61]
mov qword [rsp + 0x20], r10
jmp 0x140080ca8
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140080de5
mov ecx, dword [rsi + rdi*4]
mov rbx, rdx
mov r8d, dword [rbp + 0x6f]
sub rbx, rcx
and r8, rcx
mov dword [rsi + rdi*4], edx
mov rcx, qword [rbp + 0x4f]
lea rax, [r8 + r11]
cmp r14b, byte [rax + rcx]
jne 0x140080e21
test rbx, rbx
je 0x140080e21
mov rdi, qword [rsp]
cmp rbx, r12
ja 0x140080e25
lea r11, [r8 + rcx]
xor eax, eax
mov r8, rdi
mov rdx, r13
shr r8, 3
test r8, r8
je 0x140080f2c
mov r10, r11
sub r10, r13
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x140080f93
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140080f12
mov r8, rdi
and r8d, 7
je 0x140080f53
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x140080f53
inc rax
sub r8, 1
jne 0x140080f40
mov rdx, rax
cmp rdx, 4
jb 0x140080fa4
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x140080fa4
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x10]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
jmp 0x140080e25
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140080f56
mov rax, qword [rsp + 0x30]
mov r12, qword [rbp + 0x67]
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 0x14008114e
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 0x14008114e
mov rax, qword [r12 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x14008114e
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 0x14008105e
mov r10, r13
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14008112c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140081040
mov r8, r11
and r8d, 7
je 0x140081083
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r13], al
jne 0x140081083
inc rcx
sub r8, 1
jne 0x140081070
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140081140
test r9, r9
je 0x140081140
mov rax, qword [r12 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x31]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x29]
ja 0x140081140
mov rdx, qword [rsp + 0x10]
mov rdi, qword [rsp]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140080e29
mov qword [rsp + 0x48], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x38], r9
mov qword [rbx + 0x10], rax
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x40], r8
jmp 0x140080e29
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140081086
mov rdx, qword [rsp + 0x10]
mov rdi, qword [rsp]
jmp 0x140080e29
mov rdx, qword [rsp + 0x10]
jmp 0x140080e29
mov r13, qword [rbp - 0x61]
jmp 0x140081163
mov r13, qword [rsp + 0x20]
mov rax, qword [rbp - 0x39]
mov r10, qword [rbp - 0x71]
mov rbx, qword [rbp - 0x59]
lea r11, [rax + r13*2]
mov rax, qword [rbp - 0x69]
add r11, r15
add rax, r15
cmp rax, r10
mov qword [rbp + 0x87], r11
mov r11, qword [rbp + 0x77]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140081216
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 0x1400811b5
xor r8d, r8d
jmp 0x14008121a
cmp rbx, r9
jne 0x1400811c2
mov r8d, 1
jmp 0x14008121a
cmp r8, 7
jae 0x1400811de
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14008121a
cmp rcx, 7
jae 0x1400811f6
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14008121a
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140081207
mov r8d, 2
jmp 0x14008121a
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14008121a
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x14008123a
test r8, r8
je 0x14008123a
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 [rsp + 0x28]
mov esi, dword [rbp - 0x49]
mov r11, qword [rsp + 8]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r12 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140081269
xor edi, edi
jmp 0x1400812e3
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 + 8]
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 [rsp + 0x28]
lea r9d, [rsi + r13]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r11, 6
jae 0x140081312
movzx r10d, r11w
mov ecx, 0x17
jmp 0x140081383
cmp r11, 0x82
jae 0x14008133c
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x140081383
mov ecx, 0x17
cmp r11, 0x842
jae 0x140081359
lea eax, [r11 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x140081383
cmp r11, 0x1842
jae 0x14008136a
mov r10d, 0x15
jmp 0x140081383
mov r10d, 0x16
cmp r11, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x14008138f
sub dx, 2
jmp 0x1400813cd
cmp rdx, 0x86
jae 0x1400813b4
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x1400813cd
cmp rdx, 0x846
jae 0x1400813ca
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x1400813cd
movzx edx, cx
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14008140c
cmp r10w, 8
jae 0x14008140c
cmp dx, 0x10
jae 0x14008140c
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14008143e
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rbp + 0x97]
lea rdx, [r15 + 2]
mov r8, qword [rbp - 0x41]
xor r10d, r10d
mov word [r14 + 0xc], r9w
add r14, 0x10
lea r9, [r15 + r13]
mov qword [rsp + 0x28], r14
add qword [rax], r11
mov rax, r13
cmp r9, r8
mov qword [rsp + 8], r10
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x1400814a3
lea rax, [rbx*4]
sub r13, rax
lea rax, [r15 + r13]
cmp rdx, rax
mov eax, 2
cmova r13, rax
lea rdx, [r15 + r13]
cmp r8, rdx
cmovb rdx, r8
cmp rdx, r8
jae 0x1400814f0
mov r10, qword [rbp + 0x4f]
movabs r14, 0xbd1e35a7bd000000
mov r12, qword [rsp + 0x30]
mov r11, qword [rbp + 0x57]
nop
mov rax, rdx
and rax, r11
mov rcx, qword [rax + r10]
mov rax, qword [r12 + 0x38]
imul rcx, r14
shr rcx, 0x30
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x1400814c0
mov r12, qword [rbp + 0x67]
mov r10, qword [rsp + 8]
mov r14, qword [rsp + 0x28]
mov r15, r9
mov qword [rbp + 0x47], r9
jmp 0x140081639
mov r9, qword [rbp + 0x4f]
mov r10, qword [rsp + 8]
jmp 0x140081515
mov r9, qword [rbp + 0x4f]
mov r10, qword [rsp + 8]
mov r8, qword [rsp + 0x30]
mov r11, qword [rbp + 0x87]
inc r10
inc r15
mov qword [rsp + 8], r10
mov qword [rbp + 0x47], r15
cmp r15, r11
jbe 0x140081630
mov rax, qword [rbp - 0x39]
mov rdx, qword [rbp - 0x79]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r15, rax
jbe 0x1400815c7
mov r11, qword [rbp + 0x57]
lea rax, [r15 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140081625
add r10, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 8], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax]
nop dword [rax + rax]
mov rax, r15
and rax, r11
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 0x140081590
mov r12, qword [rbp + 0x67]
mov r10, qword [rsp + 8]
mov r14, qword [rsp + 0x28]
mov qword [rbp + 0x47], r15
jmp 0x14008163d
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140081630
mov r11, qword [rbp + 0x57]
add r10, 2
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 8], r10
movabs r10, 0xbd1e35a7bd000000
nop
mov rax, r15
and rax, r11
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 0x140081600
jmp 0x1400815b3
mov r12, qword [rbp + 0x67]
mov r14, qword [rsp + 0x28]
jmp 0x14008163d
mov r14, qword [rsp + 0x28]
mov r12, qword [rbp + 0x67]
mov r11, qword [rbp + 0x57]
mov r8, qword [rbp - 0x79]
lea rax, [r15 + 8]
mov r9, qword [rbp + 0x4f]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rbp - 0x71]
mov rcx, qword [rbp - 0x69]
cmp rax, r8
jb 0x1400808a0
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rax, qword [rbp + 0x7f]
sub r8, r15
sub r14, qword [rbp - 0x21]
add r8, r10
sar r14, 4
mov qword [rax], r8
mov rax, qword [rbp + 0x8f]
add qword [rax], r14
add rsp, 0xd8
pop r15
pop r14
pop r12
pop rdi
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 r12
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xd0
mov r14, qword [rbp + 0x8f]
mov rax, rcx
mov rsi, qword [rbp + 0x6f]
mov r15, rdx
mov rdx, qword [rbp + 0x77]
mov ebx, 1
mov rdi, r9
mov qword [rsp + 0x28], rdx
mov r9, r8
mov qword [rsp], r14
mov ecx, dword [rsi + 8]
lea r11, [rax + r15]
mov r8, qword [rbp + 0x7f]
shl rbx, cl
mov rcx, qword [rsi + 0x10]
sub rbx, 0x10
mov qword [rbp - 0x29], rcx
mov rcx, qword [rbp + 0x87]
mov qword [rbp - 0x71], rbx
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x79], r11
mov r10, qword [rcx]
mov qword [rbp + 0x8f], r10
cmp rax, 8
jb 0x140081735
lea rax, [r11 - 7]
mov qword [rbp - 0x69], rax
jmp 0x140081739
mov qword [rbp - 0x69], r15
cmp dword [rsi + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x61], rax
add rax, r15
mov qword [rsp + 8], rax
lea rax, [r15 + 8]
cmp rax, r11
jae 0x1400824a1
movdqa xmm2, xmmword [0x1405903a0]
mov eax, 3
movdqa xmm3, xmmword [0x1405903b0]
movabs rcx, 0xbd1e35a7bd000000
mov qword [rsp + 0xc8], r13
movd xmm4, eax
psllq xmm2, xmm4
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdx + 0x38]
mov r10, r11
sub r10, r15
mov qword [rsp + 0x20], rax
cmp r15, rbx
mov qword [rbp + 0x77], r10
mov r13, rbx
mov qword [rsp + 0x10], 0x7e4
cmovb r13, r15
mov esi, 0x7e4
xor r11d, r11d
and r15, rdi
mov rax, qword [r15 + r9]
lea rdx, [r15 + r9]
movsxd rdi, dword [r8]
xor r12d, r12d
movzx r14d, byte [rdx]
imul rax, rcx
mov rcx, qword [rbp + 0x4f]
shr rax, 0x30
sub rcx, rdi
mov qword [rbp + 0x47], r11
mov qword [rbp - 0x51], r11
mov dword [rbp - 0x41], r11d
movq xmm0, rax
punpcklqdq xmm0, xmm0
cmp rcx, qword [rbp + 0x4f]
jae 0x1400818d5
mov rbx, qword [rbp + 0x5f]
mov ebx, ebx
and rbx, rcx
add rbx, r9
movzx eax, byte [rbx]
cmp r14d, eax
jne 0x1400818d5
mov rax, r10
xor ecx, ecx
shr rax, 3
mov r8, rdx
test rax, rax
je 0x14008185e
mov r11, rbx
sub r11, rdx
mov r10, qword [r8]
mov r9, qword [r11 + r8]
cmp r10, r9
jne 0x1400818c0
add r8, 8
add rcx, 8
sub rax, 1
jne 0x140081840
mov r10, qword [rbp + 0x77]
mov r9, r10
and r9d, 7
je 0x140081883
sub r8, rcx
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
cmp byte [rcx + rbx], al
jne 0x140081883
inc rcx
sub r9, 1
jne 0x140081870
mov rax, rcx
mov r11, qword [rbp + 0x57]
cmp rax, 4
jb 0x1400818d9
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x1400818d9
mov qword [rbp + 0x47], rax
mov r12, rax
add rax, r15
mov qword [rbp - 0x51], rdi
mov qword [rsp + 0x10], rcx
mov rsi, rcx
movzx r14d, byte [rax + r11]
jmp 0x1400818d9
xor r9, r10
mov r10, qword [rbp + 0x77]
tzcnt rax, r9
shr rax, 3
add rax, rcx
jmp 0x140081886
mov r11, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x4f]
paddq xmm0, xmm2
mov rcx, qword [rsp + 0x20]
mov rax, rdi
mov r9d, dword [rbp + 0x5f]
pand xmm0, xmm3
shr rax, 3
and eax, 1
movdqu xmmword [rbp - 0x39], xmm0
mov rax, qword [rbp + rax*8 - 0x39]
mov qword [rsp + 0x18], rax
movq rax, xmm0
mov ecx, dword [rcx + rax*4]
and r9, rcx
sub rdi, rcx
lea rax, [r9 + r12]
movzx ecx, byte [rax + r11]
cmp r14d, ecx
jne 0x1400819e8
test rdi, rdi
je 0x1400819e8
cmp rdi, r13
ja 0x1400819e8
mov rbx, qword [rbp + 0x57]
xor ecx, ecx
add rbx, r9
mov r8, rdx
mov r9, r10
shr r9, 3
test r9, r9
je 0x140081982
mov r11, rbx
sub r11, rdx
nop word [rax + rax]
mov r10, qword [r8]
mov rax, qword [r11 + r8]
cmp r10, rax
jne 0x140081ad3
add r8, 8
add rcx, 8
sub r9, 1
jne 0x140081960
mov r10, qword [rbp + 0x77]
mov r9, r10
and r9d, 7
je 0x1400819a3
sub r8, rcx
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx + rbx], al
jne 0x1400819a3
inc rcx
sub r9, 1
jne 0x140081990
mov r8, rcx
cmp r8, 4
jb 0x1400819e8
bsr eax, edi
imul r9, r8, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp rsi, r9
jae 0x1400819e8
mov r11, qword [rbp + 0x57]
lea rax, [r8 + r15]
mov r12, r8
mov qword [rbp + 0x47], r8
mov rsi, r9
mov qword [rsp + 0x10], r9
mov qword [rbp - 0x51], rdi
movzx r14d, byte [rax + r11]
mov rax, qword [rbp - 0x31]
mov rdi, qword [rsp + 0x20]
mov r11, qword [rbp + 0x5f]
mov r15, qword [rbp + 0x4f]
mov r9, qword [rbp + 0x57]
mov rbx, r15
mov ecx, dword [rdi + rax*4]
sub rbx, rcx
mov r8d, r11d
and r8, rcx
lea rax, [r8 + r12]
movzx ecx, byte [rax + r9]
cmp r14d, ecx
jne 0x140081b00
test rbx, rbx
je 0x140081b00
xor r14d, r14d
cmp rbx, r13
ja 0x140081b03
mov rax, r10
lea r11, [r8 + r9]
shr rax, 3
mov ecx, r14d
test rax, rax
je 0x140081a72
mov r10, r11
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x140081aeb
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140081a50
mov r10, qword [rbp + 0x77]
mov r8, r10
and r8d, 7
je 0x140081a95
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r11], al
jne 0x140081a95
inc rdx
inc rcx
sub r8, 1
jne 0x140081a80
mov rdx, rcx
mov r9, qword [rbp + 0x57]
mov r11, qword [rbp + 0x5f]
cmp rdx, 4
jb 0x140081b03
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x140081b03
mov rcx, rdx
mov qword [rbp + 0x47], rdx
mov qword [rsp + 0x10], rax
mov qword [rbp - 0x51], rbx
jmp 0x140081b07
xor rax, r10
mov r10, qword [rbp + 0x77]
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x1400819a6
mov r10, qword [rbp + 0x77]
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140081a98
xor r14d, r14d
mov rcx, qword [rbp + 0x47]
cmp qword [rsp + 0x10], 0x7e4
mov rax, qword [rsp + 0x18]
mov dword [rdi + rax*4], r15d
jbe 0x140082322
movdqa xmm2, xmmword [0x1405903a0]
lea rdi, [r15 + 1]
psllq xmm2, xmm4
mov qword [rsp + 8], rdi
dec r10
mov dword [rbp + 0x4f], r14d
mov rax, qword [rbp + 0x6f]
mov qword [rbp + 0x77], r10
cmp dword [rax + 4], 5
jge 0x140081b5e
lea rax, [rcx - 1]
mov rsi, r10
cmp rax, r10
cmovb rsi, rax
mov qword [rsp + 0x30], rsi
jmp 0x140081b66
mov rsi, r14
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x28]
mov edx, 0x7e4
mov qword [rsp + 0x40], rdx
mov r13, rdi
mov rdx, qword [rbp - 0x71]
movabs rcx, 0xbd1e35a7bd000000
cmp rdi, rdx
mov qword [rsp + 0x38], r14
mov rax, qword [rax + 0x38]
cmovb rdx, rdi
mov qword [rsp + 0x20], rax
and r13, r11
mov dword [rsp + 0x48], r14d
lea r8, [r9 + r13]
mov qword [rsp + 0x18], rdx
mov r14d, 0x7e4
lea rax, [rsi + r13]
movzx r12d, byte [rax + r9]
mov rax, qword [r8]
mov r9, qword [rsp + 8]
imul rax, rcx
shr rax, 0x30
movq xmm1, rax
mov rax, qword [rbp + 0x7f]
punpcklqdq xmm1, xmm1
movsxd rdi, dword [rax]
sub r9, rdi
cmp r9, qword [rsp + 8]
jae 0x140081cbb
mov eax, r11d
mov r11, qword [rbp + 0x57]
and r9, rax
lea rax, [rsi + r9]
movzx ecx, byte [rax + r11]
cmp r12d, ecx
jne 0x140081cbf
mov rbx, r11
xor eax, eax
add rbx, r9
mov rdx, r8
mov r9, r10
shr r9, 3
test r9, r9
je 0x140081c40
mov r11, rbx
sub r11, r8
mov r10, qword [rdx]
mov rcx, qword [r11 + rdx]
cmp r10, rcx
jne 0x140081ca6
add rdx, 8
add rax, 8
sub r9, 1
jne 0x140081c22
mov r10, qword [rbp + 0x77]
mov r9, r10
and r9d, 7
je 0x140081c62
sub rdx, rax
nop dword [rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + rbx], cl
jne 0x140081c62
inc rax
sub r9, 1
jne 0x140081c50
mov rcx, rax
mov rdx, qword [rsp + 0x18]
cmp rcx, 4
jb 0x140081cbb
mov r11, qword [rbp + 0x57]
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, r14
jbe 0x140081cbf
mov qword [rsp + 0x40], rax
mov r14, rax
lea rax, [rcx + r13]
mov qword [rsp + 0x30], rcx
movzx r12d, byte [rax + r11]
mov rsi, rcx
mov qword [rsp + 0x38], rdi
jmp 0x140081cbf
xor rcx, r10
mov r10, qword [rbp + 0x77]
tzcnt rcx, rcx
shr rcx, 3
add rcx, rax
jmp 0x140081c65
mov r11, qword [rbp + 0x57]
mov rax, qword [rsp + 8]
movdqa xmm0, xmm2
mov rcx, qword [rsp + 0x20]
paddq xmm0, xmm1
mov r9d, dword [rbp + 0x5f]
pand xmm0, xmm3
mov rdi, qword [rsp + 8]
shr rax, 3
and eax, 1
movdqu xmmword [rbp - 0x19], xmm0
mov rax, qword [rbp + rax*8 - 0x19]
mov qword [rbp - 0x39], rax
movq rax, xmm0
mov ecx, dword [rcx + rax*4]
and r9, rcx
sub rdi, rcx
lea rax, [r9 + rsi]
movzx ecx, byte [rax + r11]
cmp r12d, ecx
jne 0x140081df3
test rdi, rdi
je 0x140081df3
cmp rdi, rdx
ja 0x140081df3
mov rbx, qword [rbp + 0x57]
xor ecx, ecx
add rbx, r9
mov rdx, r8
mov r9, r10
shr r9, 3
test r9, r9
je 0x140081d72
mov r11, rbx
sub r11, r8
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [r11 + rdx]
cmp r10, rax
jne 0x140081dde
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140081d50
mov r10, qword [rbp + 0x77]
mov r9, r10
and r9d, 7
je 0x140081d92
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x140081d92
inc rcx
sub r9, 1
jne 0x140081d80
mov rdx, rcx
cmp rdx, 4
jb 0x140081df3
bsr eax, edi
imul r9, rdx, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp r14, r9
jae 0x140081df3
mov r11, qword [rbp + 0x57]
lea rax, [rdx + r13]
mov rsi, rdx
mov qword [rsp + 0x30], rdx
mov r14, r9
mov qword [rsp + 0x40], r9
mov r13, r9
mov qword [rsp + 0x38], rdi
movzx r12d, byte [rax + r11]
jmp 0x140081df8
xor rax, r10
mov r10, qword [rbp + 0x77]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140081d95
mov r13, qword [rsp + 0x40]
mov rax, qword [rbp - 0x11]
mov rcx, qword [rsp + 0x20]
mov r11, qword [rbp + 0x5f]
mov rdi, qword [rsp + 8]
mov r9, qword [rbp + 0x57]
mov rbx, rdi
mov ecx, dword [rcx + rax*4]
sub rbx, rcx
mov edx, r11d
and rdx, rcx
lea rax, [rdx + rsi]
movzx ecx, byte [rax + r9]
cmp r12d, ecx
jne 0x140081ee4
test rbx, rbx
je 0x140081ee4
cmp rbx, qword [rsp + 0x18]
ja 0x140081ee4
lea r11, [rdx + r9]
xor ecx, ecx
mov rdx, r10
shr rdx, 3
test rdx, rdx
je 0x140081e82
mov r10, r11
sub r10, r8
nop dword [rax + rax]
mov r9, qword [r8]
mov rax, qword [r10 + r8]
cmp r9, rax
jne 0x140081f61
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x140081e60
mov r10, qword [rbp + 0x77]
mov rdx, r10
and edx, 7
je 0x140081ea6
nop word [rax + rax]
movzx eax, byte [r8]
cmp byte [rcx + r11], al
jne 0x140081ea6
inc r8
inc rcx
sub rdx, 1
jne 0x140081e90
mov rdx, rcx
mov r9, qword [rbp + 0x57]
mov r11, qword [rbp + 0x5f]
cmp rdx, 4
jb 0x140081ee4
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r14, rax
jae 0x140081ee4
mov qword [rsp + 0x30], rdx
mov r13, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rbp - 0x39]
mov rcx, qword [rsp + 0x20]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x10]
add rax, 0xaf
cmp r13, rax
mov r13, qword [rbp + 0x8f]
jb 0x140081f7f
mov ecx, dword [rbp + 0x4f]
inc rdi
movups xmm0, xmmword [rsp + 0x30]
inc ecx
inc r13
movups xmm1, xmmword [rsp + 0x40]
inc r15
mov qword [rsp + 8], rdi
mov qword [rbp + 0x8f], r13
mov dword [rbp + 0x4f], ecx
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm1
cmp ecx, 4
jge 0x140081f79
lea rax, [rdi + 7]
cmp rax, qword [rbp - 0x79]
jae 0x140081f79
mov rax, qword [rbp - 0x49]
dec r10
mov rcx, qword [rbp - 0x59]
xor r14d, r14d
mov qword [rsp + 0x10], rax
mov qword [rbp + 0x47], rcx
jmp 0x140081b3b
mov r10, qword [rbp + 0x77]
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140081ea9
mov r12, qword [rbp - 0x59]
jmp 0x140081f83
mov r12, qword [rbp + 0x47]
mov rax, qword [rbp - 0x61]
mov r10, qword [rbp - 0x71]
mov rbx, qword [rbp - 0x51]
lea r11, [rax + r12*2]
mov rax, qword [rbp - 0x29]
add r11, r15
add rax, r15
cmp rax, r10
mov qword [rsp + 8], r11
mov r11, qword [rbp + 0x7f]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140082034
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 0x140081fd3
xor r8d, r8d
jmp 0x140082038
cmp rbx, r9
jne 0x140081fe0
mov r8d, 1
jmp 0x140082038
cmp r8, 7
jae 0x140081ffc
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140082038
cmp rcx, 7
jae 0x140082014
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140082038
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140082025
mov r8d, 2
jmp 0x140082038
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140082038
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x140082058
test r8, r8
je 0x140082058
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 [rsp]
mov esi, dword [rbp - 0x41]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [rcx], r13d
mov dword [rcx + 4], eax
mov rcx, qword [rbp + 0x6f]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140082084
xor edi, edi
jmp 0x1400820f8
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
sub rdi, rax
shl r8, cl
add r8w, 0x10
shr rdi, cl
mov eax, 1
shl ax, cl
dec ax
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rsp]
lea r9d, [r12 + rsi]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r13, 6
jae 0x140082126
movzx r10d, r13w
mov eax, 0x17
jmp 0x140082196
cmp r13, 0x82
jae 0x140082150
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140082196
cmp r13, 0x842
jae 0x14008216d
lea eax, [r13 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140082196
mov eax, 0x17
cmp r13, 0x1842
jae 0x140082181
lea r10d, [rax - 2]
jmp 0x140082196
cmp r13, 0x5842
jae 0x140082192
mov r10d, 0x16
jmp 0x140082196
movzx r10d, ax
cmp rdx, 0xa
jae 0x1400821a2
sub dx, 2
jmp 0x1400821e0
cmp rdx, 0x86
jae 0x1400821c7
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x1400821e0
cmp rdx, 0x846
jae 0x1400821dd
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x1400821e0
movzx edx, ax
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14008221f
cmp r10w, 8
jae 0x14008221f
cmp dx, 0x10
jae 0x14008221f
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x140082251
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rbp + 0x9f]
lea rdx, [r15 + 2]
mov r8, qword [rbp - 0x69]
xor r10d, r10d
mov word [r14 + 0xc], r9w
add r14, 0x10
lea r9, [r12 + r15]
mov qword [rsp], r14
add qword [rax], r13
mov rax, r12
cmp r9, r8
mov qword [rbp + 0x8f], r10
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x1400822b7
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + r15]
cmp rdx, rax
mov eax, 2
cmova r12, rax
lea rdx, [r15 + r12]
cmp r8, rdx
cmovb rdx, r8
cmp rdx, r8
jae 0x140082316
mov r11, qword [rbp + 0x57]
movabs r14, 0xbd1e35a7bd000000
mov rbx, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x28]
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
and rax, rbx
mov rcx, qword [rax + r11]
mov eax, edx
imul rcx, r14
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [r10 + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x1400822e0
mov r10, qword [rbp + 0x8f]
mov r14, qword [rsp]
mov r15, r9
mov qword [rbp + 0x4f], r9
jmp 0x140082462
mov r10, qword [rbp + 0x8f]
inc r15
mov r11, qword [rsp + 8]
inc r10
mov qword [rbp + 0x8f], r10
mov qword [rbp + 0x4f], r15
cmp r15, r11
jbe 0x14008245e
mov rax, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x79]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r15, rax
jbe 0x1400823e1
mov rdi, qword [rbp + 0x5f]
lea rax, [r15 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x1400823d8
add r10, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rbp + 0x8f], r10
mov r10, qword [rsp + 0x28]
mov rax, r15
and rax, rdi
mov rcx, qword [rax + r9]
movabs rax, 0xbd1e35a7bd000000
imul rcx, rax
mov eax, r15d
shr rcx, 0x30
and eax, 8
add ecx, eax
mov rax, qword [r10 + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x140082395
mov r10, qword [rbp + 0x8f]
mov qword [rbp + 0x4f], r15
mov r14, qword [rsp]
jmp 0x140082466
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x14008245e
mov rdi, qword [rbp + 0x5f]
add r10, 2
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rbp + 0x8f], r10
mov r10, qword [rsp + 0x28]
mov rax, r15
and rax, rdi
mov rcx, qword [rax + r9]
movabs rax, 0xbd1e35a7bd000000
imul rcx, rax
mov eax, r15d
shr rcx, 0x30
and eax, 8
add ecx, eax
mov rax, qword [r10 + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x140082415
mov r10, qword [rbp + 0x8f]
mov r14, qword [rsp]
mov qword [rbp + 0x4f], r15
jmp 0x140082466
mov r14, qword [rsp]
mov rdi, qword [rbp + 0x5f]
mov r11, qword [rbp - 0x79]
lea rax, [r15 + 8]
mov r9, qword [rbp + 0x57]
movabs rcx, 0xbd1e35a7bd000000
mov rdx, qword [rsp + 0x28]
mov r8, qword [rbp + 0x7f]
mov rbx, qword [rbp - 0x71]
cmp rax, r11
jb 0x1400817a0
mov r13, qword [rsp + 0xc8]
mov rcx, qword [rbp + 0x87]
sub r14, qword [rbp - 0x21]
sub r11, r15
mov rax, qword [rbp + 0x97]
add r11, r10
sar r14, 4
mov qword [rcx], r11
add qword [rax], r14
add rsp, 0xd0
pop r15
pop r14
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 rdi
push r13
push r14
lea rbp, [rsp - 7]
sub rsp, 0xe8
mov rdi, qword [rbp + 0x67]
mov rax, rcx
mov r14, qword [rbp + 0x87]
mov ebx, 1
mov r11, qword [rbp + 0x6f]
mov r13, rdx
mov r8, qword [rbp + 0x77]
add rdx, rax
mov ecx, dword [rdi + 8]
shl rbx, cl
mov rcx, qword [rdi + 0x10]
sub rbx, 0x10
mov qword [rbp - 0x39], rcx
mov rcx, qword [rbp + 0x7f]
mov qword [rbp - 0x71], rbx
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x31], r14
mov r10, qword [rcx]
mov qword [rsp + 0x18], r10
mov qword [rbp - 0x79], rdx
cmp rax, 8
jb 0x140082553
lea rax, [rdx - 7]
mov qword [rbp - 0x49], rax
jmp 0x140082557
mov qword [rbp - 0x49], r13
cmp dword [rdi + 4], 9
mov eax, 0x200
mov esi, 0x40
cmovl eax, esi
mov qword [rbp - 0x41], rax
add rax, r13
mov qword [rsp + 0x30], rax
lea rax, [r13 + 8]
cmp rax, rdx
jae 0x140083626
movdqa xmm2, xmmword [0x1405903a0]
mov eax, 3
movdqa xmm3, xmmword [0x1405903b0]
movabs rcx, 0xbd1e35a7bd000000
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xd8], r15
movd xmm0, eax
psllq xmm2, xmm0
nop dword [rax + rax]
mov r12, qword [rbp + 0x47]
mov r10, rdx
sub r10, r13
mov qword [rsp + 0x28], 0x7e4
cmp r13, rbx
mov qword [rsp], r10
mov rdx, rbx
mov r14, r12
movsxd rbx, dword [r8]
cmovb rdx, r13
mov r13, qword [r11 + 0x38]
xor edi, edi
mov r11, qword [rbp + 0x4f]
and r14, r9
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 + 0x3f], rdi
shr rax, 0x30
sub rcx, rbx
mov qword [rbp - 0x61], rdi
mov dword [rbp - 0x51], edi
mov edi, 0x7e4
mov qword [rsp + 8], rdx
mov qword [rbp + 0x87], r9
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r12
jae 0x140082715
mov rax, qword [rbp + 0x57]
mov eax, eax
and rax, rcx
add r11, rax
movzx eax, byte [r11]
cmp esi, eax
jne 0x140082711
mov rax, r10
xor ecx, ecx
shr rax, 3
mov rdx, r9
test rax, rax
je 0x140082692
mov r10, r11
sub r10, r9
nop
mov r9, qword [rdx]
mov r8, qword [rdx + r10]
cmp r9, r8
jne 0x1400826fc
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140082670
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x1400826b3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400826b3
inc rcx
sub r8, 1
jne 0x1400826a0
mov rax, rcx
mov r9, qword [rbp + 0x87]
mov rdx, qword [rsp + 8]
cmp rax, 4
jb 0x140082711
mov r11, qword [rbp + 0x4f]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140082715
mov qword [rbp + 0x3f], rax
mov r15, rax
add rax, r14
mov qword [rbp - 0x61], rbx
mov qword [rsp + 0x28], rcx
mov rdi, rcx
movzx esi, byte [rax + r11]
jmp 0x140082715
mov r10, qword [rsp]
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x1400826b6
mov r11, qword [rbp + 0x4f]
mov rbx, qword [rbp + 0x47]
mov rax, r12
shr rax, 3
movdqa xmm0, xmm2
and eax, 1
paddq xmm0, xmm1
pand xmm0, xmm3
movdqu xmmword [rsp + 0x58], xmm0
mov r12, qword [rsp + rax*8 + 0x58]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x57]
sub rbx, r8
and r8, rax
lea rax, [r8 + r15]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140082818
test rbx, rbx
je 0x140082818
cmp rbx, rdx
ja 0x140082818
add r11, r8
xor ecx, ecx
mov r8, r10
mov rdx, r9
shr r8, 3
test r8, r8
je 0x1400827b2
mov r10, r11
sub r10, r9
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400828ff
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140082790
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x1400827d3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400827d3
inc rcx
sub r8, 1
jne 0x1400827c0
mov rdx, rcx
mov r11, qword [rbp + 0x4f]
cmp rdx, 4
jb 0x140082818
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140082818
lea rax, [rdx + r14]
mov qword [rbp + 0x3f], rdx
movzx esi, byte [rax + r11]
mov r15, rdx
mov rdi, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x61], rbx
mov rax, qword [rsp + 0x60]
mov rbx, qword [rbp + 0x47]
mov r14, qword [rbp + 0x87]
mov edx, dword [r13 + rax*4]
mov eax, dword [rbp + 0x57]
sub rbx, rdx
and rdx, rax
lea rax, [rdx + r15]
mov r15, qword [rsp + 8]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140082928
test rbx, rbx
je 0x140082928
cmp rbx, r15
ja 0x140082928
add r11, rdx
mov rax, r10
shr rax, 3
xor edx, edx
mov rcx, r14
test rax, rax
je 0x1400828a2
mov r10, r11
sub r10, r14
nop dword [rax + rax]
mov r9, qword [rcx]
mov r8, qword [r10 + rcx]
cmp r9, r8
jne 0x140082917
add rcx, 8
add rdx, 8
sub rax, 1
jne 0x140082880
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x1400828c5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400828c5
inc rcx
inc rdx
sub r8, 1
jne 0x1400828b0
mov r9, rdx
mov r11, qword [rbp + 0x4f]
cmp r9, 4
jb 0x140082928
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140082928
mov r10, r9
mov qword [rbp + 0x3f], r9
mov qword [rsp + 0x28], rax
mov qword [rbp - 0x61], rbx
jmp 0x14008292c
mov r10, qword [rsp]
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400827d6
xor r8, r9
tzcnt r9, r8
shr r9, 3
add r9, rdx
jmp 0x1400828c8
mov r10, qword [rbp + 0x3f]
mov rax, qword [rbp + 0x47]
mov rdi, qword [rbp + 0x6f]
mov dword [r13 + r12*4], eax
mov r13, rax
test r13b, 3
jne 0x140082add
mov r12, qword [rsp]
cmp r12, 0x20
jb 0x140082add
mov rbx, qword [rdi + 0x50]
cmp rbx, rax
ja 0x140082ad5
lea rsi, [rbx + 0x20]
nop word [rax + rax]
mov r8d, dword [rdi + 0x40]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov r9d, r8d
imul r8d, dword [rdi + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, rsi
and rax, qword [rbp + 0x57]
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 0x140082ac4
mov rax, qword [rdi + 0x48]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r13
jne 0x140082ac0
mov eax, 0xffffffff
cmp r10, rax
je 0x140082ac0
mov edi, r13d
sub edi, r10d
cmp rdi, r15
ja 0x140082abc
and r10, qword [rbp + 0x57]
mov r8, r12
add r10, r11
shr r8, 3
xor ecx, ecx
mov rdx, r14
test r8, r8
je 0x140082a2e
mov r11, r10
sub r11, r14
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r11]
cmp r9, rax
jne 0x140082aab
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140082a10
mov r8, r12
and r8d, 7
je 0x140082a53
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140082a53
inc rcx
sub r8, 1
jne 0x140082a40
mov rdx, rcx
mov r10, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x140082b24
cmp rdx, r10
jbe 0x140082b24
mov r11, qword [rbp + 0x4f]
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x28]
jbe 0x140082aa5
mov r10, rdx
mov qword [rbp + 0x3f], rdx
mov qword [rbp - 0x61], rdi
mov qword [rsp + 0x28], rax
mov dword [rbp - 0x51], 0
mov rdi, qword [rbp + 0x6f]
jmp 0x140082ac4
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140082a56
mov rdi, qword [rbp + 0x6f]
mov r10, qword [rbp + 0x3f]
add rbx, 4
add rsi, 4
cmp rbx, r13
jbe 0x140082970
lea rax, [r13 + 4]
mov qword [rdi + 0x50], rax
cmp qword [rsp + 0x28], 0x7e4
jbe 0x1400834a0
mov r15, qword [rsp]
lea r12, [r13 + 1]
mov qword [rsp + 0x30], r12
mov dword [rbp + 0x87], 0
mov rax, qword [rbp + 0x67]
dec r15
mov qword [rsp], r15
cmp dword [rax + 4], 5
jge 0x140082b2e
lea rax, [r10 - 1]
mov r9, r15
cmp rax, r15
cmovb r9, rax
jmp 0x140082b31
mov rdi, qword [rbp + 0x6f]
mov r11, qword [rbp + 0x4f]
jmp 0x140082ac4
xor r9d, r9d
mov r10, qword [rbp - 0x71]
mov r8d, 0x7e4
mov rcx, qword [rbp + 0x57]
cmp r12, r10
mov r13, qword [rdi + 0x38]
mov r15, r12
cmovb r10, r12
mov qword [rsp + 0x48], r8
and r15, rcx
mov qword [rsp + 0x38], r9
lea rdx, [r15 + r11]
mov qword [rsp + 0x58], r9
movabs r8, 0xbd1e35a7bd000000
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x10], r10
mov r14, r9
lea rax, [r15 + r9]
mov qword [rsp + 8], rdx
movzx esi, byte [rax + r11]
mov edi, 0x7e4
mov rax, qword [rdx]
imul rax, r8
mov r8, r12
mov dword [rsp + 0x50], 0
shr rax, 0x30
movq xmm0, rax
mov rax, qword [rbp + 0x77]
punpcklqdq xmm0, xmm0
movsxd rbx, dword [rax]
sub r8, rbx
cmp r8, r12
jae 0x140082c94
mov eax, ecx
and r8, rax
lea rax, [r9 + r8]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140082c94
mov rdi, qword [rsp]
add r11, r8
mov r8, rdi
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x140082c1e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140082e8c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140082c00
mov r8, rdi
and r8d, 7
je 0x140082c43
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140082c43
inc rcx
sub r8, 1
jne 0x140082c30
mov rax, rcx
mov r11, qword [rbp + 0x4f]
mov edi, 0x7e4
mov rdx, qword [rsp + 8]
mov r10, qword [rsp + 0x10]
cmp rax, 4
jb 0x140082c94
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140082c94
mov qword [rsp + 0x58], 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
pand xmm0, xmm3
movdqu xmmword [rbp - 0x29], xmm0
mov r12, qword [rbp + rax*8 - 0x29]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x57]
sub rbx, r8
and r8, rax
lea rax, [r8 + r14]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140082d9f
test rbx, rbx
je 0x140082d9f
cmp rbx, r10
ja 0x140082d9f
mov rax, qword [rsp]
add r11, r8
mov r8, rax
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x140082d32
mov r10, r11
sub r10, qword [rsp + 8]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140082ea0
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140082d10
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x140082d53
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140082d53
inc rcx
sub r8, 1
jne 0x140082d40
mov rdx, rcx
mov r11, qword [rbp + 0x4f]
cmp rdx, 4
jb 0x140082d9f
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140082d9f
lea rax, [rdx + r15]
mov qword [rsp + 0x58], 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 rax, qword [rbp - 0x21]
mov edx, dword [rbp + 0x57]
mov r15, qword [rsp + 0x30]
mov rbx, r15
mov ecx, dword [r13 + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rdx + r14]
movzx ecx, byte [rax + r11]
mov r11, qword [rsp + 0x10]
cmp esi, ecx
jne 0x140082ec5
test rbx, rbx
je 0x140082ec5
cmp rbx, r11
ja 0x140082ec5
mov rsi, qword [rsp]
mov r11, qword [rbp + 0x4f]
mov r8, rsi
mov rax, qword [rsp + 8]
add r11, rdx
shr r8, 3
xor edx, edx
mov rcx, rax
test r8, r8
je 0x140082e2e
mov r10, r11
sub r10, rax
nop dword [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x140082eb4
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140082e10
mov r8, rsi
and r8d, 7
je 0x140082e4c
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140082e4c
inc rcx
inc rdx
sub r8, 1
jne 0x140082e37
mov r8, rdx
mov r11, qword [rsp + 0x10]
cmp r8, 4
jb 0x140082ec5
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140082ec5
mov r14, r8
mov qword [rsp + 0x38], r8
mov r10, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
jmp 0x140082ecf
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140082c46
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140082d56
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140082e4f
mov r14, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x6f]
mov dword [r13 + r12*4], r15d
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp]
test r12b, 3
jne 0x140083076
cmp r15, 0x20
jb 0x140083076
mov rbx, qword [rdi + 0x50]
cmp rbx, r12
ja 0x14008306d
mov r13, qword [rbp + 0x4f]
lea rsi, [rbx + 0x20]
nop word [rax + rax]
mov r8d, dword [rdi + 0x40]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov r9d, r8d
imul r8d, dword [rdi + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r13]
mov rax, rsi
and rax, qword [rbp + 0x57]
inc edx
imul edx, dword [rdi + 0x60]
movzx ecx, byte [rax + r13]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x40], eax
cmp r9d, 0x1000000
jae 0x140083057
mov rax, qword [rdi + 0x48]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r12
jne 0x140083047
mov eax, 0xffffffff
cmp r10, rax
je 0x140083047
mov edi, r12d
sub edi, r10d
cmp rdi, r11
ja 0x14008304e
and r10, qword [rbp + 0x57]
mov r8, r15
mov rcx, qword [rsp + 8]
add r10, r13
shr r8, 3
xor eax, eax
mov rdx, rcx
test r8, r8
je 0x140082fca
mov r11, r10
sub r11, rcx
nop
mov r9, qword [rdx]
mov rcx, qword [r11 + rdx]
cmp r9, rcx
jne 0x140083036
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140082fb0
mov r8, r15
and r8d, 7
je 0x140082fe9
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x140082fe9
inc rax
sub r8, 1
jne 0x140082fd6
mov rdx, rax
mov r10, qword [rsp + 0x48]
cmp rdx, 4
jb 0x140083053
cmp rdx, r14
jbe 0x140083053
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r10
jbe 0x140083053
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 0x140083053
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140082fec
mov r10, qword [rsp + 0x48]
jmp 0x140083057
mov r10, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x6f]
mov r11, qword [rsp + 0x10]
add rbx, 4
add rsi, 4
cmp rbx, r12
jbe 0x140082f10
lea rax, [r12 + 4]
mov qword [rdi + 0x50], rax
mov rax, qword [rsp + 0x28]
mov r13, qword [rbp + 0x47]
add rax, 0xaf
cmp r10, rax
jb 0x1400830ee
mov ecx, dword [rbp + 0x87]
inc r13
movups xmm0, xmmword [rsp + 0x38]
inc qword [rsp + 0x18]
inc ecx
movups xmm1, xmmword [rsp + 0x48]
inc r12
mov qword [rbp + 0x47], r13
mov qword [rsp + 0x30], r12
mov dword [rbp + 0x87], ecx
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x1400830e8
lea rax, [r12 + 7]
cmp rax, qword [rbp - 0x79]
jae 0x1400830e8
mov rax, qword [rbp - 0x59]
mov r10, qword [rbp - 0x69]
mov r11, qword [rbp + 0x4f]
mov qword [rsp + 0x28], rax
mov qword [rbp + 0x3f], r10
jmp 0x140082b03
mov r15, qword [rbp - 0x69]
jmp 0x1400830f2
mov r15, qword [rbp + 0x3f]
mov rax, qword [rbp - 0x41]
mov r10, qword [rbp - 0x71]
mov rbx, qword [rbp - 0x61]
lea r11, [rax + r15*2]
mov rax, qword [rbp - 0x39]
add r11, r13
add rax, r13
cmp rax, r10
mov qword [rsp + 0x30], r11
mov r11, qword [rbp + 0x77]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x1400831a3
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 0x140083142
xor r8d, r8d
jmp 0x1400831a7
cmp rbx, r9
jne 0x14008314f
mov r8d, 1
jmp 0x1400831a7
cmp r8, 7
jae 0x14008316b
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400831a7
cmp rcx, 7
jae 0x140083183
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400831a7
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140083194
mov r8d, 2
jmp 0x1400831a7
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x1400831a7
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x1400831c7
test r8, r8
je 0x1400831c7
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 [rsp + 0x20]
mov esi, dword [rbp - 0x51]
mov r12, qword [rsp + 0x18]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov rcx, qword [rbp + 0x67]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x1400831f9
xor edi, edi
jmp 0x14008326d
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
sub rdi, rax
shl r8, cl
add r8w, 0x10
shr rdi, cl
mov eax, 1
shl ax, cl
dec ax
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rsp + 0x20]
lea edx, [r15 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r12, 6
jae 0x14008329c
movzx r10d, r12w
mov eax, 0x17
jmp 0x14008330f
cmp r12, 0x82
jae 0x1400832c8
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 0x14008330f
cmp r12, 0x842
jae 0x1400832e6
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14008330f
mov eax, 0x17
cmp r12, 0x1842
jae 0x1400832fa
lea r10d, [rax - 2]
jmp 0x14008330f
cmp r12, 0x5842
jae 0x14008330b
mov r10d, 0x16
jmp 0x14008330f
movzx r10d, ax
cmp r9, 0xa
jae 0x14008331c
sub r9w, 2
jmp 0x14008335c
cmp r9, 0x86
jae 0x140083341
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 0x14008335c
cmp r9, 0x846
jae 0x140083358
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14008335c
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 0x140083399
cmp r10w, 8
jae 0x140083399
cmp r9w, 0x10
jae 0x140083399
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x1400833cd
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 + 0x97]
lea r9, [r15 + r13]
mov r8, qword [rbp - 0x49]
xor r10d, r10d
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x20], r14
lea rdx, [r13 + 2]
add qword [rax], r12
mov rax, r15
cmp r9, r8
mov qword [rsp + 0x18], r10
mov qword [rbp + 0x47], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x140083436
lea rax, [rbx*4]
sub r15, rax
lea rax, [r15 + r13]
cmp rdx, rax
mov eax, 2
cmova r15, rax
lea rdx, [r15 + r13]
cmp r8, rdx
cmovb rdx, r8
mov r11, qword [rbp + 0x6f]
cmp rdx, r8
jae 0x140083494
mov r9, qword [rbp + 0x4f]
movabs r14, 0xbd1e35a7bd000000
mov rdi, qword [rbp + 0x57]
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
and rax, rdi
mov rcx, qword [rax + r9]
mov eax, edx
imul rcx, r14
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [r11 + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x140083460
mov r9, qword [rbp + 0x47]
mov r14, qword [rsp + 0x20]
mov r13, r9
mov qword [rbp + 0x47], r9
jmp 0x1400835eb
mov r10, qword [rsp + 0x18]
inc r13
mov r11, qword [rsp + 0x30]
inc r10
mov qword [rsp + 0x18], r10
mov qword [rbp + 0x47], r13
cmp r13, r11
jbe 0x1400835e2
mov rax, qword [rbp - 0x41]
mov rdx, qword [rbp - 0x79]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r13, rax
jbe 0x140083569
mov r9, qword [rbp + 0x57]
lea rax, [r13 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r13, rdx
jae 0x1400835d7
add r10, 4
mov rax, rdx
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x18], r10
movabs r10, 0xbd1e35a7bd000000
nop word [rax + rax]
mov rcx, qword [rbp + 0x4f]
mov rax, r13
and rax, r9
mov rcx, qword [rax + rcx]
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 0x140083520
mov r11, qword [rbp + 0x6f]
mov r10, qword [rsp + 0x18]
mov r14, qword [rsp + 0x20]
mov qword [rbp + 0x47], r13
jmp 0x1400835ef
lea rax, [r13 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r13, rdx
jae 0x1400835e2
mov r9, qword [rbp + 0x57]
add r10, 2
mov rax, rdx
sub rax, r13
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x18], r10
movabs r10, 0xbd1e35a7bd000000
mov rcx, qword [rbp + 0x4f]
mov rax, r13
and rax, r9
mov rcx, qword [rax + rcx]
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 0x1400835a0
jmp 0x140083552
mov r11, qword [rbp + 0x6f]
mov r14, qword [rsp + 0x20]
jmp 0x1400835ef
mov r14, qword [rsp + 0x20]
mov r11, qword [rbp + 0x6f]
mov r9, qword [rbp + 0x57]
mov rdx, qword [rbp - 0x79]
lea rax, [r13 + 8]
mov r8, qword [rbp + 0x77]
movabs rcx, 0xbd1e35a7bd000000
mov rbx, qword [rbp - 0x71]
cmp rax, rdx
jb 0x1400825c0
mov r15, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rcx, qword [rbp + 0x7f]
sub r14, qword [rbp - 0x31]
sub rdx, r13
mov rax, qword [rbp + 0x8f]
add rdx, r10
sar r14, 4
mov qword [rcx], rdx
add qword [rax], r14
add rsp, 0xe8
pop r14
pop r13
pop rdi
pop rsi
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 [0x1406cd328]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r13, qword [rbp + 0xb8]
mov rax, rcx
mov rcx, qword [rbp + 0xe8]
mov rbx, r8
mov r8, qword [rbp + 0xd0]
mov r11, rdx
mov rsi, qword [rbp + 0xc0]
mov r14d, 1
mov r15, qword [rbp + 0xe0]
mov rdi, r9
mov qword [rbp - 0x30], rcx
mov ecx, dword [r13 + 8]
mov r10, qword [r8]
shl r14, cl
mov rcx, qword [r13 + 0x10]
sub r14, 0x10
mov qword [rsp + 0x10], r9
mov r9, qword [rbp + 0xd8]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rbp + 0xc8]
mov qword [rbp - 0x20], r8
lea r8, [r11 + rax]
mov qword [rsp], rbx
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r9
mov qword [rbp - 0x28], r15
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x18], r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x70], r8
cmp rax, 8
jb 0x140083735
lea rax, [r8 - 7]
mov qword [rbp - 0x48], rax
jmp 0x140083739
mov qword [rbp - 0x48], r11
cmp dword [r13 + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x40], rax
add rax, r11
mov qword [rsp + 0x58], rax
lea rax, [r11 + 8]
cmp rax, r8
jae 0x140084bf2
movdqa xmm2, xmmword [0x1405903a0]
mov eax, 3
movdqa xmm4, xmmword [0x1405903c0]
movd xmm3, eax
nop
mov r10, qword [rsi + 0x38]
lea rax, [r11 + rcx]
mov r9, r8
mov qword [rsp + 0x30], 0x7e4
sub r9, r11
mov qword [rsp + 0x40], r10
cmp r11, r14
mov qword [rsp + 8], r9
mov r15, r14
mov rcx, r14
cmovb r15, r11
cmp rax, r14
mov r14, rdi
cmovb rcx, rax
mov rax, qword [r13 + 0x50]
mov r13, qword [rsp + 0x38]
xor r8d, r8d
and r14, r11
mov qword [rsp + 0x50], rcx
movsxd r11, dword [rdx]
lea r12, [rbx + r14]
movzx edi, byte [r12]
movabs rcx, 0xbd1e35a7bd000000
mov rdx, qword [rsp]
mov esi, r8d
mov qword [rbp - 0x78], rax
mov ebx, 0x7e4
mov rax, qword [r12]
imul rax, rcx
mov rcx, r13
mov qword [rsp + 0x28], r8
shr rax, 0x2f
sub rcx, r11
mov qword [rbp - 0x60], r8
mov dword [rbp - 0x50], r8d
mov r8, qword [rsp + 0x10]
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r13
jae 0x1400838f6
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10]
cmp edi, eax
jne 0x1400838f1
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x14008386f
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1400838db
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140083850
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140083893
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140083893
inc rcx
sub r8, 1
jne 0x140083880
mov rax, rcx
mov rdx, qword [rsp]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x10]
cmp rax, 4
jb 0x1400838f6
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x1400838f6
mov qword [rsp + 0x28], rax
mov rsi, rax
add rax, rdx
mov qword [rbp - 0x60], r11
mov qword [rsp + 0x30], rcx
mov rbx, rcx
movzx edi, byte [rax + r14]
jmp 0x1400838f6
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140083896
mov r10, qword [rsp + 0x40]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 - 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x140083900
mov r11, qword [rsp + 0x38]
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 0x140083a19
test r11, r11
je 0x140083a19
cmp r11, r15
ja 0x140083a19
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x1400839b3
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140083cb1
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140083990
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x1400839d3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x1400839d3
inc rcx
sub r8, 1
jne 0x1400839c0
mov rdx, rcx
cmp rdx, 4
jb 0x140083a19
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x140083a19
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x28], rdx
mov rbx, r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x60], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 8]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x140083afb
test r11, r11
je 0x140083afb
cmp r11, r15
ja 0x140083afb
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x140083a93
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140083cca
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140083a70
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140083ab5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140083ab5
inc rdx
inc rcx
sub r8, 1
jne 0x140083aa0
mov rdx, rcx
cmp rdx, 4
jb 0x140083afb
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x140083afb
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x28], rdx
mov rbx, r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x60], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x140083bdb
test r11, r11
je 0x140083bdb
cmp r11, r15
ja 0x140083bdb
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x140083b73
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140083ce3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140083b50
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140083b95
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140083b95
inc rdx
inc rcx
sub r8, 1
jne 0x140083b80
mov rdx, rcx
cmp rdx, 4
jb 0x140083bdb
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x140083bdb
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x28], rdx
mov rbx, r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x60], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x10]
mov r14, qword [rsp]
mov r11, qword [rsp + 0x38]
mov ecx, dword [rcx + rax*4]
and r10, rcx
sub r11, rcx
add r10, r14
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x140083d15
test r11, r11
je 0x140083d15
cmp r11, r15
ja 0x140083d15
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x140083c53
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140083cfc
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140083c30
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140083c75
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140083c75
inc rdx
inc rcx
sub r8, 1
jne 0x140083c60
mov rdx, rcx
cmp rdx, 4
jb 0x140083d15
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rbx, rax
jae 0x140083d15
mov qword [rsp + 0x28], rdx
mov r15, rax
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x60], r11
jmp 0x140083d1a
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400839d6
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140083ab8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140083b98
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140083c78
mov r15, qword [rsp + 0x30]
mov r8, qword [rsp + 0x18]
mov r10, qword [rsp + 0x20]
cmp r15, 0x7e4
jne 0x140083ec9
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 0x140083ec5
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 0x140083ec5
mov r11d, edx
cmp rdx, r9
ja 0x140083ec5
mov rax, qword [r10 + 0x70]
mov r8d, r11d
mov rdi, qword [r10 + 0x58]
shr r8, 3
movzx esi, word [rax + rcx*2]
mov eax, r11d
mov edx, dword [rdi + rdx*4 + 0x20]
xor ecx, ecx
imul rax, rsi
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x140083de3
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140083ea7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140083dc0
mov r10, qword [rsp + 0x20]
mov r8, r11
and r8d, 7
je 0x140083e03
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140083e03
inc rcx
sub r8, 1
jne 0x140083df0
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140083ec0
test r9, r9
je 0x140083ec0
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rsp + 0x50]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x78]
ja 0x140083ec0
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r15
jb 0x140083ec0
mov qword [rsp + 0x30], rax
mov rcx, r9
mov r15, qword [rsp + 0x30]
lea rax, [r14 + 1]
mov r14, qword [rsp]
sub r11d, r9d
mov qword [rbp - 0x60], r8
mov r8, qword [rsp + 0x18]
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x28], rcx
mov dword [rbp - 0x50], r11d
jmp 0x140083ece
mov r10, qword [rsp + 0x20]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140083e06
mov r8, qword [rsp + 0x18]
mov r14, qword [rsp]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov dword [rax + r13*4], r11d
cmp r15, 0x7e4
jbe 0x140084a76
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 0x140083f13
lea rax, [rcx - 1]
mov rbx, r9
cmp rax, r9
cmovb rbx, rax
jmp 0x140083f16
mov rbx, rdi
mov rdx, qword [rsp + 0x78]
lea r10, [r11 + 1]
mov r13, qword [rsp + 0x20]
cmp r10, rdx
mov rax, qword [rbp - 0x80]
mov r15, rdx
cmovb r15, r10
mov qword [rbp - 8], rdi
inc rax
mov dword [rbp + 8], edi
add rax, r11
mov qword [rbp - 0x10], rbx
cmp rax, rdx
mov qword [rsp + 0x50], r10
mov rcx, rdx
mov r12d, 0x7e4
mov rdx, qword [rsp]
cmovb rcx, rax
mov rax, qword [r13 + 0x50]
mov edi, r12d
mov qword [rbp - 0x38], rax
mov rax, qword [r8 + 0x38]
mov r8, qword [rsp + 0x10]
mov qword [rsp + 0x58], rax
mov r14, r8
mov qword [rbp - 0x78], rcx
and r14, r10
mov rax, qword [rdx + r14]
lea r13, [rdx + r14]
movzx esi, byte [rbx + r13]
movabs rcx, 0xbd1e35a7bd000000
imul rax, rcx
mov rcx, r10
mov qword [rbp], r12
shr rax, 0x2f
movq xmm1, rax
mov rax, qword [rsp + 0x60]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x140084096
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [rbx + r10]
cmp esi, eax
jne 0x140084091
mov r8, r9
xor eax, eax
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14008400f
nop dword [rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x14008407b
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140083ff0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140084033
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x140084033
inc rax
sub r8, 1
jne 0x140084020
mov rcx, rax
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x10]
cmp rcx, 4
jb 0x140084096
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, rdi
jbe 0x140084096
mov r12, rax
mov qword [rbp], rax
mov rdi, rax
mov qword [rbp - 0x10], rcx
mov rax, qword [rsp]
mov rbx, rcx
add rax, rcx
mov qword [rbp - 8], r11
movzx esi, byte [rax + r14]
jmp 0x140084096
xor rcx, r9
mov r9, qword [rsp + 8]
tzcnt rcx, rcx
shr rcx, 3
add rcx, rax
jmp 0x140084036
mov r10, qword [rsp + 0x50]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 + 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x1400840a0
mov rdx, qword [rsp + 0x58]
mov rax, r10
shr rax, 3
mov r11, r10
mov r10, qword [rsp]
and eax, 3
mov rcx, qword [rbp + rax*8 + 0x10]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x70], rcx
mov ecx, dword [rdx + rax*4]
mov eax, r8d
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [rbx + r10]
cmp esi, eax
jne 0x1400841ba
test r11, r11
je 0x1400841ba
cmp r11, r15
ja 0x1400841ba
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140084153
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14008464e
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084130
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140084173
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x140084173
inc rcx
sub r8, 1
jne 0x140084160
mov rdx, rcx
cmp rdx, 4
jb 0x1400841ba
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x1400841ba
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 + 0x58]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [rbx + r10]
cmp esi, eax
jne 0x14008429c
test r11, r11
je 0x14008429c
cmp r11, r15
ja 0x14008429c
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140084233
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140084667
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084210
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140084255
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140084255
inc rdx
inc rcx
sub r8, 1
jne 0x140084240
mov rdx, rcx
cmp rdx, 4
jb 0x14008429c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14008429c
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 + 0x58]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [rbx + r10]
cmp esi, eax
jne 0x14008437c
test r11, r11
je 0x14008437c
cmp r11, r15
ja 0x14008437c
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140084313
nop
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140084680
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400842f0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140084335
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140084335
inc rdx
inc rcx
sub r8, 1
jne 0x140084320
mov rdx, rcx
cmp rdx, 4
jb 0x14008437c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14008437c
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 + 0x58]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [rbx + r10]
cmp esi, eax
jne 0x140084449
test r11, r11
je 0x140084449
cmp r11, r15
ja 0x140084449
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x1400843f3
nop
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140084699
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400843d0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140084415
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x140084415
inc rdx
inc rcx
sub r8, 1
jne 0x140084400
mov rdx, rcx
cmp rdx, 4
jb 0x140084449
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140084449
mov qword [rbp - 0x10], rdx
mov r12, rax
mov qword [rbp], rax
mov qword [rbp - 8], r11
mov r8, qword [rsp + 0x18]
mov r10, qword [rsp + 0x20]
cmp r12, 0x7e4
jne 0x1400845c1
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 0x1400845c1
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 0x1400845c1
mov r11d, edx
cmp rdx, r9
ja 0x1400845c1
mov rax, qword [r10 + 0x70]
mov r8d, r11d
mov rdi, qword [r10 + 0x58]
shr r8, 3
movzx esi, word [rax + rcx*2]
mov eax, r11d
mov edx, dword [rdi + rdx*4 + 0x20]
xor ecx, ecx
imul rax, rsi
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x140084513
mov r10, r13
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400846b2
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400844f0
mov r10, qword [rsp + 0x20]
mov r8, r11
and r8d, 7
je 0x140084533
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r13], al
jne 0x140084533
inc rcx
sub r8, 1
jne 0x140084520
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400845bc
test r9, r9
je 0x1400845bc
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x78]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x38]
ja 0x1400845bc
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x1400845bc
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], r8
mov r8, qword [rsp + 0x18]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov dword [rdx + rax*4], ecx
mov rax, qword [rsp + 0x30]
add rax, 0xaf
cmp r12, rax
mov r12, qword [rsp + 0x48]
jb 0x1400846d1
movups xmm0, xmmword [rbp - 0x10]
mov r11, rcx
mov qword [rsp + 0x38], rcx
mov ecx, dword [rsp + 0x40]
inc r12
movups xmm1, xmmword [rbp]
inc ecx
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x40], ecx
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm1
cmp ecx, 4
jge 0x1400846cb
lea rax, [r11 + 8]
cmp rax, qword [rsp + 0x70]
jae 0x1400846cb
mov r9, qword [rsp + 8]
mov rax, qword [rbp - 0x58]
dec r9
mov rcx, qword [rbp - 0x68]
xor edi, edi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
jmp 0x140083ef7
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140084176
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140084258
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140084338
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140084418
mov r10, qword [rsp + 0x20]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140084536
mov r15, qword [rbp - 0x68]
jmp 0x1400846db
mov r11, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x78]
lea r13, [r11 + r15*2]
add r13, qword [rbp - 0x40]
mov rax, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x60]
add rax, r11
mov rbx, qword [rbp - 0x60]
cmp rax, r10
mov qword [rsp + 0x58], r13
cmovb r10, rax
lea rdx, [rdi + 4]
cmp rbx, r10
ja 0x14008478b
movsxd rax, dword [rdi]
lea rcx, [rbx + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rbx, rax
jne 0x14008472a
xor r8d, r8d
jmp 0x14008478f
cmp rbx, r9
jne 0x140084737
mov r8d, 1
jmp 0x14008478f
cmp r8, 7
jae 0x140084753
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14008478f
cmp rcx, 7
jae 0x14008476b
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14008478f
movsxd rax, dword [rdi + 8]
cmp rbx, rax
jne 0x14008477c
mov r8d, 2
jmp 0x14008478f
movsxd rax, dword [rdi + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14008478f
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x1400847aa
test r8, r8
je 0x1400847aa
mov eax, dword [rdi + 8]
mov dword [rdi + 0xc], eax
mov eax, dword [rdx]
mov dword [rdi + 8], eax
mov eax, dword [rdi]
mov dword [rdx], eax
mov dword [rdi], ebx
mov rcx, qword [rsp + 0x68]
mov esi, dword [rbp - 0x50]
mov r13, qword [rsp + 0x20]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov r14d, dword [r13 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x1400847d8
xor edi, edi
jmp 0x140084851
mov r11d, dword [r13 + 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 + 0x38]
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 [rsp + 0x68]
lea edx, [r15 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r12, 6
jae 0x140084880
movzx r10d, r12w
mov eax, 0x17
jmp 0x1400848f3
cmp r12, 0x82
jae 0x1400848ac
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 0x1400848f3
cmp r12, 0x842
jae 0x1400848ca
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x1400848f3
mov eax, 0x17
cmp r12, 0x1842
jae 0x1400848de
lea r10d, [rax - 2]
jmp 0x1400848f3
cmp r12, 0x5842
jae 0x1400848ef
mov r10d, 0x16
jmp 0x1400848f3
movzx r10d, ax
cmp r9, 0xa
jae 0x140084900
sub r9w, 2
jmp 0x140084940
cmp r9, 0x86
jae 0x140084925
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 0x140084940
cmp r9, 0x846
jae 0x14008493c
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140084940
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 0x14008497d
cmp r10w, 8
jae 0x14008497d
cmp r9w, 0x10
jae 0x14008497d
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x1400849b1
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]
lea r9, [r11 + r15]
mov r8, qword [rbp - 0x48]
xor r10d, r10d
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x68], r14
lea rdx, [r11 + 2]
add qword [rax], r12
mov rax, r15
cmp r9, r8
mov qword [rsp + 0x48], r10
mov qword [rbp - 0x70], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x140084a10
lea rax, [rbx*4]
sub r11, rax
add r11, r15
cmp rdx, r11
cmova r11, rdx
cmp r8, r11
mov rdx, r11
cmovb rdx, r8
mov rsi, qword [rsp + 0x18]
cmp rdx, r8
jae 0x140084a69
mov r9, qword [rsp]
movabs r13, 0xbd1e35a7bd000000
nop dword [rax + rax]
mov rax, qword [rsp + 0x10]
and rax, rdx
mov rcx, qword [rax + r9]
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 0x140084a30
mov r9, qword [rbp - 0x70]
mov r13, qword [rsp + 0x20]
mov r11, r9
mov qword [rsp + 0x38], r9
jmp 0x140084bc0
mov r10, qword [rsp + 0x48]
inc r11
mov r13, qword [rsp + 0x58]
inc r10
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x38], r11
cmp r11, r13
jbe 0x140084bb6
mov rax, qword [rbp - 0x40]
mov rdx, qword [rsp + 0x70]
add rdx, 0xfffffffffffffff9
lea rax, [rax*4]
add rax, r13
cmp r11, rax
jbe 0x140084b3c
mov rdi, qword [rsp + 0x10]
lea rax, [r11 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r11, rdx
jae 0x140084b2d
add r10, 4
mov rax, rdx
sub rax, r11
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x48], r10
movabs r10, 0xbd1e35a7bd000000
mov rax, rdi
and rax, r11
mov rcx, qword [rax + r14]
mov eax, r11d
imul rcx, r10
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 0x140084af2
mov r10, qword [rsp + 0x48]
mov qword [rsp + 0x38], r11
mov r13, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x18]
jmp 0x140084bc5
lea rax, [r11 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r11, rdx
jae 0x140084bb6
mov rdi, qword [rsp + 0x10]
add r10, 2
mov rax, rdx
sub rax, r11
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x48], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax]
nop dword [rax + rax]
mov rax, rdi
and rax, r11
mov rcx, qword [rax + r14]
mov eax, r11d
imul rcx, r10
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 0x140084b80
jmp 0x140084b23
mov rsi, qword [rsp + 0x18]
mov r13, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x10]
mov r8, qword [rsp + 0x70]
lea rax, [r11 + 8]
mov rbx, qword [rsp]
mov rdx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
cmp rax, r8
jb 0x140083780
mov r9, qword [rsp + 0x68]
mov r15, qword [rbp - 0x28]
sub r9, qword [rbp - 0x18]
sub r8, r11
mov rax, qword [rbp - 0x20]
add r8, r10
sar r9, 4
mov qword [rax], r8
add qword [r15], r9
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400b84f0
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 r12
push r13
push r14
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov r14, qword [rbp + 0x87]
mov rax, rcx
mov r12, qword [rbp + 0x6f]
mov r13, rdx
mov rdx, qword [rbp + 0x67]
mov r11d, 1
mov r10, r9
mov qword [rbp - 0x79], r14
mov qword [rbp - 0x19], r14
mov ecx, dword [rdx + 8]
mov rbx, qword [rdx + 0x10]
shl r11, cl
mov rcx, qword [rbp + 0x7f]
sub r11, 0x10
mov qword [rbp - 0x41], r11
mov qword [rbp - 0x39], rbx
mov rsi, qword [rcx]
lea rcx, [rax + r13]
mov qword [rbp - 0x71], rcx
mov qword [rsp + 0x68], rsi
cmp rax, 4
jb 0x140084cb4
lea rax, [rcx - 3]
mov qword [rbp - 0x29], rax
jmp 0x140084cb8
mov qword [rbp - 0x29], r13
cmp dword [rdx + 4], 9
mov eax, 0x200
mov r9d, 0x40
cmovl eax, r9d
mov qword [rbp - 0x21], rax
add rax, r13
mov qword [rbp - 0x69], rax
lea rax, [r13 + 4]
cmp rax, rcx
jae 0x140086856
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xe8], r15
mov rsi, qword [rbp + 0x77]
lea rax, [rbx + r13]
mov r9, rcx
mov qword [rsp + 0x18], 0x7e4
sub r9, r13
mov rdi, r11
cmp r13, r11
mov qword [rsp + 0x10], r9
movsxd rbx, dword [rsi]
mov rcx, r11
cmovb rdi, r13
cmp rax, r11
mov qword [rbp + 0x87], rdi
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
mov rdx, qword [rbp + 0x47]
mov qword [rsp + 0x28], rax
mov r11, rdx
mov rax, qword [r12 + 0x40]
sub r11, rbx
mov qword [rsp + 0x30], rax
mov r12d, 0x7e4
mov rax, r13
mov qword [rsp + 0x38], rcx
xor ecx, ecx
and rax, r10
imul r14d, dword [rax + r8], 0x1e35a7bd
lea r15, [rax + r8]
mov qword [rbp - 0x59], rcx
mov r13d, ecx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x49], ecx
shr r14, 0x11
mov qword [rsp + 0x60], r14
cmp r11, rdx
jae 0x140084e37
cmp rbx, rdi
ja 0x140084e37
and r11, r10
mov rdx, r15
add r11, r8
mov r8, r9
shr r8, 3
test r8, r8
je 0x140084de3
mov r10, r11
sub r10, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14008519e
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140084dc0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x140084e03
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140084e03
inc rcx
sub r8, 1
jne 0x140084df0
mov rax, rcx
mov rdx, qword [rbp + 0x47]
cmp rax, 2
jb 0x140084e37
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r12, rcx
jae 0x140084e37
mov r12, rcx
mov qword [rsp + 0x20], rax
mov r13, rax
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x18], rcx
mov rcx, qword [rsp + 0x30]
lea rax, [rsi + 4]
movsxd rsi, dword [rsi + 4]
mov r10, rdx
sub r10, rsi
mov qword [rsp], rax
mov r8, rax
movzx eax, r10w
cmp byte [rax + rcx + 0x30000], r14b
jne 0x140084f2d
mov qword [rsp], r8
cmp r10, rdx
jae 0x140084f2d
mov qword [rsp], r8
cmp rsi, rdi
ja 0x140084f2d
and r10, qword [rbp + 0x57]
xor edx, edx
add r10, qword [rbp + 0x4f]
mov rcx, r15
shr r9, 3
mov qword [rsp], r8
test r9, r9
je 0x140084ece
mov rdi, r10
mov qword [rsp], r8
sub rdi, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r8, qword [rdi + rcx]
cmp rax, r8
jne 0x1400851b7
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140084eb0
mov r8, qword [rsp + 0x10]
and r8d, 7
je 0x140084ef5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140084ef5
inc rcx
inc rdx
sub r8, 1
jne 0x140084ee0
mov rcx, rdx
cmp rcx, 2
jb 0x140084f2d
imul rax, rcx, 0x87
add rax, 0x78f
cmp r12, rax
jae 0x140084f2d
add rax, 0xffffffffffffffd9
cmp r12, rax
jae 0x140084f2d
mov r12, rax
mov qword [rsp + 0x20], rcx
mov r13, rcx
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x18], rax
mov r9, qword [rbp + 0x77]
mov rsi, qword [rbp + 0x47]
add r9, 8
mov rdx, qword [rsp + 0x30]
mov r10, rsi
mov rcx, qword [rsp + 0x60]
mov r11, r9
mov r8, qword [rsp]
movsxd r14, dword [r9]
sub r10, r14
mov qword [rbp + 0x3f], r9
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14008504e
mov qword [rbp + 0x3f], r9
mov qword [rsp], r8
cmp r10, rsi
jae 0x14008504e
mov qword [rbp + 0x3f], r9
mov qword [rsp], r8
cmp r14, qword [rbp + 0x87]
ja 0x14008504e
and r10, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rsp + 0x10]
mov rcx, r15
add r10, qword [rbp + 0x4f]
mov r9, rax
shr r9, 3
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
test r9, r9
je 0x140084ff3
mov rsi, r10
mov qword [rbp + 0x3f], r11
sub rsi, r15
mov qword [rsp], r8
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r8, qword [rsi + rcx]
cmp rax, r8
jne 0x1400851cb
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140084fd0
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x140085015
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140085015
inc rcx
inc rdx
sub r8, 1
jne 0x140085000
mov rax, rdx
cmp rax, 2
jb 0x14008504e
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r12, rcx
jae 0x14008504e
add rcx, 0xffffffffffffffd5
cmp r12, rcx
jae 0x14008504e
mov r12, rcx
mov qword [rsp + 0x20], rax
mov r13, rax
mov qword [rbp - 0x59], r14
mov qword [rsp + 0x18], rcx
mov rcx, qword [rsp + 0x60]
mov r9, qword [rbp + 0x77]
mov r14, qword [rbp + 0x47]
add r9, 0xc
mov rdx, qword [rsp + 0x30]
mov r10, r14
mov r8, qword [rsp]
mov rbx, r9
mov r11, qword [rbp + 0x3f]
movsxd r15, dword [r9]
sub r10, r15
mov qword [rsp + 8], r9
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
mov rcx, qword [rbp + 0x87]
jne 0x1400851fa
mov qword [rsp + 8], rbx
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
cmp r10, r14
jae 0x1400851fa
mov qword [rsp + 8], rbx
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
cmp r15, rcx
ja 0x1400851fa
and r10, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rsp + 0x70]
add rax, qword [rbp + 0x4f]
mov r9, qword [rsp + 0x10]
mov rcx, rax
add r10, qword [rbp + 0x4f]
shr r9, 3
mov qword [rsp + 8], rbx
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
test r9, r9
je 0x14008512e
mov r14, r10
mov qword [rsp + 8], rbx
sub r14, rax
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
nop word [rax + rax]
mov rax, qword [rcx]
mov r8, qword [r14 + rcx]
cmp rax, r8
jne 0x1400851df
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140085110
mov r8, qword [rsp + 0x10]
and r8d, 7
je 0x140085155
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140085155
inc rcx
inc rdx
sub r8, 1
jne 0x140085140
mov rax, rdx
cmp rax, 2
jb 0x1400851f3
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r12, rcx
jae 0x1400851f3
add rcx, 0xffffffffffffffd5
cmp r12, rcx
jae 0x1400851f3
mov r12, rcx
mov qword [rsp + 0x18], rcx
mov r9, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x87]
mov r13, rax
mov qword [rbp - 0x59], r15
jmp 0x1400851ff
xor rax, r9
mov r9, qword [rsp + 0x10]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140084e06
xor rax, r8
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x140084ef8
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x140085018
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x140085158
mov rcx, qword [rbp + 0x87]
mov r9, qword [rsp + 0x18]
mov rax, qword [rbp + 0x6f]
xor ebx, ebx
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x30]
mov r11, qword [rbp + 0x47]
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 0x14008537a
nop dword [rax]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, rcx
ja 0x140085375
mov r9, qword [rbp + 0x57]
lea rax, [r10 + r14*4]
mov r8, qword [rsp + 0x70]
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 0x140085360
lea rax, [rcx + r13]
cmp rax, r9
ja 0x140085360
mov r9, qword [rbp + 0x4f]
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x140085360
mov r15, qword [rsp + 0x10]
lea rax, [r8 + r9]
mov r8, r15
lea r11, [rcx + r9]
shr r8, 3
xor ecx, ecx
mov rdx, rax
test r8, r8
je 0x1400852ea
mov r10, r11
sub r10, rax
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14008534f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400852d0
mov r8, r15
and r8d, 7
je 0x140085309
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140085309
inc rcx
sub r8, 1
jne 0x1400852f6
mov rdx, rcx
mov r10, qword [rsp + 0x30]
mov r11, qword [rbp + 0x47]
cmp rdx, 4
jb 0x140085360
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x140085360
mov r12, rax
mov qword [rsp + 0x20], rdx
mov r13, rdx
mov qword [rbp - 0x59], rbx
mov r9, rax
mov qword [rsp + 0x18], rax
jmp 0x140085365
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008530c
mov r9, qword [rsp + 0x18]
mov rcx, qword [rbp + 0x87]
test rdi, rdi
jne 0x140085240
mov r8, qword [rsp + 0x60]
mov r13, qword [rbp + 0x47]
mov ebx, 0xffff
mov r12, qword [rbp + 0x6f]
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 0x140085724
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 0x14008571e
mov r12, qword [rsp + 0x70]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x4f]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rsp + 0x10]
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 0x1400855a1
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x1400855a1
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 0x1400854ae
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14008558d
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085490
mov r8, r11
and r8d, 7
je 0x1400854d3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x1400854d3
inc rcx
sub r8, 1
jne 0x1400854c0
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400855a8
test r9, r9
je 0x1400855a8
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x38]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rsp + 0x28]
ja 0x1400855ad
mov rdx, qword [rsp + 0x10]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x18]
jb 0x1400855b2
mov qword [rsp + 0x18], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x20], r9
mov r15, qword [rsp + 8]
mov qword [r13 + 0x10], rax
mov rax, qword [rbp + 0x3f]
mov qword [rbp + 0x3f], rax
mov rax, qword [rsp]
mov qword [rsp], rax
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], r8
mov qword [rsp + 8], r15
jmp 0x1400855b7
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400854d6
mov rsi, qword [rsp + 0x38]
jmp 0x1400855b2
mov rsi, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x10]
mov r15, qword [rsp + 8]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14008574b
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008574b
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 0x14008563e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14008570a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085620
mov r8, r11
and r8d, 7
je 0x14008565c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14008565c
inc rdx
inc rcx
sub r8, 1
jne 0x140085647
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140085733
test r9, r9
je 0x14008574b
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rsp + 0x28]
ja 0x14008574b
mov r10, qword [rbp + 0x3f]
mov ebx, 0xffff
mov r12, qword [rbp + 0x6f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x18]
jb 0x140085758
sub r11d, r9d
mov qword [rsp + 0x18], rax
mov rax, qword [rsp]
mov rcx, r9
inc qword [r13 + 0x10]
mov qword [rsp], rax
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], r8
mov qword [rsp + 8], r15
jmp 0x14008575d
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008565f
mov r14, qword [rbp + 0x67]
jmp 0x140085754
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x20]
mov r10, qword [rbp + 0x3f]
jmp 0x140085761
mov r13, qword [rbp + 0x47]
mov ebx, 0xffff
mov r12, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x20]
mov r10, qword [rbp + 0x3f]
jmp 0x140085761
mov r12, qword [rbp + 0x6f]
mov ebx, 0xffff
mov r10, qword [rbp + 0x3f]
mov rcx, qword [rsp + 0x20]
mov r13, qword [rbp + 0x47]
cmp qword [rsp + 0x18], 0x7e4
jbe 0x140086684
mov r15, qword [rsp + 0x10]
xor r11d, r11d
mov dword [rbp + 0x87], r11d
dec r15
cmp dword [r14 + 4], 5
mov qword [rsp + 0x10], r15
jge 0x14008579e
lea rax, [rcx - 1]
mov r12, r15
cmp rax, r15
cmovb r12, rax
jmp 0x1400857a1
mov r12, r11
mov rdx, qword [rbp - 0x41]
lea rsi, [r13 + 1]
mov rax, qword [rbp - 0x39]
cmp rsi, rdx
mov r8, r10
mov qword [rsp + 0x48], r11
mov r10, qword [rbp + 0x67]
mov r14, rdx
cmovb r14, rsi
mov qword [rsp + 0x40], r11
inc rax
mov dword [rsp + 0x58], r11d
add rax, r13
mov qword [rsp + 0x28], rsi
cmp rax, rdx
mov qword [rsp + 0x30], r14
mov rcx, rdx
mov qword [rbp + 0x3f], r8
cmovb rcx, rax
mov r9d, 0x7e4
mov rax, qword [r10 + 0x50]
mov r11, rsi
mov r10, qword [rbp + 0x57]
mov r13d, r9d
mov qword [rbp - 0x69], rax
mov rax, qword [rbp + 0x6f]
mov qword [rbp - 0x31], rcx
mov rcx, qword [rbp + 0x4f]
mov qword [rsp + 0x50], r9
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x38], rax
mov rax, rsi
and rax, r10
mov qword [rsp + 0x60], rax
lea rdi, [rax + rcx]
imul eax, dword [rax + rcx], 0x1e35a7bd
shr rax, 0x11
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x77]
movsxd rbx, dword [rax]
sub r11, rbx
cmp r11, rsi
jae 0x14008590f
mov qword [rbp + 0x3f], r8
cmp rbx, r14
ja 0x14008590f
and r11, r10
mov qword [rbp + 0x3f], r8
add r11, rcx
mov r9, r15
xor ecx, ecx
shr r9, 3
mov rdx, rdi
test r9, r9
je 0x14008589b
mov r10, r11
mov qword [rbp + 0x3f], r8
sub r10, rdi
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x1400858f9
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140085881
mov r8, r15
and r8d, 7
je 0x1400858c3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400858c3
inc rcx
sub r8, 1
jne 0x1400858b0
mov rax, rcx
cmp rax, 2
jb 0x14008590a
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r13, rcx
jae 0x14008590a
mov r13, rcx
mov qword [rsp + 0x40], rax
mov r12, rax
mov qword [rsp + 0x48], rbx
mov r9, rcx
mov qword [rsp + 0x50], rcx
jmp 0x14008590f
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x1400858c6
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp]
mov rdx, qword [rsp + 0x38]
mov r8, rax
mov rcx, qword [rsp + 0x70]
mov r10, qword [rbp + 0x3f]
movsxd r15, dword [rax]
mov r11, qword [rsp + 8]
sub rsi, r15
movzx eax, si
cmp byte [rax + rdx + 0x30000], cl
jne 0x140085a49
mov qword [rsp + 8], r11
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
cmp rsi, qword [rsp + 0x28]
jae 0x140085a49
mov qword [rsp + 8], r11
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
cmp r15, r14
ja 0x140085a49
and rsi, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rsp + 0x60]
add rax, qword [rbp + 0x4f]
mov r9, qword [rsp + 0x10]
mov rcx, rax
add rsi, qword [rbp + 0x4f]
shr r9, 3
mov qword [rsp + 8], r11
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
test r9, r9
je 0x1400859de
mov r14, rsi
mov qword [rsp + 8], r11
sub r14, rax
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
mov r8, qword [rcx]
mov rax, qword [r14 + rcx]
cmp r8, rax
jne 0x1400859cd
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x1400859b1
jmp 0x1400859de
xor rax, r8
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x140085a07
mov r8, qword [rsp + 0x10]
and r8d, 7
je 0x140085a04
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rsi], al
jne 0x140085a04
inc rcx
inc rdx
sub r8, 1
jne 0x1400859f0
mov rcx, rdx
cmp rcx, 2
jb 0x140085a42
imul rax, rcx, 0x87
add rax, 0x78f
cmp r13, rax
jae 0x140085a42
add rax, 0xffffffffffffffd9
cmp r13, rax
jae 0x140085a42
mov r13, rax
mov qword [rsp + 0x40], rcx
mov r12, rcx
mov qword [rsp + 0x48], r15
mov r9, rax
mov qword [rsp + 0x50], rax
jmp 0x140085a49
mov r9, qword [rsp + 0x50]
jmp 0x140085a49
mov r14, qword [rsp + 0x28]
movsxd r15, dword [r10]
mov rsi, r14
mov rdx, qword [rsp + 0x38]
sub rsi, r15
mov rcx, qword [rsp + 0x70]
mov r11, qword [rsp + 8]
mov r8, qword [rsp]
movzx eax, si
cmp byte [rax + rdx + 0x30000], cl
mov rax, r11
jne 0x140085b8d
mov qword [rsp + 8], rax
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
cmp rsi, r14
jae 0x140085b8d
mov qword [rsp + 8], rax
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
cmp r15, qword [rsp + 0x30]
ja 0x140085b8d
and rsi, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rsp + 0x60]
add rax, qword [rbp + 0x4f]
mov r9, qword [rsp + 0x10]
mov rcx, rax
add rsi, qword [rbp + 0x4f]
shr r9, 3
mov qword [rsp + 8], r11
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
test r9, r9
je 0x140085b1d
mov r14, rsi
mov qword [rsp + 8], r11
sub r14, rax
mov qword [rbp + 0x3f], r10
mov qword [rsp], r8
nop
mov r8, qword [rcx]
mov rax, qword [r14 + rcx]
cmp r8, rax
jne 0x140085b0c
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140085af0
jmp 0x140085b1d
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x140085b3f
mov r8, qword [rsp + 0x10]
and r8d, 7
je 0x140085b3c
movzx eax, byte [rcx]
cmp byte [rdx + rsi], al
jne 0x140085b3c
inc rcx
inc rdx
sub r8, 1
jne 0x140085b28
mov rax, rdx
cmp rax, 2
jb 0x140085b83
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r13, rcx
jae 0x140085b83
add rcx, 0xffffffffffffffd5
cmp r13, rcx
jae 0x140085b83
mov r12, rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 8]
mov r13, rcx
mov qword [rsp + 0x48], r15
mov r9, rcx
movsxd r15, dword [r11]
mov qword [rsp + 0x50], rcx
jmp 0x140085b90
mov rax, qword [rsp + 8]
mov r9, qword [rsp + 0x50]
movsxd r15, dword [rax]
mov r14, qword [rsp + 0x28]
mov rbx, rax
mov rdx, qword [rsp + 0x38]
mov r10, r14
mov rcx, qword [rsp + 0x70]
sub r10, r15
mov r8, qword [rsp]
mov r11, qword [rbp + 0x3f]
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
jne 0x140085ccf
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 8], rbx
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
cmp r10, r14
jae 0x140085cd4
mov qword [rsp + 8], rbx
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
cmp r15, rcx
ja 0x140085cd4
and r10, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rsp + 0x60]
add rax, qword [rbp + 0x4f]
mov r9, qword [rsp + 0x10]
mov rcx, rax
add r10, qword [rbp + 0x4f]
shr r9, 3
mov qword [rsp + 8], rbx
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
test r9, r9
je 0x140085c5a
mov r14, r10
mov qword [rsp + 8], rbx
sub r14, rax
mov qword [rbp + 0x3f], r11
mov qword [rsp], r8
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r14 + rcx]
cmp r8, rax
jne 0x140085cb9
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140085c40
mov r8, qword [rsp + 0x10]
and r8d, 7
je 0x140085c7a
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140085c7a
inc rcx
inc rdx
sub r8, 1
jne 0x140085c65
mov rax, rdx
cmp rax, 2
jb 0x140085cca
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r13, rcx
jae 0x140085cca
add rcx, 0xffffffffffffffd5
cmp r13, rcx
jae 0x140085cca
mov r13, rcx
mov qword [rsp + 0x40], rax
mov r12, rax
mov qword [rsp + 0x48], r15
mov r9, rcx
mov qword [rsp + 0x50], rcx
jmp 0x140085ccf
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x140085c7d
mov r9, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbp + 0x6f]
xor ebx, ebx
mov r8, qword [rsp + 0x70]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
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 0x140085e3f
nop dword [rax]
dec rdi
add rbx, rsi
cmp rbx, rcx
ja 0x140085e3a
mov r11, qword [rbp + 0x57]
lea rax, [r10 + r14*4]
mov r8, qword [rsp + 0x60]
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 0x140085e2c
lea rax, [rcx + r12]
cmp rax, r11
ja 0x140085e2c
mov r11, qword [rbp + 0x4f]
movzx eax, byte [rax + r11]
cmp byte [rdx + r11], al
jne 0x140085e2c
lea r9, [r8 + r11]
xor eax, eax
add r11, rcx
mov rdx, r9
mov rcx, qword [rsp + 0x10]
mov r8, rcx
shr r8, 3
test r8, r8
je 0x140085db3
mov r10, r11
sub r10, r9
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x140085e16
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140085d94
mov rcx, qword [rsp + 0x10]
mov r8, rcx
and r8d, 7
je 0x140085dd3
sub rdx, rax
nop
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x140085dd3
inc rax
sub r8, 1
jne 0x140085dc0
mov rdx, rax
mov r10, qword [rsp + 0x38]
cmp rdx, 4
jb 0x140085e27
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x140085e27
mov r13, rax
mov qword [rsp + 0x40], rdx
mov r12, rdx
mov qword [rsp + 0x48], rbx
mov r9, rax
mov qword [rsp + 0x50], rax
jmp 0x140085e2c
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140085dd6
mov r9, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
test rdi, rdi
jne 0x140085d10
mov r8, qword [rsp + 0x70]
mov r12, qword [rbp + 0x6f]
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 0x1400861e7
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 0x1400861dc
mov r12, qword [rsp + 0x60]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x4f]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rsp + 0x10]
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 0x140086072
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140086072
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 0x140085f6e
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 0x140086052
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140085f50
mov r8, r11
and r8d, 7
je 0x140085f93
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140085f93
inc rcx
sub r8, 1
jne 0x140085f80
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140086066
test r9, r9
je 0x140086066
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x31]
shl rdx, cl
inc r8
add rdx, rsi
mov rsi, qword [rsp + 0x50]
add r8, rdx
cmp r8, qword [rbp - 0x69]
ja 0x14008606b
mov rdx, qword [rsp + 0x10]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140086077
mov rsi, rax
mov qword [rsp + 0x50], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x40], r9
mov r15, qword [rsp + 8]
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov rax, qword [rbp + 0x3f]
mov qword [rbp + 0x3f], rax
mov rax, qword [rsp]
mov qword [rsp], rax
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x48], r8
mov qword [rsp + 8], r15
jmp 0x14008607c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140085f96
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x10]
jmp 0x140086077
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 8]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x14008620d
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008620d
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 0x1400860fe
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400861c8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400860e0
mov r8, r11
and r8d, 7
je 0x14008611c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14008611c
inc rdx
inc rcx
sub r8, 1
jne 0x140086107
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400861fa
test r9, r9
je 0x14008620d
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x31]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x69]
ja 0x14008620d
mov r10, qword [rbp + 0x3f]
mov r12, qword [rbp + 0x6f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140086215
sub r11d, r9d
mov qword [rsp + 0x40], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x58], r11d
mov r11, qword [rsp]
mov qword [rsp], r11
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rax
mov qword [rsp + 8], r15
jmp 0x140086219
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008611f
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
jmp 0x140086211
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
mov r11, qword [rsp]
mov r10, qword [rbp + 0x3f]
jmp 0x14008621e
mov r15, qword [rsp + 0x28]
mov r12, qword [rbp + 0x6f]
mov r11, qword [rsp]
mov r10, qword [rbp + 0x3f]
jmp 0x14008621e
mov r12, qword [rbp + 0x6f]
mov r10, qword [rbp + 0x3f]
mov r11, qword [rsp]
mov r15, qword [rsp + 0x28]
mov rax, qword [rsp + 0x18]
add rax, 0xaf
cmp rsi, rax
jb 0x140086296
mov ecx, dword [rbp + 0x87]
mov r13, r15
movups xmm0, xmmword [rsp + 0x40]
inc qword [rsp + 0x68]
inc ecx
mov qword [rbp + 0x47], r15
mov dword [rbp + 0x87], ecx
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x14008628b
lea rax, [r15 + 4]
cmp rax, qword [rbp - 0x71]
jae 0x14008628b
mov r15, qword [rsp + 0x10]
mov rax, qword [rbp - 0x51]
dec r15
mov rcx, qword [rbp - 0x61]
xor r11d, r11d
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
jmp 0x140085782
mov rdx, qword [rbp - 0x61]
mov qword [rsp + 0x20], rdx
jmp 0x14008629f
mov r13, qword [rbp + 0x47]
mov rdx, qword [rsp + 0x20]
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x41]
mov rbx, qword [rbp - 0x59]
mov rdi, qword [rbp + 0x77]
lea r15, [rax + rdx*2]
mov rax, qword [rbp - 0x39]
add rax, r13
add r15, r13
cmp rax, r9
mov qword [rbp - 0x69], r15
cmovb r9, rax
cmp rbx, r9
ja 0x140086351
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 0x1400862ee
xor r8d, r8d
jmp 0x140086355
cmp rbx, r8
jne 0x1400862fb
mov r8d, 1
jmp 0x140086355
cmp rdx, 7
jae 0x140086316
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140086355
cmp rcx, 7
jae 0x14008632e
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140086355
movsxd rax, dword [r10]
cmp rbx, rax
jne 0x14008633e
mov r8d, 2
jmp 0x140086355
mov rax, qword [rsp + 8]
mov r8d, 3
movsxd rax, dword [rax]
cmp rbx, rax
je 0x140086355
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x140086376
test r8, r8
je 0x140086376
mov eax, dword [r10]
mov rcx, qword [rsp + 8]
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 - 0x79]
mov esi, dword [rbp - 0x49]
mov r15, qword [rsp + 0x20]
mov r11, qword [rsp + 0x68]
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 0x1400863a8
xor edi, edi
jmp 0x140086425
mov r10, qword [rbp + 0x67]
add r8, 0xfffffffffffffff0
mov r11d, dword [r10 + 0x40]
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 + 0x68]
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 - 0x79]
lea r9d, [rsi + r15]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r11, 6
jae 0x140086453
movzx r10d, r11w
mov eax, 0x17
jmp 0x1400864c3
cmp r11, 0x82
jae 0x14008647d
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 0x1400864c3
cmp r11, 0x842
jae 0x14008649a
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x1400864c3
mov eax, 0x17
cmp r11, 0x1842
jae 0x1400864ae
lea r10d, [rax - 2]
jmp 0x1400864c3
cmp r11, 0x5842
jae 0x1400864bf
mov r10d, 0x16
jmp 0x1400864c3
movzx r10d, ax
cmp rdx, 0xa
jae 0x1400864cf
sub dx, 2
jmp 0x14008650d
cmp rdx, 0x86
jae 0x1400864f4
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x14008650d
cmp rdx, 0x846
jae 0x14008650a
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x14008650d
movzx edx, ax
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14008654c
cmp r10w, 8
jae 0x14008654c
cmp dx, 0x10
jae 0x14008654c
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14008657e
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rbp + 0x97]
lea rdi, [r15 + r13]
xor esi, esi
mov word [r14 + 0xc], r9w
add r14, 0x10
mov qword [rsp + 0x68], rsi
mov qword [rbp - 0x79], r14
lea r10, [r13 + 2]
add qword [rax], r11
mov rax, r15
mov r11, qword [rbp - 0x29]
cmp rdi, r11
mov qword [rbp + 0x47], rdi
cmovb r11, rdi
shr rax, 2
cmp rbx, rax
jae 0x1400865e5
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 0x140086678
mov rdi, qword [rbp + 0x4f]
mov r15d, 0xffff
nop dword [rax + rax]
mov r9, qword [r12 + 0x40]
mov rax, r10
and rax, qword [rbp + 0x57]
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, r15
cmova rcx, r15
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 0x140086600
mov rdi, qword [rbp + 0x47]
mov r13, rdi
mov qword [rbp + 0x47], rdi
jmp 0x140086821
mov rsi, qword [rsp + 0x68]
inc r13
mov r15, qword [rbp - 0x69]
inc rsi
mov qword [rsp + 0x68], rsi
mov qword [rbp + 0x47], r13
cmp r13, r15
jbe 0x14008681d
mov rax, qword [rbp - 0x21]
mov r10, qword [rbp - 0x71]
lea rax, [r15 + rax*4]
cmp r13, rax
jbe 0x14008676e
add r10, 0xfffffffffffffffc
lea rax, [r13 + 0x10]
cmp rax, r10
cmovb r10, rax
cmp r13, r10
jae 0x14008681d
mov rax, r10
add rsi, 4
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x68], rsi
nop dword [rax + rax]
mov r9, qword [r12 + 0x40]
mov rax, r13
and rax, qword [rbp + 0x57]
movzx r8d, word [r12 + 0x30]
mov rcx, qword [rbp + 0x4f]
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 0x1400866f0
jmp 0x140086819
add r10, 0xfffffffffffffffd
lea rax, [r13 + 8]
cmp rax, r10
cmovb r10, rax
cmp r13, r10
jae 0x14008681d
mov rax, r10
add rsi, 2
sub rax, r13
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x68], rsi
nop
mov r9, qword [r12 + 0x40]
mov rax, r13
and rax, qword [rbp + 0x57]
movzx r8d, word [r12 + 0x30]
mov rcx, qword [rbp + 0x4f]
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 0x1400867a0
mov qword [rbp + 0x47], r13
mov r14, qword [rbp - 0x79]
mov rcx, qword [rbp - 0x71]
lea rax, [r13 + 4]
mov r8, qword [rbp + 0x4f]
mov r10, qword [rbp + 0x57]
mov rdx, qword [rbp + 0x67]
mov r11, qword [rbp - 0x41]
mov rbx, qword [rbp - 0x39]
cmp rax, rcx
jb 0x140084cf3
mov r15, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
sub r14, qword [rbp - 0x19]
mov rax, qword [rbp - 0x71]
mov rcx, qword [rbp + 0x7f]
sub rax, r13
add rax, rsi
sar r14, 4
mov qword [rcx], rax
mov rax, qword [rbp + 0x8f]
add qword [rax], r14
add rsp, 0xf8
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 r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r11, qword [rbp + 0x6f]
mov rax, rcx
mov r14, qword [rbp + 0x8f]
mov r13, rdx
mov r15d, 1
mov qword [rsp + 0x58], r14
mov r10, r9
mov qword [rbp - 0x11], r14
mov ecx, dword [r11 + 8]
mov r9, r8
mov rdx, qword [r11 + 0x10]
lea r12, [rax + r13]
shl r15, cl
mov rcx, qword [rbp + 0x87]
sub r15, 0x10
mov qword [rsp + 0x50], r15
mov qword [rbp - 0x51], rdx
mov qword [rbp - 0x69], r12
mov rsi, qword [rcx]
mov qword [rsp + 0x28], rsi
cmp rax, 4
jb 0x14008691c
lea rax, [r12 - 3]
mov qword [rbp - 0x29], rax
jmp 0x140086920
mov qword [rbp - 0x29], r13
cmp dword [r11 + 4], 9
mov ecx, 0x40
mov rbx, qword [rbp + 0x7f]
mov eax, 0x200
cmovl eax, ecx
mov qword [rbp - 0x21], rax
add rax, r13
mov qword [rbp - 0x71], 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, [r13 + 4]
cmp rax, r12
jae 0x140088013
lea rax, [rbx + 4]
mov qword [rsp + 0xd8], rdi
mov qword [rbp - 0x59], rax
nop dword [rax]
nop dword [rax + rax]
lea rax, [rdx + r13]
mov qword [rbp - 0x41], 0
mov r8, r12
mov qword [rsp], 0x7e4
sub r8, r13
mov rcx, r15
cmp r13, r15
mov qword [rbp + 0x47], r8
mov rdx, r15
cmovb rcx, r13
cmp rax, r15
mov qword [rsp + 0x10], rcx
mov r15d, 0x7e4
cmovb rdx, rax
mov rax, qword [r11 + 0x50]
mov r11, qword [rbp + 0x4f]
xor edi, edi
mov qword [rbp - 0x79], rax
xor esi, esi
mov rax, r13
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x77]
and rax, r10
imul r14d, dword [rax + r9], 0x1e35a7bd
lea r13, [rax + r9]
mov qword [rsp + 8], rax
mov qword [rsp + 0x18], rdi
mov rdx, qword [rdx + 0x40]
mov qword [rbp + 0x8f], rdx
shr r14, 0x11
mov qword [rbp - 0x61], r14
xor r12d, r12d
mov dword [rbp - 0x31], edi
jmp 0x140086a24
mov r10, qword [rbp + 0x5f]
movsxd rbx, dword [rbx + rsi*4]
sub r11, rbx
test rsi, rsi
je 0x140086a42
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x140086b2f
cmp r11, qword [rbp + 0x4f]
jae 0x140086b2f
cmp rbx, rcx
ja 0x140086b2f
and r11, r10
xor ecx, ecx
add r11, r9
mov rdx, r13
mov r9, r8
shr r9, 3
test r9, r9
je 0x140086aa2
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r8, qword [rdx + r10]
cmp rax, r8
jne 0x140086c35
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140086a80
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x140086ac3
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140086ac3
inc rcx
sub r8, 1
jne 0x140086ab0
mov r8, rcx
cmp r8, 2
jb 0x140086b1b
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x140086b1b
test rsi, rsi
je 0x140086b08
movzx ecx, sil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r15, r9
jae 0x140086b1b
mov r15, r9
mov qword [rsp + 0x18], r8
mov r12, r8
mov qword [rbp - 0x41], rbx
mov qword [rsp], r9
mov r9, qword [rbp + 0x57]
mov r8, qword [rbp + 0x47]
mov rdx, qword [rbp + 0x8f]
mov rcx, qword [rsp + 0x10]
mov rax, qword [rbp - 0x59]
lea rbx, [rsi + 1]
mov r11, qword [rbp + 0x4f]
mov r10, r11
movsxd rdi, dword [rax + rsi*4]
sub r10, rdi
test rbx, rbx
je 0x140086b5c
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x140086c61
cmp r10, r11
jae 0x140086c61
cmp rdi, rcx
ja 0x140086c61
and r10, qword [rbp + 0x5f]
xor edx, edx
add r10, r9
mov rcx, r13
mov r9, r8
shr r9, 3
test r9, r9
je 0x140086bb2
mov r11, r10
sub r11, r13
nop dword [rax]
mov rax, qword [rcx]
mov r8, qword [rcx + r11]
cmp rax, r8
jne 0x140086c49
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140086b90
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x140086bd5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140086bd5
inc rcx
inc rdx
sub r8, 1
jne 0x140086bc0
mov r8, rdx
cmp r8, 2
jb 0x140086c5d
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x140086c5d
test rbx, rbx
je 0x140086c19
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 r15, r9
jae 0x140086c5d
mov r11, qword [rbp + 0x4f]
mov r15, r9
mov r12, r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x41], rdi
mov r10, r9
mov qword [rsp], r9
jmp 0x140086c65
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140086ac6
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140086bd8
mov r11, qword [rbp + 0x4f]
mov r10, qword [rsp]
mov rcx, qword [rsp + 0x10]
add rsi, 2
mov rdx, qword [rbp + 0x8f]
mov r8, qword [rbp + 0x47]
mov r9, qword [rbp + 0x57]
mov rbx, qword [rbp + 0x7f]
cmp rsi, 0xa
jb 0x140086a20
mov rax, qword [rbp + 0x77]
mov rsi, r11
xor ebx, ebx
mov r9, rdx
mov rdi, qword [rax + 0x38]
mov eax, dword [rdx + r14*4]
movzx r14d, word [rdx + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x140086de8
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x10]
ja 0x140086de8
mov r8, qword [rbp + 0x5f]
lea rax, [r9 + r14*4]
mov rdx, qword [rsp + 8]
mov rcx, r11
movzx r14d, word [rax + 0x40002]
sub rcx, rbx
movzx esi, word [rax + 0x40000]
and rcx, r8
add rdx, r12
cmp rdx, r8
ja 0x140086ddf
lea rax, [rcx + r12]
cmp rax, r8
ja 0x140086ddf
mov r8, qword [rbp + 0x57]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x140086ddf
mov rax, qword [rbp + 0x47]
lea r11, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140086d5e
mov r10, r11
sub r10, r13
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140086dca
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140086d40
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x140086d83
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140086d83
inc rcx
sub r8, 1
jne 0x140086d70
mov rdx, rcx
mov r9, qword [rbp + 0x8f]
mov r11, qword [rbp + 0x4f]
cmp rdx, 4
jb 0x140086ddb
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x140086ddb
mov r15, rax
mov qword [rsp + 0x18], rdx
mov r12, rdx
mov qword [rbp - 0x41], rbx
mov r10, rax
mov qword [rsp], rax
jmp 0x140086ddf
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140086d86
mov r10, qword [rsp]
test rdi, rdi
jne 0x140086cb4
mov r8, qword [rbp - 0x61]
mov r13, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x77]
mov rcx, r13
movzx edx, word [r12 + 0x30]
lea eax, [rdx + 1]
mov word [r12 + 0x30], ax
mov eax, dword [r9 + r8*4]
sub rcx, rax
movzx eax, r13w
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], r13d
mov word [r9 + r8*2 + 0x20000], dx
cmp r10, 0x7e4
jne 0x14008716f
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 0x14008716b
mov r12, qword [rsp + 8]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x57]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x47]
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 0x140086ff3
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140086ff3
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 0x140086f1e
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 0x140086fdf
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140086f00
mov r8, r11
and r8d, 7
je 0x140086f43
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140086f43
inc rcx
sub r8, 1
jne 0x140086f30
mov r9, rcx
mov r10, qword [rbp + 0x6f]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140086ffa
test r9, r9
je 0x140086ffa
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x20]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rbp - 0x79]
ja 0x140086fff
mov rdx, qword [rbp + 0x47]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp]
jb 0x140087003
mov qword [rsp], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x18], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x31], r11d
mov qword [rbp - 0x41], r8
jmp 0x140087003
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140086f46
mov rsi, qword [rsp + 0x20]
jmp 0x140087003
mov rsi, qword [rsp + 0x20]
mov rdx, qword [rbp + 0x47]
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 0x140087161
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140087161
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 0x14008708e
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 0x140087147
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140087070
mov r8, r11
and r8d, 7
je 0x1400870ac
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400870ac
inc rdx
inc rcx
sub r8, 1
jne 0x140087097
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140087161
test r9, r9
je 0x140087161
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rbp - 0x79]
ja 0x140087161
mov r12, qword [rbp + 0x77]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rax, rcx
jb 0x14008715b
sub r11d, r9d
mov qword [rbp - 0x41], r8
inc qword [r13 + 0x10]
mov rdx, r9
mov r13, qword [rbp + 0x4f]
mov rcx, rax
mov qword [rsp + 0x18], rdx
mov dword [rbp - 0x31], r11d
mov qword [rsp], rax
jmp 0x14008717c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400870af
mov r13, qword [rbp + 0x4f]
jmp 0x140087177
mov r13, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x77]
jmp 0x140087173
mov r13, qword [rbp + 0x4f]
mov r14, qword [rbp + 0x6f]
mov rcx, qword [rsp]
mov rdx, qword [rsp + 0x18]
cmp rcx, 0x7e4
jbe 0x140087e28
mov dword [rbp + 0x8f], 0
mov r10, qword [rbp + 0x47]
dec r10
cmp dword [r14 + 4], 5
mov qword [rbp + 0x47], r10
jge 0x1400871b5
lea rax, [rdx - 1]
mov r12, r10
cmp rax, r10
cmovb r12, rax
jmp 0x1400871b8
xor r12d, r12d
mov r8, qword [rsp + 0x50]
lea rdi, [r13 + 1]
mov rax, qword [rbp - 0x51]
cmp rdi, r8
mov rcx, r8
mov qword [rsp + 0x38], 0
cmovb rcx, rdi
mov qword [rsp + 8], rdi
inc rax
mov qword [rsp + 0x20], rcx
add rax, r13
mov qword [rsp + 0x30], 0
cmp rax, r8
mov dword [rsp + 0x48], 0
mov rdx, r8
mov r9d, 0x7e4
mov r8, qword [rbp + 0x57]
cmovb rdx, rax
mov rax, qword [r14 + 0x50]
mov r15d, r9d
mov qword [rbp - 0x71], rax
mov rax, qword [rbp + 0x77]
mov qword [rbp - 0x61], rdx
mov qword [rsp + 0x40], r9
mov rdx, qword [rax + 0x40]
mov rax, rdi
and rax, qword [rbp + 0x5f]
imul r14d, dword [rax + r8], 0x1e35a7bd
lea r13, [rax + r8]
mov qword [rsp + 0x10], rdx
mov qword [rbp - 0x79], rax
shr r14, 0x11
mov qword [rbp - 0x19], r14
xor esi, esi
jmp 0x140087269
mov rdi, qword [rsp + 8]
mov r8, qword [rbp + 0x57]
mov rax, qword [rbp + 0x7f]
mov r11, rdi
movsxd rbx, dword [rax + rsi*4]
sub r11, rbx
test rsi, rsi
je 0x14008728e
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x140087383
cmp r11, rdi
jae 0x140087383
cmp rbx, rcx
ja 0x140087383
and r11, qword [rbp + 0x5f]
mov r9, r10
add r11, r8
shr r9, 3
xor ecx, ecx
mov rdx, r13
test r9, r9
je 0x1400872e2
mov r10, r11
sub r10, r13
nop
mov rax, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rax, r8
jne 0x14008735f
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1400872c0
mov r10, qword [rbp + 0x47]
mov r8, r10
and r8d, 7
je 0x140087303
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140087303
inc rcx
sub r8, 1
jne 0x1400872f0
mov r8, rcx
cmp r8, 2
jb 0x140087374
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x140087374
test rsi, rsi
je 0x140087348
movzx ecx, sil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r15, r9
jae 0x140087374
mov r15, r9
mov qword [rsp + 0x30], r8
mov r12, r8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r9
jmp 0x140087379
mov r10, qword [rbp + 0x47]
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140087306
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rbp - 0x59]
lea rbx, [rsi + 1]
mov r8, qword [rsp + 8]
mov r11, r8
movsxd rdi, dword [rax + rsi*4]
sub r11, rdi
test rbx, rbx
je 0x1400873b1
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x1400874af
cmp r11, r8
jae 0x1400874af
cmp rdi, rcx
ja 0x1400874af
and r11, qword [rbp + 0x5f]
mov r9, r10
add r11, qword [rbp + 0x57]
xor edx, edx
shr r9, 3
mov rcx, r13
test r9, r9
je 0x140087412
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r8, qword [r10 + rcx]
cmp rax, r8
jne 0x140087490
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x1400873f0
mov r10, qword [rbp + 0x47]
mov r8, r10
and r8d, 7
je 0x140087435
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140087435
inc rcx
inc rdx
sub r8, 1
jne 0x140087420
mov r8, rdx
cmp r8, 2
jb 0x1400874a5
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x1400874a5
test rbx, rbx
je 0x140087479
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 r15, r9
jae 0x1400874a5
mov r15, r9
mov qword [rsp + 0x30], r8
mov r12, r8
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r9
jmp 0x1400874aa
mov r10, qword [rbp + 0x47]
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140087438
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 8]
mov rcx, qword [rsp + 0x20]
add rsi, 2
mov rdx, qword [rsp + 0x10]
cmp rsi, 0xa
jb 0x140087260
mov rax, qword [rbp + 0x77]
mov rsi, r8
xor ebx, ebx
mov r10, rdx
mov rdi, qword [rax + 0x38]
mov eax, dword [rdx + r14*4]
movzx r14d, word [rdx + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14008761a
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x20]
ja 0x14008761a
mov r11, qword [rbp + 0x5f]
lea rax, [r10 + r14*4]
mov rdx, qword [rbp - 0x79]
mov rcx, r8
movzx r14d, word [rax + 0x40002]
sub rcx, rbx
movzx esi, word [rax + 0x40000]
and rcx, r11
add rdx, r12
cmp rdx, r11
ja 0x140087611
lea rax, [rcx + r12]
cmp rax, r11
ja 0x140087611
mov r11, qword [rbp + 0x57]
movzx eax, byte [rax + r11]
cmp byte [rdx + r11], al
jne 0x140087611
add r11, rcx
xor eax, eax
mov rcx, qword [rbp + 0x47]
mov rdx, r13
mov r9, rcx
shr r9, 3
test r9, r9
je 0x14008758e
mov r10, r11
sub r10, r13
nop
mov rcx, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rcx, r8
jne 0x1400875fb
add rdx, 8
add rax, 8
sub r9, 1
jne 0x140087570
mov rcx, qword [rbp + 0x47]
mov r8, rcx
and r8d, 7
je 0x1400875b3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x1400875b3
inc rax
sub r8, 1
jne 0x1400875a0
mov rdx, rax
mov r10, qword [rsp + 0x10]
mov r8, qword [rsp + 8]
cmp rdx, 4
jb 0x14008760c
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x14008760c
mov r15, rax
mov qword [rsp + 0x30], rdx
mov r12, rdx
mov qword [rsp + 0x38], rbx
mov r9, rax
mov qword [rsp + 0x40], rax
jmp 0x140087611
xor rcx, r8
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x1400875b6
mov r9, qword [rsp + 0x40]
test rdi, rdi
jne 0x1400874f0
mov r8, qword [rbp - 0x19]
mov r15d, 0xffff
mov rbx, qword [rsp + 8]
mov r12, qword [rbp + 0x77]
mov rcx, rbx
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, bx
cmp rcx, r15
cmova rcx, r15
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], ebx
mov word [r10 + r8*2 + 0x20000], dx
cmp r9, 0x7e4
jne 0x140087988
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 0x140087988
mov r12, qword [rbp - 0x79]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x57]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x47]
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 0x140087836
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140087836
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 0x14008774e
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 0x140087817
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140087730
mov r8, r11
and r8d, 7
je 0x140087773
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140087773
inc rcx
sub r8, 1
jne 0x140087760
mov r9, rcx
mov r10, qword [rbp + 0x6f]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008782b
test r9, r9
je 0x14008782b
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x61]
shl rdx, cl
inc r8
add rdx, rsi
mov rsi, qword [rsp + 0x40]
add r8, rdx
cmp r8, qword [rbp - 0x71]
ja 0x140087830
mov rdx, qword [rbp + 0x47]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14008783b
mov rsi, rax
mov qword [rsp + 0x40], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x30], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], r8
jmp 0x14008783b
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140087776
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x47]
jmp 0x14008783b
mov rsi, qword [rsp + 0x40]
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 0x140087993
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140087993
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 0x1400878be
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140087974
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400878a0
mov r8, r11
and r8d, 7
je 0x1400878dc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400878dc
inc rdx
inc rcx
sub r8, 1
jne 0x1400878c7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140087993
test r9, r9
je 0x140087993
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x61]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x71]
ja 0x140087993
mov rbx, qword [rsp + 8]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140087998
sub r11d, r9d
mov qword [rsp + 0x30], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rax
jmp 0x140087998
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400878df
mov rsi, qword [rsp + 0x40]
mov r14, qword [rbp + 0x6f]
jmp 0x140087998
mov rbx, qword [rsp + 8]
mov rax, qword [rsp]
mov r11, qword [rsp + 0x28]
add rax, 0xaf
cmp rsi, rax
jb 0x140087a06
mov ecx, dword [rbp + 0x8f]
inc r11
movups xmm0, xmmword [rsp + 0x30]
inc ecx
mov r13, rbx
mov qword [rbp + 0x4f], rbx
mov qword [rsp + 0x28], r11
mov dword [rbp + 0x8f], ecx
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm1
cmp ecx, 4
jge 0x140087a00
lea rax, [rbx + 4]
cmp rax, qword [rbp - 0x69]
jae 0x140087a00
mov rax, qword [rbp - 0x39]
mov rdx, qword [rbp - 0x49]
mov qword [rsp], rax
mov qword [rsp + 0x18], rdx
jmp 0x140087193
mov r12, qword [rbp - 0x49]
jmp 0x140087a0f
mov r13, qword [rbp + 0x4f]
mov r12, qword [rsp + 0x18]
mov rax, qword [rbp - 0x21]
mov rbx, qword [rbp - 0x41]
mov r10, qword [rbp + 0x7f]
lea r15, [rax + r12*2]
mov rax, qword [rbp - 0x51]
add r15, r13
add rax, r13
mov qword [rbp - 0x71], r15
mov r15, qword [rsp + 0x50]
cmp rax, r15
mov r9, r15
cmovb r9, rax
cmp rbx, r9
ja 0x140087ac9
movsxd rax, dword [r10]
lea rcx, [rbx + 3]
movsxd r8, dword [r10 + 4]
lea rdi, [r10 + 4]
mov rdx, rcx
sub rcx, r8
sub rdx, rax
cmp rbx, rax
jne 0x140087a67
xor r8d, r8d
jmp 0x140087ad1
cmp rbx, r8
jne 0x140087a74
mov r8d, 1
jmp 0x140087ad1
cmp rdx, 7
jae 0x140087a8f
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140087ad1
cmp rcx, 7
jae 0x140087aa7
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140087ad1
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x140087ab8
mov r8d, 2
jmp 0x140087ad1
movsxd rax, dword [r10 + 0xc]
cmp rbx, rax
jne 0x140087acd
mov r8d, 3
jmp 0x140087ad1
mov rdi, qword [rbp - 0x59]
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x140087b1b
test r8, r8
je 0x140087b1b
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [rdi]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [rdi], eax
lea eax, [rbx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rbx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rbx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rbx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rbx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rbx + 3]
mov dword [r10 + 0x24], eax
mov dword [r10], ebx
mov rcx, qword [rsp + 0x58]
mov esi, dword [rbp - 0x31]
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 0x140087b44
xor edi, edi
jmp 0x140087bc1
mov r10, qword [rbp + 0x6f]
add r8, 0xfffffffffffffff0
mov r11d, dword [r10 + 0x40]
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 [rsp + 0x58]
lea edx, [r12 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r11, 6
jae 0x140087bf0
movzx r10d, r11w
mov eax, 0x17
jmp 0x140087c60
cmp r11, 0x82
jae 0x140087c1a
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 0x140087c60
cmp r11, 0x842
jae 0x140087c37
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140087c60
mov eax, 0x17
cmp r11, 0x1842
jae 0x140087c4b
lea r10d, [rax - 2]
jmp 0x140087c60
cmp r11, 0x5842
jae 0x140087c5c
mov r10d, 0x16
jmp 0x140087c60
movzx r10d, ax
cmp r9, 0xa
jae 0x140087c6d
sub r9w, 2
jmp 0x140087cad
cmp r9, 0x86
jae 0x140087c92
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 0x140087cad
cmp r9, 0x846
jae 0x140087ca9
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140087cad
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 0x140087cea
cmp r10w, 8
jae 0x140087cea
cmp r9w, 0x10
jae 0x140087cea
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x140087d1e
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 rdi, [r12 + r13]
xor esi, esi
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x58], r14
lea r10, [r13 + 2]
add qword [rax], r11
mov rax, r12
mov r11, qword [rbp - 0x29]
cmp rdi, r11
mov qword [rbp + 0x4f], rdi
cmovb r11, rdi
shr rax, 2
cmp rbx, rax
jae 0x140087d86
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + r13]
cmp r10, rax
mov eax, 2
cmova r12, rax
lea r10, [r12 + r13]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x140087e1c
mov rdi, qword [rbp + 0x57]
mov r15d, 0xffff
mov rbx, qword [rbp + 0x5f]
nop dword [rax]
mov rcx, qword [rbp + 0x77]
mov rax, r10
and rax, rbx
mov r9, qword [rcx + 0x40]
imul edx, dword [rax + rdi], 0x1e35a7bd
movzx r8d, word [rcx + 0x30]
shr rdx, 0x11
lea eax, [r8 + 1]
mov word [rcx + 0x30], ax
mov rcx, r10
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r10w
cmp rcx, r15
cmova rcx, r15
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 0x140087da0
mov rdi, qword [rbp + 0x4f]
mov r15, qword [rsp + 0x50]
mov r13, rdi
mov qword [rbp + 0x4f], rdi
jmp 0x140087fe6
mov rsi, qword [rsp + 0x28]
inc r13
mov r15, qword [rbp - 0x71]
inc rsi
mov qword [rsp + 0x28], rsi
mov qword [rbp + 0x4f], r13
cmp r13, r15
jbe 0x140087fdc
mov rax, qword [rbp - 0x21]
mov r10, qword [rbp - 0x69]
lea rax, [r15 + rax*4]
cmp r13, rax
jbe 0x140087f1d
add r10, 0xfffffffffffffffc
lea rax, [r13 + 0x10]
cmp rax, r10
cmovb r10, rax
cmp r13, r10
jae 0x140087fdc
mov rbx, qword [rbp + 0x5f]
mov rax, r10
sub rax, r13
add rsi, 4
dec rax
mov edi, 0xffff
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x28], rsi
nop dword [rax + rax]
mov r9, qword [r12 + 0x40]
mov rax, r13
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, qword [rbp + 0x57]
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, rdi
cmova rcx, rdi
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 0x140087ea0
jmp 0x140087fd8
add r10, 0xfffffffffffffffd
lea rax, [r13 + 8]
cmp rax, r10
cmovb r10, rax
cmp r13, r10
jae 0x140087fdc
mov rbx, qword [rbp + 0x5f]
mov rax, r10
sub rax, r13
add rsi, 2
dec rax
mov edi, 0xffff
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x28], rsi
nop word [rax + rax]
mov r9, qword [r12 + 0x40]
mov rax, r13
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, qword [rbp + 0x57]
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, rdi
cmova rcx, rdi
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 0x140087f60
mov qword [rbp + 0x4f], r13
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r12, qword [rbp - 0x69]
lea rax, [r13 + 4]
mov r9, qword [rbp + 0x57]
mov r10, qword [rbp + 0x5f]
mov r11, qword [rbp + 0x6f]
mov rbx, qword [rbp + 0x7f]
mov rdx, qword [rbp - 0x51]
cmp rax, r12
jb 0x140086990
mov rdi, qword [rsp + 0xd8]
mov rax, qword [rbp + 0x87]
sub r12, r13
sub r14, qword [rbp - 0x11]
add r12, rsi
sar r14, 4
mov qword [rax], r12
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 r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe8
mov r15, qword [rbp + 0x87]
mov r10, rcx
mov rax, qword [rbp + 0x6f]
mov rbx, rdx
mov rdx, qword [rbp + 0x67]
add rax, 0x30
mov qword [rsp + 0x10], rax
mov edi, 1
mov rax, qword [rbp + 0x7f]
mov r9, r8
lea r11, [r10 + rbx]
mov qword [rsp + 0x58], r15
mov ecx, dword [rdx + 8]
mov rsi, qword [rdx + 0x10]
mov r14, qword [rax]
shl rdi, cl
sub rdi, 0x10
mov qword [rsp + 0x50], r14
mov qword [rbp - 0x41], rdi
mov qword [rbp - 0x39], rsi
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x71], r11
cmp r10, 4
jb 0x1400880dc
lea rax, [r11 - 3]
mov qword [rbp - 0x29], rax
jmp 0x1400880e0
mov qword [rbp - 0x29], rbx
mov r8, qword [rbp + 0x77]
mov ecx, 0x40
cmp dword [rdx + 4], 9
mov eax, 0x200
cmovl eax, ecx
mov ecx, dword [r8]
mov qword [rbp - 0x21], rax
add rax, rbx
mov qword [rbp - 0x79], rax
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 ecx, dword [r8 + 4]
mov dword [r8 + 0x24], eax
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
lea rax, [rbx + 4]
cmp rax, r11
jae 0x140089db3
lea rax, [r8 + 8]
mov qword [rsp + 0xe0], r12
mov qword [rbp - 0x31], rax
mov qword [rsp + 0xd8], r13
mov r10, qword [rbp + 0x57]
lea rax, [rsi + rbx]
xor r14d, r14d
mov qword [rbp + 0x3f], 0x7e4
mov r8, r11
mov qword [rbp - 0x59], r14
sub r8, rbx
mov qword [rsp + 0x18], r14
cmp rbx, rdi
mov dword [rbp - 0x49], r14d
mov r15, rdi
mov qword [rbp + 0x6f], r14
cmovb r15, rbx
mov qword [rbp + 0x87], r8
cmp rax, rdi
mov qword [rbp - 0x69], r15
mov rcx, rdi
lea esi, [r14 + 2]
mov r14, qword [rbp - 0x31]
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
mov r12d, 0x7e4
mov rdx, qword [rsp + 0x10]
mov qword [rsp + 0x60], rax
mov rax, rbx
and rax, r10
mov qword [rsp + 0x28], rcx
imul ecx, dword [rax + r9], 0x1e35a7bd
lea r13, [rax + r9]
mov rdx, qword [rdx + 0x408]
mov qword [rsp], rdx
mov qword [rsp + 0x20], rax
shr rcx, 0x11
mov qword [rsp + 8], rcx
jmp 0x140088238
mov rcx, qword [rsp + 8]
mov r8, qword [rbp + 0x87]
mov rbx, qword [rbp + 0x47]
mov r9, qword [rbp + 0x4f]
mov r10, qword [rbp + 0x57]
movsxd rdi, dword [r14 - 8]
mov r11, rbx
sub r11, rdi
lea rbx, [rsi - 2]
test rbx, rbx
je 0x14008825c
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14008835b
cmp r11, qword [rbp + 0x47]
jae 0x14008835b
cmp rdi, r15
ja 0x14008835b
and r11, r10
xor ecx, ecx
add r11, r9
mov rdx, r13
mov r9, r8
shr r9, 3
test r9, r9
je 0x1400882b5
mov r10, r11
sub r10, r13
nop dword [rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x140088336
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140088290
mov r8, qword [rbp + 0x87]
and r8d, 7
je 0x1400882d3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400882d3
inc rcx
sub r8, 1
jne 0x1400882c0
mov r8, rcx
cmp r8, 2
jb 0x140088347
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x140088347
test rbx, rbx
je 0x140088312
movzx ecx, bl
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 + 8]
mov rdx, qword [rsp]
cmp r12, r9
jae 0x140088350
mov r12, r9
mov qword [rbp + 0x6f], r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x59], rdi
mov qword [rbp + 0x3f], r9
jmp 0x140088350
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x1400882d6
mov rdx, qword [rsp]
mov rcx, qword [rsp + 8]
mov r9, qword [rbp + 0x4f]
mov r8, qword [rbp + 0x87]
movsxd rdi, dword [r14 - 4]
lea rbx, [rsi - 1]
mov r11, qword [rbp + 0x47]
sub r11, rdi
test rbx, rbx
je 0x140088380
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14008845d
cmp r11, qword [rbp + 0x47]
jae 0x14008845d
cmp rdi, r15
ja 0x14008845d
and r11, qword [rbp + 0x57]
xor edx, edx
add r11, r9
mov rcx, r13
mov r9, r8
shr r9, 3
test r9, r9
je 0x1400883e5
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x14008867d
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x1400883c0
mov r8, qword [rbp + 0x87]
and r8d, 7
je 0x140088405
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140088405
inc rcx
inc rdx
sub r8, 1
jne 0x1400883f0
mov r8, rdx
cmp r8, 2
jb 0x14008845d
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14008845d
test rbx, rbx
je 0x140088449
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 r12, r9
jae 0x14008845d
mov r12, r9
mov qword [rbp + 0x6f], r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x59], rdi
mov qword [rbp + 0x3f], r9
mov r8, qword [rbp + 0x47]
movsxd rbx, dword [r14]
mov r10, r8
sub r10, rbx
test rsi, rsi
je 0x140088489
mov rdx, qword [rsp]
mov rcx, qword [rsp + 8]
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], cl
jne 0x140088565
cmp r10, r8
jae 0x140088565
cmp rbx, r15
ja 0x140088565
and r10, qword [rbp + 0x57]
xor edx, edx
mov rdi, qword [rbp + 0x87]
mov rcx, r13
add r10, qword [rbp + 0x4f]
mov r9, rdi
shr r9, 3
test r9, r9
je 0x1400884ee
mov r11, r10
sub r11, r13
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x140088691
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x1400884d0
mov r8, rdi
and r8d, 7
je 0x14008850c
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14008850c
inc rcx
inc rdx
sub r8, 1
jne 0x1400884f7
mov r8, rdx
cmp r8, 2
jb 0x140088565
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x140088565
test rsi, rsi
je 0x140088551
movzx ecx, sil
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 0x140088565
mov r12, r9
mov qword [rbp + 0x6f], r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x59], rbx
mov qword [rbp + 0x3f], r9
mov r10, qword [rbp + 0x47]
lea rbx, [rsi + 1]
movsxd rdi, dword [r14 + 4]
mov r11, r10
sub r11, rdi
test rbx, rbx
je 0x140088596
mov rdx, qword [rsp]
mov rcx, qword [rsp + 8]
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], cl
jne 0x1400886b9
cmp r11, r10
jae 0x1400886b9
cmp rdi, r15
ja 0x1400886b9
and r11, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rbp + 0x87]
mov rcx, r13
add r11, qword [rbp + 0x4f]
mov r9, rax
shr r9, 3
test r9, r9
je 0x1400885f5
mov r10, r11
sub r10, r13
nop
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x1400886a5
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x1400885d0
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x140088615
nop
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140088615
inc rcx
inc rdx
sub r8, 1
jne 0x140088600
mov r8, rdx
cmp r8, 2
jb 0x1400886b9
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x1400886b9
test rbx, rbx
je 0x140088661
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 r12, r9
jae 0x1400886b9
mov r12, r9
mov qword [rbp + 0x6f], r8
mov r10, r8
mov qword [rsp + 0x18], r8
mov qword [rbp - 0x59], rdi
mov r11, r9
mov qword [rbp + 0x3f], r9
jmp 0x1400886c1
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140088408
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14008850f
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140088618
mov r11, qword [rbp + 0x3f]
mov r10, qword [rbp + 0x6f]
mov rdx, qword [rsp]
add rsi, 4
add r14, 0x10
lea rax, [rsi - 2]
cmp rax, 0x10
jb 0x140088220
mov r8, qword [rsp + 8]
mov r9, rdx
mov rax, qword [rsp + 0x10]
mov r14, r8
and r14d, 0x1ff
xor ebx, ebx
movzx r15d, word [r9 + r8*2 + 0x20000]
mov rdi, qword [rax + 0x400]
mov eax, dword [rdx + r8*4]
mov rdx, qword [rbp + 0x47]
mov rsi, rdx
sub rsi, rax
test rdi, rdi
je 0x140088862
nop dword [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rbp - 0x69]
ja 0x14008885d
mov r8, qword [rbp + 0x57]
mov rcx, rdx
sub rcx, rbx
mov rax, r14
shl rax, 9
and rcx, r8
add rax, r15
movzx r15d, word [r9 + rax*4 + 0x40002]
movzx esi, word [r9 + rax*4 + 0x40000]
mov rax, qword [rsp + 0x20]
lea rdx, [r10 + rax]
cmp rdx, r8
ja 0x140088850
lea rax, [rcx + r10]
cmp rax, r8
ja 0x140088850
mov r8, qword [rbp + 0x4f]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x140088850
mov rax, qword [rbp + 0x87]
lea r11, [rcx + r8]
mov r9, rax
xor ecx, ecx
shr r9, 3
mov rdx, r13
test r9, r9
je 0x1400887d1
mov r10, r11
sub r10, r13
nop dword [rax]
mov rax, qword [rdx]
mov r8, qword [rdx + r10]
cmp rax, r8
jne 0x140088837
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1400887b0
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x1400887f3
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400887f3
inc rcx
sub r8, 1
jne 0x1400887e0
mov rdx, rcx
mov r9, qword [rsp]
cmp rdx, 4
jb 0x140088848
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x140088848
mov r12, rax
mov qword [rbp + 0x6f], rdx
mov r10, rdx
mov qword [rsp + 0x18], rdx
mov qword [rbp - 0x59], rbx
mov r11, rax
mov qword [rbp + 0x3f], rax
jmp 0x140088850
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400887f6
mov r11, qword [rbp + 0x3f]
mov r10, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x47]
test rdi, rdi
jne 0x140088720
mov r8, qword [rsp + 8]
mov rbx, qword [rbp + 0x47]
mov esi, 0xffff
mov r12, qword [rsp + 0x10]
mov rcx, rbx
movzx eax, word [r12 + r14*2]
mov edx, eax
inc ax
mov word [r12 + r14*2], ax
and edx, 0x1ff
mov eax, dword [r9 + r8*4]
sub rcx, rax
movzx eax, bx
cmp rcx, rsi
cmova rcx, rsi
shl r14, 9
mov byte [rax + r9 + 0x30000], r8b
add r14, rdx
mov word [r9 + r14*4 + 0x40000], cx
movzx eax, word [r9 + r8*2 + 0x20000]
mov word [r9 + r14*4 + 0x40002], ax
mov dword [r9 + r8*4], ebx
mov word [r9 + r8*2 + 0x20000], dx
cmp r11, 0x7e4
jne 0x140088bec
mov r13, qword [r12 + 0x410]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x140088bec
mov r12, qword [rsp + 0x20]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x4f]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x140088a77
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140088a77
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 0x14008899e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140088a63
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140088980
mov r8, r11
and r8d, 7
je 0x1400889c3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x1400889c3
inc rcx
sub r8, 1
jne 0x1400889b0
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140088a7e
test r9, r9
je 0x140088a7e
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x28]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rsp + 0x60]
ja 0x140088a83
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rbp + 0x3f]
jb 0x140088a8a
mov qword [rbp + 0x3f], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x18], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], r8
jmp 0x140088a8a
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400889c6
mov rsi, qword [rsp + 0x28]
jmp 0x140088a8a
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rbp + 0x87]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140088bdc
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140088bdc
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 0x140088b0e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140088bc8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140088af0
mov r8, r11
and r8d, 7
je 0x140088b2c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140088b2c
inc rdx
inc rcx
sub r8, 1
jne 0x140088b17
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140088bdc
test r9, r9
je 0x140088bdc
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rsp + 0x60]
ja 0x140088bdc
mov rbx, qword [rbp + 0x47]
mov esi, 0xffff
mov r12, qword [rsp + 0x10]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rbp + 0x3f]
jb 0x140088bf0
sub r11d, r9d
mov qword [rbp - 0x59], r8
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x18], rcx
mov dword [rbp - 0x49], r11d
mov qword [rbp + 0x3f], rax
jmp 0x140088bf5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140088b2f
mov rbx, qword [rbp + 0x47]
mov esi, 0xffff
mov r12, qword [rsp + 0x10]
jmp 0x140088bf0
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x18]
cmp qword [rbp + 0x3f], 0x7e4
jbe 0x140089b9f
mov dword [rbp + 0x6f], 0
mov r10, qword [rbp + 0x87]
dec r10
cmp dword [r14 + 4], 5
mov qword [rbp + 0x87], r10
jge 0x140088c32
lea rax, [rcx - 1]
mov r13, r10
cmp rax, r10
cmovb r13, rax
jmp 0x140088c35
xor r13d, r13d
mov r8, qword [rbp - 0x41]
lea r11, [rbx + 1]
mov rax, qword [rbp - 0x39]
cmp r11, r8
mov r9, qword [rbp + 0x4f]
mov rcx, r8
cmovb rcx, r11
mov qword [rsp + 0x38], 0
inc rax
mov qword [rsp], r11
add rax, rbx
mov qword [rsp + 0x20], rcx
cmp rax, r8
mov qword [rsp + 0x30], 0
mov rdx, r8
mov dword [rsp + 0x48], 0
mov r8, qword [r12 + 0x408]
cmovb rdx, rax
mov rax, qword [r14 + 0x50]
mov esi, 0x7e4
mov r14, qword [rbp - 0x31]
mov r12d, 0x7e4
mov qword [rbp - 0x79], rax
mov rax, r11
and rax, qword [rbp + 0x57]
mov qword [rbp - 0x69], rdx
lea r15, [rax + r9]
imul edx, dword [r15], 0x1e35a7bd
mov qword [rsp + 0x40], rsi
mov esi, 2
mov qword [rsp + 8], r8
mov qword [rsp + 0x60], rax
shr rdx, 0x11
mov qword [rsp + 0x28], rdx
jmp 0x140088cee
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rbp + 0x4f]
movsxd rdi, dword [r14 - 8]
lea rbx, [rsi - 2]
sub r11, rdi
test rbx, rbx
je 0x140088d10
movzx eax, r11w
cmp byte [rax + r8 + 0x30000], dl
jne 0x140088e20
cmp r11, qword [rsp]
jae 0x140088e20
cmp rdi, rcx
ja 0x140088e20
and r11, qword [rbp + 0x57]
xor ecx, ecx
add r11, r9
mov rdx, r15
mov r9, r10
shr r9, 3
test r9, r9
je 0x140088d75
mov r10, r11
sub r10, r15
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x140088df9
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140088d50
mov r10, qword [rbp + 0x87]
mov r8, r10
and r8d, 7
je 0x140088d94
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140088d94
inc rcx
sub r8, 1
jne 0x140088d81
mov r9, rcx
cmp r9, 2
jb 0x140088e11
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x140088e11
test rbx, rbx
je 0x140088dd3
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r8, rax
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
cmp r12, r8
jae 0x140088e1b
mov r12, r8
mov qword [rsp + 0x30], r9
mov r13, r9
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r8
jmp 0x140088e1b
mov r10, qword [rbp + 0x87]
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140088d97
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov r8, qword [rsp + 8]
movsxd rdi, dword [r14 - 4]
lea rbx, [rsi - 1]
mov r11, qword [rsp]
sub r11, rdi
test rbx, rbx
je 0x140088e46
movzx eax, r11w
cmp byte [rax + r8 + 0x30000], dl
jne 0x140088f1e
cmp r11, qword [rsp]
jae 0x140088f1e
cmp rdi, rcx
ja 0x140088f1e
and r11, qword [rbp + 0x57]
mov r9, r10
add r11, qword [rbp + 0x4f]
xor edx, edx
shr r9, 3
mov rcx, r15
test r9, r9
je 0x140088ea5
mov r10, r11
sub r10, r15
nop dword [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x140089148
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140088e80
mov r10, qword [rbp + 0x87]
mov r8, r10
and r8d, 7
je 0x140088ec5
nop
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140088ec5
inc rcx
inc rdx
sub r8, 1
jne 0x140088eb0
mov r8, rdx
cmp r8, 2
jb 0x140088f1e
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x140088f1e
test rbx, rbx
je 0x140088f09
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 r12, r9
jae 0x140088f1e
mov r12, r9
mov qword [rsp + 0x30], r8
mov r13, r8
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r9
mov rdi, qword [rsp]
movsxd rbx, dword [r14]
mov r11, rdi
sub r11, rbx
test rsi, rsi
je 0x140088f4b
mov rdx, qword [rsp + 8]
mov rcx, qword [rsp + 0x28]
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], cl
jne 0x14008902f
mov rcx, qword [rsp + 0x20]
cmp r11, rdi
jae 0x140089034
cmp rbx, rcx
ja 0x140089034
and r11, qword [rbp + 0x57]
mov r9, r10
add r11, qword [rbp + 0x4f]
xor edx, edx
shr r9, 3
mov rax, r15
test r9, r9
je 0x140088fb5
mov r10, r11
sub r10, r15
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rax]
mov rcx, qword [r10 + rax]
cmp r8, rcx
jne 0x140089163
add rax, 8
add rdx, 8
sub r9, 1
jne 0x140088f90
mov r10, qword [rbp + 0x87]
mov r8, r10
and r8d, 7
je 0x140088fd5
nop
movzx ecx, byte [rax]
cmp byte [rdx + r11], cl
jne 0x140088fd5
inc rax
inc rdx
sub r8, 1
jne 0x140088fc0
mov r8, rdx
cmp r8, 2
jb 0x14008902f
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14008902f
test rsi, rsi
je 0x14008901a
movzx ecx, sil
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 0x14008902f
mov r12, r9
mov qword [rsp + 0x30], r8
mov r13, r8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r9
mov rcx, qword [rsp + 0x20]
mov r8, qword [rsp]
lea rbx, [rsi + 1]
movsxd rdi, dword [r14 + 4]
mov r11, r8
sub r11, rdi
test rbx, rbx
je 0x140089067
mov r9, qword [rsp + 8]
mov rdx, qword [rsp + 0x28]
movzx eax, r11w
cmp byte [rax + r9 + 0x30000], dl
jne 0x140089199
cmp r11, r8
jae 0x140089199
cmp rdi, rcx
ja 0x140089199
and r11, qword [rbp + 0x57]
mov r9, r10
add r11, qword [rbp + 0x4f]
xor edx, edx
shr r9, 3
mov rcx, r15
test r9, r9
je 0x1400890c5
mov r10, r11
sub r10, r15
nop dword [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x14008917e
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x1400890a0
mov r10, qword [rbp + 0x87]
mov r8, r10
and r8d, 7
je 0x1400890e5
nop
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400890e5
inc rcx
inc rdx
sub r8, 1
jne 0x1400890d0
mov r8, rdx
cmp r8, 2
jb 0x140089199
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x140089199
test rbx, rbx
je 0x140089131
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 r12, r9
jae 0x140089199
mov r12, r9
mov qword [rsp + 0x30], r8
mov r13, r8
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r9
jmp 0x14008919e
mov r10, qword [rbp + 0x87]
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140088ec8
mov r10, qword [rbp + 0x87]
xor rcx, r8
tzcnt r8, rcx
shr r8, 3
add r8, rdx
jmp 0x140088fd8
mov r10, qword [rbp + 0x87]
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400890e8
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 8]
add rsi, 4
mov r11, qword [rsp]
add r14, 0x10
lea rax, [rsi - 2]
cmp rax, 0x10
jb 0x140088ce0
mov r8, qword [rsp + 0x28]
mov rsi, r11
mov rax, qword [rsp + 0x10]
mov r14, r8
mov r10, qword [rsp + 8]
and r14d, 0x1ff
xor ebx, ebx
mov rdi, qword [rax + 0x400]
mov eax, dword [r10 + r8*4]
movzx r15d, word [r10 + r8*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x14008934e
nop dword [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x20]
ja 0x140089349
mov r8, qword [rsp + 0x60]
mov rax, r14
shl rax, 9
mov rcx, r11
add rax, r15
sub rcx, rbx
and rcx, qword [rbp + 0x57]
lea rdx, [r8 + r13]
movzx r15d, word [r10 + rax*4 + 0x40002]
movzx esi, word [r10 + rax*4 + 0x40000]
cmp rdx, qword [rbp + 0x57]
ja 0x140089340
lea rax, [rcx + r13]
cmp rax, qword [rbp + 0x57]
ja 0x140089340
mov r11, qword [rbp + 0x4f]
movzx eax, byte [rax + r11]
cmp byte [rdx + r11], al
mov r11, qword [rsp]
jne 0x140089340
mov r9, qword [rbp + 0x4f]
lea rax, [r8 + r9]
lea r11, [rcx + r9]
mov rdx, rax
mov r9, qword [rbp + 0x87]
xor ecx, ecx
shr r9, 3
test r9, r9
je 0x1400892ba
mov r10, r11
sub r10, rax
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x14008932a
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1400892a0
mov r8, qword [rbp + 0x87]
and r8d, 7
je 0x1400892e3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400892e3
inc rcx
sub r8, 1
jne 0x1400892d0
mov rdx, rcx
mov r11, qword [rsp]
mov r10, qword [rsp + 8]
cmp rdx, 4
jb 0x14008933b
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14008933b
mov r12, rax
mov qword [rsp + 0x30], rdx
mov r13, rdx
mov qword [rsp + 0x38], rbx
mov r9, rax
mov qword [rsp + 0x40], rax
jmp 0x140089340
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400892e6
mov r9, qword [rsp + 0x40]
test rdi, rdi
jne 0x140089200
mov r8, qword [rsp + 0x28]
mov r12, qword [rsp + 0x10]
mov rcx, r11
movzx eax, word [r12 + r14*2]
mov edx, eax
inc ax
mov word [r12 + r14*2], ax
and edx, 0x1ff
mov eax, dword [r10 + r8*4]
sub rcx, rax
movzx eax, r11w
mov byte [rax + r10 + 0x30000], r8b
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
shl r14, 9
add r14, rdx
mov word [r10 + r14*4 + 0x40000], cx
movzx eax, word [r10 + r8*2 + 0x20000]
mov word [r10 + r14*4 + 0x40002], ax
mov dword [r10 + r8*4], r11d
mov word [r10 + r8*2 + 0x20000], dx
cmp r9, 0x7e4
jne 0x1400896c8
mov r13, qword [r12 + 0x410]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x1400896c8
mov r12, qword [rsp + 0x60]
lea r14, [rcx + 1]
add r12, qword [rbp + 0x4f]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x14008957c
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14008957c
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 0x14008948e
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 0x14008955a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140089470
mov r8, r11
and r8d, 7
je 0x1400894b3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x1400894b3
inc rcx
sub r8, 1
jne 0x1400894a0
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008956e
test r9, r9
je 0x14008956e
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x69]
shl rdx, cl
inc r8
add rdx, rsi
mov rsi, qword [rsp + 0x40]
add r8, rdx
cmp r8, qword [rbp - 0x79]
ja 0x140089573
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140089581
mov rsi, rax
mov qword [rsp + 0x40], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x30], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], r8
jmp 0x140089581
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400894b6
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x87]
jmp 0x140089581
mov rsi, qword [rsp + 0x40]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x1400896d3
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400896d3
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 0x1400895fe
mov r10, r12
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400896b4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400895e0
mov r8, r11
and r8d, 7
je 0x14008961c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14008961c
inc rdx
inc rcx
sub r8, 1
jne 0x140089607
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400896d3
test r9, r9
je 0x1400896d3
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x69]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x79]
ja 0x1400896d3
mov r12, qword [rsp + 0x10]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x1400896d8
sub r11d, r9d
mov qword [rsp + 0x30], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rax
jmp 0x1400896d8
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008961f
mov rsi, qword [rsp + 0x40]
mov r14, qword [rbp + 0x67]
jmp 0x1400896d8
mov r12, qword [rsp + 0x10]
mov rax, qword [rbp + 0x3f]
mov r13, qword [rsp + 0x50]
add rax, 0xaf
cmp rsi, rax
jb 0x140089741
mov ecx, dword [rbp + 0x6f]
inc r13
movups xmm0, xmmword [rsp + 0x30]
mov rbx, qword [rsp]
inc ecx
mov qword [rbp + 0x47], rbx
mov qword [rsp + 0x50], r13
mov dword [rbp + 0x6f], ecx
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x14008973b
lea rax, [rbx + 4]
cmp rax, qword [rbp - 0x71]
jae 0x14008973b
mov r13, qword [rbp - 0x51]
mov rcx, qword [rbp - 0x61]
mov qword [rbp + 0x3f], r13
mov qword [rsp + 0x18], rcx
jmp 0x140088c0a
mov r12, qword [rbp - 0x61]
jmp 0x14008974a
mov rbx, qword [rbp + 0x47]
mov r12, qword [rsp + 0x18]
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x41]
mov r10, qword [rbp + 0x77]
lea r15, [rax + r12*2]
mov rax, qword [rbp - 0x39]
add rax, rbx
add r15, rbx
mov rbx, qword [rbp - 0x59]
cmp rax, r9
mov qword [rbp - 0x79], r15
cmovb r9, rax
cmp rbx, r9
ja 0x1400897f6
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 0x140089796
xor r8d, r8d
jmp 0x1400897fa
cmp rbx, r8
jne 0x1400897a3
mov r8d, 1
jmp 0x1400897fa
cmp rdx, 7
jae 0x1400897be
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400897fa
cmp rcx, 7
jae 0x1400897d6
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400897fa
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x1400897e7
mov r8d, 2
jmp 0x1400897fa
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x1400897fa
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x140089872
test r8, r8
je 0x140089872
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, [rbx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rbx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rbx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rbx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rbx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rbx + 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], ebx
mov r15, qword [rsp + 0x58]
mov esi, dword [rbp - 0x49]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [r15], r13d
mov dword [r15 + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x14008989c
xor edi, edi
jmp 0x140089914
mov r10, qword [rbp + 0x67]
add r8, 0xfffffffffffffff0
mov r11d, dword [r10 + 0x40]
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
sub rdi, rax
shl r8, cl
add r8w, 0x10
shr rdi, cl
mov eax, 1
shl ax, cl
dec ax
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r15 + 0xe], r8w
lea edx, [r12 + rsi]
mov eax, 0x3ff
mov dword [r15 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r13, 6
jae 0x14008993e
movzx r10d, r13w
mov eax, 0x17
jmp 0x1400899ae
cmp r13, 0x82
jae 0x140089968
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x1400899ae
cmp r13, 0x842
jae 0x140089985
lea eax, [r13 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x1400899ae
mov eax, 0x17
cmp r13, 0x1842
jae 0x140089999
lea r10d, [rax - 2]
jmp 0x1400899ae
cmp r13, 0x5842
jae 0x1400899aa
mov r10d, 0x16
jmp 0x1400899ae
movzx r10d, ax
cmp r9, 0xa
jae 0x1400899bb
sub r9w, 2
jmp 0x1400899fb
cmp r9, 0x86
jae 0x1400899e0
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 0x1400899fb
cmp r9, 0x846
jae 0x1400899f7
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1400899fb
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 0x140089a38
cmp r10w, 8
jae 0x140089a38
cmp r9w, 0x10
jae 0x140089a38
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x140089a6c
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 rcx, qword [rbp + 0x47]
xor r14d, r14d
mov rax, qword [rbp + 0x97]
mov rdi, qword [rbp - 0x29]
mov word [r15 + 0xc], dx
add r15, 0x10
lea rsi, [r12 + rcx]
mov qword [rsp + 0x58], r15
add qword [rax], r13
lea r11, [rcx + 2]
cmp rsi, rdi
mov qword [rsp + 0x50], r14
mov rax, r12
mov qword [rbp + 0x47], rsi
cmovb rdi, rsi
shr rax, 2
cmp rbx, rax
jae 0x140089ad9
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + rcx]
cmp r11, rax
mov eax, 2
cmova r12, rax
lea r11, [rcx + r12]
cmp rdi, r11
cmovb r11, rdi
cmp r11, rdi
jae 0x140089b93
mov rsi, qword [rbp + 0x4f]
mov r15d, 0xffff
mov r14, qword [rsp + 0x10]
mov r10, qword [r14 + 0x408]
mov rax, r11
and rax, qword [rbp + 0x57]
mov rdx, r11
imul eax, dword [rax + rsi], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [r14 + rcx*2]
mov r8d, eax
inc ax
mov word [r14 + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, r11w
cmp rdx, r15
cmova rdx, r15
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, rdi
jb 0x140089af1
mov rsi, qword [rbp + 0x47]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov rbx, rsi
mov qword [rbp + 0x47], rbx
jmp 0x140089d82
mov r14, qword [rsp + 0x50]
inc rbx
mov r15, qword [rbp - 0x79]
inc r14
mov qword [rsp + 0x50], r14
mov qword [rbp + 0x47], rbx
cmp rbx, r15
jbe 0x140089d7d
mov rax, qword [rbp - 0x21]
mov r11, qword [rbp - 0x71]
lea rax, [r15 + rax*4]
cmp rbx, rax
jbe 0x140089cae
add r11, 0xfffffffffffffffc
lea rax, [rbx + 0x10]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x140089d7d
mov rax, r11
add r14, 4
sub rax, rbx
dec rax
and rax, 0xfffffffffffffffc
add r14, rax
mov qword [rsp + 0x50], r14
nop word [rax + rax]
mov r10, qword [r12 + 0x408]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov rdx, rbx
mov rcx, qword [rbp + 0x4f]
imul eax, dword [rax + rcx], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [r12 + rcx*2]
mov r8d, eax
inc ax
mov word [r12 + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, bx
cmp rdx, rsi
cmova rdx, rsi
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], ebx
add rbx, 4
mov word [r10 + r9*2 + 0x20000], r8w
cmp rbx, r11
jb 0x140089c10
jmp 0x140089d79
add r11, 0xfffffffffffffffd
lea rax, [rbx + 8]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x140089d7d
mov rax, r11
add r14, 2
sub rax, rbx
dec rax
and rax, 0xfffffffffffffffe
add r14, rax
mov qword [rsp + 0x50], r14
nop
mov r10, qword [r12 + 0x408]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov rdx, rbx
mov rcx, qword [rbp + 0x4f]
imul eax, dword [rax + rcx], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [r12 + rcx*2]
mov r8d, eax
inc ax
mov word [r12 + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, bx
cmp rdx, rsi
cmova rdx, rsi
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], ebx
add rbx, 2
mov word [r10 + r9*2 + 0x20000], r8w
cmp rbx, r11
jb 0x140089ce0
mov qword [rbp + 0x47], rbx
mov r15, qword [rsp + 0x58]
mov r11, qword [rbp - 0x71]
lea rax, [rbx + 4]
mov r9, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x67]
mov rdi, qword [rbp - 0x41]
mov rsi, qword [rbp - 0x39]
cmp rax, r11
jb 0x140088180
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rax, qword [rbp + 0x7f]
sub r11, rbx
sub r15, qword [rbp - 0x19]
add r11, r14
sar r15, 4
mov qword [rax], r11
mov rax, qword [rbp + 0x8f]
add qword [rax], r15
add rsp, 0xe8
pop r15
pop r14
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 rdi
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov r8, qword [rbp + 0x67]
mov rax, rcx
mov r14, qword [rbp + 0x87]
mov r10d, 1
mov r15, qword [rbp + 0x6f]
mov rbx, rdx
add rdx, rax
mov qword [rbp + 0x3f], r15
mov ecx, dword [r8 + 8]
mov r11, r9
mov rdi, qword [r8 + 0x10]
mov r9, qword [rbp + 0x77]
shl r10, cl
mov rcx, qword [rbp + 0x7f]
sub r10, 0x10
mov qword [rbp - 0x69], r10
mov qword [rbp - 0x61], rdi
mov qword [rsp + 0x38], r14
mov rsi, qword [rcx]
mov qword [rsp + 0x30], rsi
mov qword [rbp - 0x21], r14
mov qword [rsp + 0x68], rdx
cmp rax, 4
jb 0x140089e7d
add rdx, 0xfffffffffffffffd
mov qword [rbp - 0x31], rdx
jmp 0x140089e81
mov qword [rbp - 0x31], rbx
cmp dword [r8 + 4], 9
mov eax, 0x200
mov edx, dword [r15 + 0x4c]
mov ecx, 0x40
cmovl eax, ecx
mov qword [rbp - 0x29], rax
add rax, rbx
mov qword [rsp + 0x70], rax
cmp edx, 4
jle 0x140089f08
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
cmp edx, 0xa
jle 0x140089f08
mov ecx, dword [r9 + 4]
lea eax, [rcx - 1]
mov dword [r9 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x3c], eax
mov rcx, qword [rsp + 0x68]
lea rax, [rbx + 4]
cmp rax, rcx
jae 0x14008b377
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe8], r13
nop word [rax + rax]
mov r13, qword [rbp + 0x3f]
lea rax, [rdi + rbx]
mov r15, qword [r15 + 0x58]
mov r12, rcx
sub r12, rbx
mov qword [rsp + 0x28], 0x7e4
cmp rbx, r10
mov qword [rbp + 0x87], r12
movsxd rsi, dword [r13 + 0x4c]
mov r9, r10
mov r14, qword [r13 + 0x60]
cmovb r9, rbx
cmp rax, r10
mov qword [rsp + 8], r9
mov rcx, r10
mov qword [rbp - 0x71], r15
cmovb rcx, rax
mov qword [rbp - 0x79], r14
mov rax, qword [r8 + 0x50]
xor edi, edi
mov r8, rbx
mov qword [rsp + 0x20], rcx
and r8, r11
mov qword [rbp - 0x49], rdi
mov qword [rsp + 0x40], rax
mov ecx, 0x7e4
mov qword [rsp], r8
mov ebx, edi
mov qword [rsp + 0x10], rdi
mov r10d, edi
mov dword [rbp - 0x39], edi
mov qword [rsp + 0x18], rcx
mov qword [rbp + 0x6f], rdi
test rsi, rsi
je 0x14008a143
mov r14, qword [rbp + 0x4f]
mov r15, r8
mov rax, qword [rbp + 0x47]
mov r13, qword [rbp + 0x77]
mov qword [rsp + 0x18], rcx
mov qword [rbp + 0x6f], rdi
nop word [rax + rax]
movsxd rdi, dword [r13 + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x14008a125
cmp rdi, r9
ja 0x14008a125
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x14008a125
lea rax, [rcx + r10]
cmp rax, r11
ja 0x14008a121
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x14008a121
mov r8, r12
lea r11, [rcx + r14]
shr r8, 3
lea rdx, [r15 + r14]
xor ecx, ecx
test r8, r8
je 0x14008a06e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008a103
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008a050
mov r8, r12
and r8d, 7
je 0x14008a093
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14008a093
inc rcx
sub r8, 1
jne 0x14008a080
mov r8, rcx
cmp r8, 3
jae 0x14008a0a7
cmp r8, 2
jne 0x14008a114
cmp rbx, r8
jae 0x14008a114
mov r11, qword [rsp + 0x18]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14008a114
test rbx, rbx
je 0x14008a0e7
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 0x14008a114
mov qword [rsp + 0x18], r9
mov r10, r8
mov qword [rbp + 0x6f], r8
mov qword [rsp + 0x10], r8
mov qword [rbp - 0x49], rdi
mov qword [rsp + 0x28], r9
jmp 0x14008a118
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14008a096
mov r10, qword [rbp + 0x6f]
mov r9, qword [rsp + 8]
mov r11, qword [rbp + 0x57]
mov rax, qword [rbp + 0x47]
inc rbx
cmp rbx, rsi
jb 0x140089fe0
mov r15, qword [rbp - 0x71]
xor edi, edi
mov r14, qword [rbp - 0x79]
mov r8, qword [rsp]
mov r13, qword [rbp + 0x3f]
mov ecx, dword [r13 + 0x40]
mov r12, qword [rbp + 0x4f]
add r12, r8
imul edx, dword [r12], 0x1e35a7bd
shr edx, cl
mov ecx, dword [r13 + 0x48]
mov eax, edx
shl eax, cl
lea r13, [r15 + rdx*2]
mov r15, qword [rbp + 0x3f]
movzx edx, word [r13]
mov esi, edx
mov qword [rbp - 0x79], r13
lea r14, [r14 + rax*4]
sub rsi, qword [r15 + 0x38]
cmp rdx, qword [r15 + 0x38]
cmovbe rsi, rdi
mov edi, edx
cmp rdx, rsi
jbe 0x14008a2ce
mov r15d, dword [r15 + 0x44]
mov r13, qword [rbp + 0x4f]
nop word [rax + rax]
mov rbx, qword [rbp + 0x47]
dec rdi
mov rax, rdi
and rax, r15
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x14008a2c1
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x14008a2b8
lea rax, [rcx + r10]
cmp rax, r11
ja 0x14008a2b8
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x14008a2b8
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008a235
mov r10, r11
sub r10, r12
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008a2a3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008a210
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x14008a254
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14008a254
inc rcx
sub r8, 1
jne 0x14008a241
mov rdx, rcx
mov r8, qword [rsp]
mov r9, qword [rsp + 8]
mov r11, qword [rbp + 0x57]
cmp rdx, 4
jb 0x14008a2b4
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x18], rax
jae 0x14008a2b4
mov qword [rsp + 0x18], rax
mov r10, rdx
mov qword [rbp + 0x6f], rdx
mov qword [rsp + 0x10], rdx
mov qword [rbp - 0x49], rbx
mov qword [rsp + 0x28], rax
jmp 0x14008a2b8
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008a257
mov r10, qword [rbp + 0x6f]
cmp rdi, rsi
ja 0x14008a1a0
mov r13, qword [rbp - 0x79]
mov r15, qword [rbp + 0x3f]
movzx edx, word [r13]
mov eax, dword [r15 + 0x44]
mov rbx, qword [rbp + 0x47]
and rax, rdx
mov dword [r14 + rax*4], ebx
inc word [r13]
cmp qword [rsp + 0x28], 0x7e4
jne 0x14008a5f6
mov r13, qword [r15 + 0x50]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14008a5f2
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x14008a489
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14008a489
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 0x14008a3ae
mov r10, r12
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008a475
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008a390
mov r8, r11
and r8d, 7
je 0x14008a3d3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x14008a3d3
inc rcx
sub r8, 1
jne 0x14008a3c0
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008a490
test r9, r9
je 0x14008a490
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x20]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rsp + 0x40]
ja 0x14008a495
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x28]
jb 0x14008a49c
mov qword [rsp + 0x28], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x10], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x39], r11d
mov qword [rbp - 0x49], r8
jmp 0x14008a49c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008a3d6
mov rsi, qword [rsp + 0x20]
jmp 0x14008a49c
mov rsi, qword [rsp + 0x20]
mov rdx, qword [rbp + 0x87]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14008a5e8
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008a5e8
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 0x14008a51e
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008a5d4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008a500
mov r8, r11
and r8d, 7
je 0x14008a53c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14008a53c
inc rdx
inc rcx
sub r8, 1
jne 0x14008a527
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008a5e8
test r9, r9
je 0x14008a5e8
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rsp + 0x40]
ja 0x14008a5e8
mov r15, qword [rbp + 0x3f]
mov rbx, qword [rbp + 0x47]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x28]
jb 0x14008a5fa
sub r11d, r9d
mov qword [rbp - 0x49], r8
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x10], rcx
mov dword [rbp - 0x39], r11d
mov qword [rsp + 0x28], rax
jmp 0x14008a5ff
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008a53f
mov r15, qword [rbp + 0x3f]
mov rbx, qword [rbp + 0x47]
jmp 0x14008a5fa
mov r15, qword [rbp + 0x3f]
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x10]
cmp qword [rsp + 0x28], 0x7e4
jbe 0x14008b1e0
mov r12, qword [rbp + 0x87]
xor esi, esi
mov dword [rbp + 0x6f], esi
dec r12
cmp dword [r14 + 4], 5
mov qword [rbp + 0x87], r12
jge 0x14008a63b
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x14008a63e
mov r10, rsi
mov r8, qword [rbp - 0x69]
lea rdx, [rbx + 1]
mov rdi, qword [rbp + 0x3f]
cmp rdx, r8
mov rax, qword [rbp - 0x61]
mov r9, r8
mov r13, qword [rbp + 0x57]
cmovb r9, rdx
mov r15, qword [r15 + 0x58]
inc rax
add rax, rbx
mov qword [rsp + 0x50], rsi
cmp rax, r8
mov qword [rsp + 0x48], rsi
mov rcx, r8
mov dword [rsp + 0x60], esi
movsxd rsi, dword [rdi + 0x4c]
cmovb rcx, rax
mov rax, qword [r14 + 0x50]
mov r11d, 0x7e4
mov r14, qword [rdi + 0x60]
mov r8, rdx
and r8, r13
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rbp - 0x71], rcx
mov qword [rsp + 8], r10
mov ecx, r11d
mov qword [rsp + 0x58], r11
mov ebx, eax
mov qword [rsp], rdx
mov qword [rsp + 0x18], r9
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x59], r14
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x20], rcx
test rsi, rsi
je 0x14008a860
mov r14, qword [rbp + 0x4f]
mov r15, r8
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x20], rcx
nop dword [rax]
nop dword [rax + rax]
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x14008a843
cmp rdi, r9
ja 0x14008a843
and rcx, r13
lea rdx, [r10 + r15]
cmp rdx, r13
ja 0x14008a83f
lea rax, [rcx + r10]
cmp rax, r13
ja 0x14008a83b
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x14008a83b
mov r8, r12
lea rdx, [r15 + r14]
shr r8, 3
lea r11, [rcx + r14]
xor eax, eax
test r8, r8
je 0x14008a77e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x14008a818
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14008a760
mov r8, r12
and r8d, 7
je 0x14008a7a3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x14008a7a3
inc rax
sub r8, 1
jne 0x14008a790
mov r8, rax
cmp r8, 3
jae 0x14008a7b7
cmp r8, 2
jne 0x14008a82c
cmp rbx, r8
jae 0x14008a82c
mov r11, qword [rsp + 0x20]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14008a82c
test rbx, rbx
je 0x14008a7f7
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 0x14008a82c
mov qword [rsp + 0x20], r9
mov r10, r8
mov qword [rsp + 8], r8
mov r11, r9
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r9
jmp 0x14008a836
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x14008a7a6
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 8]
mov r9, qword [rsp + 0x18]
mov rax, qword [rbp + 0x77]
mov rdx, qword [rsp]
inc rbx
cmp rbx, rsi
jb 0x14008a6f0
mov r15, qword [rbp - 0x79]
mov r14, qword [rbp - 0x59]
mov r8, qword [rsp + 0x40]
mov rdi, qword [rbp + 0x3f]
mov ecx, dword [rdi + 0x40]
mov r12, qword [rbp + 0x4f]
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]
mov r15, qword [rbp + 0x3f]
movzx edx, word [r13]
mov esi, edx
mov qword [rbp - 0x59], r13
lea r14, [r14 + rax*4]
mov edi, edx
sub rsi, qword [r15 + 0x38]
mov eax, 0
cmp rdx, qword [r15 + 0x38]
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x14008aa06
mov r15d, dword [r15 + 0x44]
mov r13, qword [rsp]
nop word [rax + rax]
dec rdi
mov rax, r15
and rax, rdi
mov rbx, r13
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x14008a9f9
and rcx, qword [rbp + 0x57]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x57]
ja 0x14008a9f0
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x14008a9f0
mov r13, qword [rbp + 0x4f]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rsp]
jne 0x14008a9f0
mov r11, qword [rbp + 0x4f]
xor eax, eax
add r11, rcx
mov rdx, r12
mov ecx, eax
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008a965
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008a9d5
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008a940
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x14008a984
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14008a984
inc rcx
sub r8, 1
jne 0x14008a971
mov rdx, rcx
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x18]
cmp rdx, 4
jb 0x14008a9e6
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x20], rax
jae 0x14008a9e6
mov qword [rsp + 0x20], rax
mov r10, rdx
mov qword [rsp + 8], rdx
mov r11, rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rax
jmp 0x14008a9f0
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008a987
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x14008a8c0
mov r13, qword [rbp - 0x59]
mov r15, qword [rbp + 0x3f]
movzx edx, word [r13]
mov eax, dword [r15 + 0x44]
mov rcx, qword [rsp]
and rax, rdx
mov dword [r14 + rax*4], ecx
inc word [r13]
cmp r11, 0x7e4
jne 0x14008ada6
mov r13, qword [r15 + 0x50]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14008ad2c
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x14008abcd
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14008abcd
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 0x14008aade
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008abab
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008aac0
mov r8, r11
and r8d, 7
je 0x14008ab03
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14008ab03
inc rcx
sub r8, 1
jne 0x14008aaf0
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008abbf
test r9, r9
je 0x14008abbf
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x71]
shl rdx, cl
inc r8
add rdx, rsi
mov rsi, qword [rsp + 0x58]
add r8, rdx
cmp r8, qword [rsp + 0x70]
ja 0x14008abc4
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14008abd2
mov rsi, rax
mov qword [rsp + 0x58], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x48], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x50], r8
jmp 0x14008abd2
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008ab06
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rbp + 0x87]
jmp 0x14008abd2
mov rsi, qword [rsp + 0x58]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14008ad35
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008ad35
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 0x14008ac5e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008ad18
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008ac40
mov r8, r11
and r8d, 7
je 0x14008ac7c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14008ac7c
inc rdx
inc rcx
sub r8, 1
jne 0x14008ac67
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008ad35
test r9, r9
je 0x14008ad35
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x71]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rsp + 0x70]
ja 0x14008ad35
mov r15, qword [rbp + 0x3f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rax, rsi
jb 0x14008ad3d
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rax
jmp 0x14008ad3d
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008ac7f
mov rsi, qword [rsp + 0x58]
mov r14, qword [rbp + 0x67]
mov r15, qword [rbp + 0x3f]
mov rcx, qword [rsp]
mov rax, qword [rsp + 0x28]
add rax, 0xaf
cmp rsi, rax
jb 0x14008adb7
movups xmm0, xmmword [rsp + 0x48]
inc qword [rsp + 0x30]
mov rbx, rcx
movups xmm1, xmmword [rsp + 0x58]
mov qword [rbp + 0x47], rcx
mov ecx, dword [rbp + 0x6f]
inc ecx
mov dword [rbp + 0x6f], ecx
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm1
cmp ecx, 4
jge 0x14008adb1
lea rax, [rbx + 4]
cmp rax, qword [rsp + 0x68]
jae 0x14008adb1
mov r12, qword [rbp + 0x87]
mov r9, qword [rbp - 0x41]
dec r12
mov rcx, qword [rbp - 0x51]
xor esi, esi
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x10], rcx
jmp 0x14008a61d
mov rsi, qword [rsp + 0x58]
mov r14, qword [rbp + 0x67]
jmp 0x14008ad3d
mov r13, qword [rbp - 0x51]
jmp 0x14008adc0
mov rbx, qword [rbp + 0x47]
mov r13, qword [rsp + 0x10]
mov rax, qword [rbp - 0x29]
mov r10, qword [rbp - 0x69]
mov r11, qword [rbp + 0x77]
lea r12, [rax + r13*2]
mov rax, qword [rbp - 0x61]
add rax, rbx
add r12, rbx
mov rbx, qword [rbp - 0x49]
lea rdx, [r11 + 4]
cmp rax, r10
mov qword [rsp + 0x70], r12
cmovb r10, rax
cmp rbx, r10
ja 0x14008ae78
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 0x14008ae17
xor r9d, r9d
mov r8d, r9d
jmp 0x14008ae7f
cmp rbx, r9
jne 0x14008ae24
mov r8d, 1
jmp 0x14008ae7c
cmp r8, 7
jae 0x14008ae40
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14008ae7c
cmp rcx, 7
jae 0x14008ae58
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14008ae7c
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x14008ae69
mov r8d, 2
jmp 0x14008ae7c
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14008ae7c
lea r8, [rbx + 0xf]
xor r9d, r9d
cmp rbx, r10
ja 0x14008af01
test r8, r8
je 0x14008af01
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 [r15 + 0x4c]
cmp edx, 4
jle 0x14008af01
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 0x14008af01
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 [rsp + 0x38]
mov esi, dword [rbp - 0x39]
mov r12, qword [rsp + 0x30]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x14008af30
mov edi, r9d
jmp 0x14008afa8
mov r10, qword [rbp + 0x67]
add r8, 0xfffffffffffffff0
mov r11d, dword [r10 + 0x40]
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
sub rdi, rax
shl r8, cl
add r8w, 0x10
shr rdi, cl
mov eax, 1
shl ax, cl
dec ax
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rsp + 0x38]
lea edx, [rsi + r13]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r12, 6
jae 0x14008afd7
movzx r10d, r12w
mov eax, 0x17
jmp 0x14008b04a
cmp r12, 0x82
jae 0x14008b003
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 0x14008b04a
cmp r12, 0x842
jae 0x14008b021
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14008b04a
mov eax, 0x17
cmp r12, 0x1842
jae 0x14008b035
lea r10d, [rax - 2]
jmp 0x14008b04a
cmp r12, 0x5842
jae 0x14008b046
mov r10d, 0x16
jmp 0x14008b04a
movzx r10d, ax
cmp r9, 0xa
jae 0x14008b057
sub r9w, 2
jmp 0x14008b097
cmp r9, 0x86
jae 0x14008b07c
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 0x14008b097
cmp r9, 0x846
jae 0x14008b093
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14008b097
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 0x14008b0d4
cmp r10w, 8
jae 0x14008b0d4
cmp r9w, 0x10
jae 0x14008b0d4
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x14008b108
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 rcx, qword [rbp + 0x47]
mov rax, qword [rbp + 0x97]
mov r11, qword [rbp - 0x31]
mov word [r14 + 0xc], dx
add r14, 0x10
lea rdi, [rcx + r13]
mov qword [rsp + 0x38], r14
add qword [rax], r12
lea r10, [rcx + 2]
xor eax, eax
mov qword [rbp + 0x47], rdi
cmp rdi, r11
mov qword [rsp + 0x30], rax
mov esi, eax
mov rax, r13
cmovb r11, rdi
shr rax, 2
cmp rbx, rax
jae 0x14008b176
lea rax, [rbx*4]
sub r13, rax
lea rax, [rcx + r13]
cmp r10, rax
mov eax, 2
cmova r13, rax
lea r10, [rcx + r13]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x14008b1d4
mov rdi, qword [rbp + 0x4f]
nop
mov ecx, dword [r15 + 0x40]
mov rax, r10
and rax, qword [rbp + 0x57]
imul r8d, dword [rax + rdi], 0x1e35a7bd
mov rax, qword [r15 + 0x58]
shr r8d, cl
mov ecx, dword [r15 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r15 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r15 + 0x60]
mov dword [rax + rdx*4], r10d
inc r10
mov rax, qword [r15 + 0x58]
inc word [r9 + rax]
cmp r10, r11
jb 0x14008b180
mov rdi, qword [rbp + 0x47]
mov rbx, rdi
mov qword [rbp + 0x47], rbx
jmp 0x14008b345
mov rsi, qword [rsp + 0x30]
inc rbx
mov r12, qword [rsp + 0x70]
inc rsi
mov qword [rsp + 0x30], rsi
mov qword [rbp + 0x47], rbx
cmp rbx, r12
jbe 0x14008b340
mov rax, qword [rbp - 0x29]
mov r10, qword [rsp + 0x68]
lea rax, [r12 + rax*4]
cmp rbx, rax
jbe 0x14008b2b1
mov r11, qword [rbp + 0x57]
lea rax, [rbx + 0x10]
add r10, 0xfffffffffffffffc
cmp rax, r10
cmovb r10, rax
cmp rbx, r10
jae 0x14008b2a7
mov rax, r10
add rsi, 4
sub rax, rbx
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x30], rsi
nop dword [rax]
mov rcx, qword [rbp + 0x4f]
mov rax, rbx
and rax, r11
imul r8d, dword [rax + rcx], 0x1e35a7bd
mov ecx, dword [r15 + 0x40]
mov rax, qword [r15 + 0x58]
shr r8d, cl
mov ecx, dword [r15 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r15 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r15 + 0x60]
mov dword [rax + rdx*4], ebx
add rbx, 4
mov rax, qword [r15 + 0x58]
inc word [r9 + rax]
cmp rbx, r10
jb 0x14008b250
mov qword [rbp + 0x47], rbx
mov r14, qword [rsp + 0x38]
jmp 0x14008b349
add r10, 0xfffffffffffffffd
lea rax, [rbx + 8]
cmp rax, r10
cmovb r10, rax
cmp rbx, r10
jae 0x14008b340
mov r11, qword [rbp + 0x57]
mov rax, r10
sub rax, rbx
add rsi, 2
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x30], rsi
mov rcx, qword [rbp + 0x4f]
mov rax, rbx
and rax, r11
imul r8d, dword [rax + rcx], 0x1e35a7bd
mov ecx, dword [r15 + 0x40]
mov rax, qword [r15 + 0x58]
shr r8d, cl
mov ecx, dword [r15 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r15 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r15 + 0x60]
mov dword [rax + rdx*4], ebx
add rbx, 2
mov rax, qword [r15 + 0x58]
inc word [r9 + rax]
cmp rbx, r10
jb 0x14008b2e2
mov r14, qword [rsp + 0x38]
mov qword [rbp + 0x47], rbx
jmp 0x14008b349
mov r14, qword [rsp + 0x38]
mov r11, qword [rbp + 0x57]
mov rcx, qword [rsp + 0x68]
lea rax, [rbx + 4]
mov r8, qword [rbp + 0x67]
mov r10, qword [rbp - 0x69]
mov rdi, qword [rbp - 0x61]
cmp rax, rcx
jb 0x140089f30
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
sub r14, qword [rbp - 0x21]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rbp + 0x7f]
sub rax, rbx
add rax, rsi
sar r14, 4
mov qword [rcx], rax
mov rax, qword [rbp + 0x8f]
add qword [rax], r14
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [0x1406cd328]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rsi, qword [rbp + 0x98]
mov rax, rcx
mov rcx, qword [rbp + 0xc8]
mov r15, rdx
mov r10, qword [rbp + 0xb0]
mov rbx, r9
mov r9, qword [rbp + 0xb8]
mov edi, 1
mov r14, qword [rbp + 0xc0]
mov r11, r8
mov qword [rbp - 0x48], rcx
lea r13, [r15 + rax]
mov ecx, dword [rsi + 8]
shl rdi, cl
mov rcx, qword [rsi + 0x10]
sub rdi, 0x10
mov qword [rbp - 0x50], rcx
mov rcx, r9
mov qword [rsp], r8
mov r8, qword [rbp + 0xa8]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xa0]
mov qword [rbp - 0x30], r10
mov r10, qword [r10]
mov qword [rbp - 0x38], rcx
mov qword [rsp + 8], rbx
mov qword [rbp - 0x68], rsi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x68], r9
mov qword [rbp - 0x40], r14
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x58], r13
cmp rax, 8
jb 0x14008b485
lea rax, [r13 - 7]
mov qword [rbp - 0x60], rax
jmp 0x14008b489
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 + 0x40], rax
lea rax, [r15 + 8]
cmp rax, r13
jae 0x14008c480
movdqa xmm2, xmmword [0x1405903a0]
mov eax, 3
movdqa xmm4, xmmword [0x1405903d0]
xor esi, esi
movabs rcx, 0x35a7bd1e35a7bd00
movd xmm3, eax
nop word [rax + rax]
mov r10, qword [rdx + 0x38]
mov r9, r13
mov r13, qword [rsp + 0x28]
sub r9, r15
mov rdx, qword [rsp]
cmp r15, rdi
mov r12, rdi
mov qword [rsp + 0x20], rsi
cmovb r12, r15
mov qword [rbp - 0x80], rsi
mov r15, rbx
mov qword [rsp + 0x10], r9
and r15, r13
mov qword [rsp + 0x30], 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 + 0x18], r10
shr rax, 0x2c
sub rcx, r11
mov dword [rbp - 0x70], r14d
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r13
jae 0x14008b636
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10]
cmp esi, eax
jne 0x14008b631
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x14008b5b3
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008b61b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008b590
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008b5d3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14008b5d3
inc rcx
sub r8, 1
jne 0x14008b5c0
mov rax, rcx
mov rdx, qword [rsp]
mov r10, qword [rsp + 0x18]
mov r8, qword [rsp + 8]
cmp rax, 4
jb 0x14008b636
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x14008b636
mov qword [rsp + 0x20], rax
mov r14, rax
add rax, rdx
mov qword [rbp - 0x80], r11
mov qword [rsp + 0x30], rcx
mov rdi, rcx
movzx esi, byte [rax + r15]
jmp 0x14008b636
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x14008b5d6
mov r10, qword [rsp + 0x18]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 - 0x28], xmm0
add rax, 2
cmp rax, 4
jb 0x14008b640
mov r11, qword [rsp + 0x28]
mov rax, r13
shr rax, 3
and eax, 3
mov r13, qword [rbp + rax*8 - 0x28]
mov rax, qword [rbp - 0x28]
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 0x14008b759
test r11, r11
je 0x14008b759
cmp r11, r12
ja 0x14008b759
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x14008b6f3
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008b9f7
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008b6d0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008b713
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14008b713
inc rcx
sub r8, 1
jne 0x14008b700
mov rdx, rcx
cmp rdx, 4
jb 0x14008b759
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14008b759
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rdi, r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rsp + 0x18]
mov r11, qword [rsp + 0x28]
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 [r14 + r10]
cmp esi, eax
jne 0x14008b83b
test r11, r11
je 0x14008b83b
cmp r11, r12
ja 0x14008b83b
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x14008b7d3
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008ba10
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008b7b0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008b7f5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008b7f5
inc rdx
inc rcx
sub r8, 1
jne 0x14008b7e0
mov rdx, rcx
cmp rdx, 4
jb 0x14008b83b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14008b83b
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rdi, r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rsp + 0x18]
mov r11, qword [rsp + 0x28]
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 [r14 + r10]
cmp esi, eax
jne 0x14008b91b
test r11, r11
je 0x14008b91b
cmp r11, r12
ja 0x14008b91b
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x14008b8b3
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008ba29
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008b890
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008b8d5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008b8d5
inc rdx
inc rcx
sub r8, 1
jne 0x14008b8c0
mov rdx, rcx
cmp rdx, 4
jb 0x14008b91b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14008b91b
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rdi, r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rax, qword [rbp - 0x10]
mov r11, qword [rsp + 0x18]
mov r15, qword [rsp + 0x28]
mov r9, qword [rsp]
mov r10, r15
mov ecx, dword [r11 + rax*4]
mov eax, dword [rsp + 8]
sub r10, rcx
and rcx, rax
add r9, rcx
movzx eax, byte [r14 + r9]
cmp esi, eax
jne 0x14008ba51
xor esi, esi
test r10, r10
je 0x14008ba53
cmp r10, r12
ja 0x14008ba53
mov r14, qword [rsp + 0x10]
mov ecx, esi
mov rax, r14
shr rax, 3
test rax, rax
je 0x14008b99e
nop word [rax + rax]
mov r8, qword [rbx]
mov rdx, qword [rcx + r9]
cmp r8, rdx
jne 0x14008ba3d
add rbx, 8
add rcx, 8
sub rax, 1
jne 0x14008b980
mov rdx, r14
and edx, 7
je 0x14008b9bb
movzx eax, byte [rbx]
cmp byte [rcx + r9], al
jne 0x14008b9bb
inc rbx
inc rcx
sub rdx, 1
jne 0x14008b9a6
mov r8, rcx
cmp r8, 4
jb 0x14008ba53
bsr eax, r10d
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x14008ba53
mov rcx, r8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], rcx
mov qword [rbp - 0x80], r10
jmp 0x14008ba5d
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008b716
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008b7f8
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008b8d8
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x14008b9be
xor esi, esi
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
mov dword [r11 + r13*4], r15d
cmp rax, 0x7e4
jbe 0x14008c4b7
mov r9, qword [rsp + 0x10]
dec r9
mov dword [rsp + 0x28], esi
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x10], r9
cmp dword [rax + 4], 5
jge 0x14008ba9c
lea rax, [rcx - 1]
mov rdi, r9
cmp rax, r9
cmovb rdi, rax
mov qword [rbp - 0x28], rdi
jmp 0x14008baa3
mov rdi, rsi
mov qword [rbp - 0x28], rsi
mov r13, qword [rsp + 0x60]
lea r10, [r15 + 1]
mov rdx, qword [rsp + 8]
cmp r10, r13
mov rax, qword [rsp + 0x48]
mov r8d, 0x7e4
cmovb r13, r10
mov qword [rbp - 0x18], r8
mov r8, qword [rsp]
movabs rcx, 0x35a7bd1e35a7bd00
mov r12, rdx
mov qword [rbp - 0x20], rsi
mov rax, qword [rax + 0x38]
and r12, r10
mov qword [rsp + 0x40], rax
lea rbx, [r8 + r12]
mov rax, qword [rbx]
movzx r14d, byte [rbx + rdi]
imul rax, rcx
mov rcx, r10
mov dword [rbp - 0x10], esi
shr rax, 0x2c
mov esi, 0x7e4
mov qword [rsp + 0x18], r10
movq xmm1, rax
mov rax, qword [rsp + 0x50]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x14008bc04
mov r10d, edx
and r10, rcx
add r10, r8
movzx eax, byte [rdi + r10]
cmp r14d, eax
jne 0x14008bbff
mov rcx, r9
xor eax, eax
shr rcx, 3
mov rdx, rbx
test rcx, rcx
je 0x14008bb83
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rax + r10]
cmp r9, r8
jne 0x14008bbe9
add rdx, 8
add rax, 8
sub rcx, 1
jne 0x14008bb60
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008bba3
sub rdx, rax
nop
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x14008bba3
inc rax
sub r8, 1
jne 0x14008bb90
mov rcx, rax
mov r8, qword [rsp]
mov r10, qword [rsp + 0x18]
mov rdx, qword [rsp + 8]
cmp rcx, 4
jb 0x14008bc04
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, rsi
jbe 0x14008bc04
mov qword [rbp - 0x18], rax
mov rsi, rax
lea rax, [r8 + rcx]
mov qword [rbp - 0x28], rcx
movzx r14d, byte [rax + r12]
mov rdi, rcx
mov qword [rbp - 0x20], r11
jmp 0x14008bc04
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rcx, r8
shr rcx, 3
add rcx, rax
jmp 0x14008bba6
mov r10, qword [rsp + 0x18]
xor eax, eax
nop word [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 - 8], xmm0
add rax, 2
cmp rax, 4
jb 0x14008bc10
mov rax, r10
mov r11, r10
shr rax, 3
and eax, 3
mov r10d, edx
mov rcx, qword [rbp + rax*8 - 8]
mov rax, qword [rbp - 8]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + rax*4]
and r10, rcx
sub r11, rcx
add r10, r8
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x14008bd27
test r11, r11
je 0x14008bd27
cmp r11, r13
ja 0x14008bd27
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x14008bcc3
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008bef2
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008bca0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008bce3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14008bce3
inc rcx
sub r8, 1
jne 0x14008bcd0
mov rdx, rcx
cmp rdx, 4
jb 0x14008bd27
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14008bd27
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x28], rdx
mov rsi, r8
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x20], r11
movzx r14d, byte [rax + r12]
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x18]
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 0x14008be09
test r11, r11
je 0x14008be09
cmp r11, r13
ja 0x14008be09
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x14008bda3
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008bf0b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008bd80
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008bdc5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008bdc5
inc rdx
inc rcx
sub r8, 1
jne 0x14008bdb0
mov rdx, rcx
cmp rdx, 4
jb 0x14008be09
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14008be09
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x28], rdx
mov rsi, r8
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x20], r11
movzx r14d, byte [rax + r12]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x18]
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 0x14008bf38
test r11, r11
je 0x14008bf38
cmp r11, r13
ja 0x14008bf38
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x14008be83
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008bf24
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008be60
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14008bea5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008bea5
inc rdx
inc rcx
sub r8, 1
jne 0x14008be90
mov rdx, rcx
cmp rdx, 4
jb 0x14008bf38
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14008bf38
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x28], rdx
mov rsi, r8
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x20], r11
movzx r14d, byte [rax + r12]
mov r12, r8
jmp 0x14008bf3c
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008bce6
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008bdc8
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008bea8
mov r12, qword [rbp - 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x18]
mov r9, qword [rsp]
mov r10, r11
mov ecx, dword [rcx + 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 0x14008c00f
test r10, r10
je 0x14008c00f
cmp r10, r13
ja 0x14008c00f
mov r14, qword [rsp + 0x10]
xor ecx, ecx
mov rax, r14
shr rax, 3
test rax, rax
je 0x14008bfbe
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rbx]
mov rdx, qword [rcx + r9]
cmp r8, rdx
jne 0x14008c08a
add rbx, 8
add rcx, 8
sub rax, 1
jne 0x14008bfa0
mov rdx, r14
and edx, 7
je 0x14008bfdb
movzx eax, byte [rbx]
cmp byte [rcx + r9], al
jne 0x14008bfdb
inc rbx
inc rcx
sub rdx, 1
jne 0x14008bfc6
mov r8, rcx
cmp r8, 4
jb 0x14008c00f
bsr eax, r10d
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x14008c00f
mov qword [rbp - 0x28], r8
mov r12, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], r10
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], r11d
mov rax, qword [rsp + 0x30]
add rax, 0xaf
cmp r12, rax
mov r12, qword [rsp + 0x38]
jb 0x14008c0aa
mov ecx, dword [rsp + 0x28]
inc r12
movups xmm0, xmmword [rbp - 0x28]
inc ecx
mov r15, r11
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x28], ecx
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm1
cmp ecx, 4
jge 0x14008c09e
lea rax, [r11 + 8]
cmp rax, qword [rsp + 0x58]
jae 0x14008c09e
mov r9, qword [rsp + 0x10]
mov r10, qword [rbp - 0x78]
dec r9
mov rcx, qword [rsp + 0x78]
xor esi, esi
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x20], rcx
jmp 0x14008ba79
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x14008bfde
mov r11, qword [rsp + 0x78]
mov qword [rsp + 0x20], r11
jmp 0x14008c0af
mov r11, qword [rsp + 0x20]
mov r10, qword [rsp + 0x60]
lea r13, [r15 + r11*2]
add r13, qword [rbp - 0x58]
mov rax, qword [rbp - 0x50]
mov rdi, qword [rsp + 0x50]
add rax, r15
mov rbx, qword [rbp - 0x80]
cmp rax, r10
mov qword [rsp + 0x40], r13
cmovb r10, rax
lea rdx, [rdi + 4]
cmp rbx, r10
ja 0x14008c15f
movsxd rax, dword [rdi]
lea rcx, [rbx + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rbx, rax
jne 0x14008c0fe
xor r8d, r8d
jmp 0x14008c163
cmp rbx, r9
jne 0x14008c10b
mov r8d, 1
jmp 0x14008c163
cmp r8, 7
jae 0x14008c127
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14008c163
cmp rcx, 7
jae 0x14008c13f
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14008c163
movsxd rax, dword [rdi + 8]
cmp rbx, rax
jne 0x14008c150
mov r8d, 2
jmp 0x14008c163
movsxd rax, dword [rdi + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14008c163
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x14008c17e
test r8, r8
je 0x14008c17e
mov eax, dword [rdi + 8]
mov dword [rdi + 0xc], eax
mov eax, dword [rdx]
mov dword [rdi + 8], eax
mov eax, dword [rdi]
mov dword [rdx], eax
mov dword [rdi], ebx
mov r13, qword [rsp + 0x68]
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 0x14008c1ad
xor edi, edi
jmp 0x14008c226
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 + 0x20]
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 r9d, [r11 + rsi]
mov eax, 0x3ff
mov dword [r13 + 8], edi
and r8w, ax
movsxd rdx, r9d
cmp r12, 6
jae 0x14008c250
movzx r10d, r12w
mov eax, 0x17
jmp 0x14008c2c3
cmp r12, 0x82
jae 0x14008c27c
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 0x14008c2c3
cmp r12, 0x842
jae 0x14008c29a
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14008c2c3
mov eax, 0x17
cmp r12, 0x1842
jae 0x14008c2ae
lea r10d, [rax - 2]
jmp 0x14008c2c3
cmp r12, 0x5842
jae 0x14008c2bf
mov r10d, 0x16
jmp 0x14008c2c3
movzx r10d, ax
cmp rdx, 0xa
jae 0x14008c2cf
sub dx, 2
jmp 0x14008c30d
cmp rdx, 0x86
jae 0x14008c2f4
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x14008c30d
cmp rdx, 0x846
jae 0x14008c30a
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x14008c30d
movzx edx, ax
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14008c34c
cmp r10w, 8
jae 0x14008c34c
cmp dx, 0x10
jae 0x14008c34c
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14008c37e
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rbp - 0x48]
lea rdx, [r15 + 2]
mov r8, qword [rbp - 0x60]
xor esi, esi
mov word [r13 + 0xc], r9w
mov r10d, esi
add r13, 0x10
mov qword [rsp + 0x38], rsi
add qword [rax], r12
lea r9, [r15 + r11]
cmp r9, r8
mov qword [rsp + 0x68], r13
mov rax, r11
mov qword [rsp + 0x70], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x14008c3e0
lea rax, [rbx*4]
sub r15, rax
add r15, r11
cmp rdx, r15
cmova r15, rdx
cmp r8, r15
mov rdx, r15
cmovb rdx, r8
cmp rdx, r8
jae 0x14008c437
mov r10, qword [rsp]
mov r9, qword [rsp + 8]
nop
mov rax, r9
and rax, rdx
mov rcx, qword [rax + r10]
movabs rax, 0x35a7bd1e35a7bd00
imul rcx, rax
mov eax, edx
shr rcx, 0x2c
and eax, 0x18
add ecx, eax
mov rax, qword [rsp + 0x48]
and ecx, 0xfffff
mov rax, qword [rax + 0x38]
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x14008c3f0
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x38]
mov r15, r9
mov qword [rsp + 0x28], r9
mov r11, qword [rsp]
mov rbx, qword [rsp + 8]
mov r13, qword [rsp + 0x58]
lea rax, [r15 + 8]
mov rdx, qword [rsp + 0x48]
movabs rcx, 0x35a7bd1e35a7bd00
mov r8, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
cmp rax, r13
jb 0x14008b4e0
mov r9, qword [rsp + 0x68]
mov r14, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
sub r13, r15
sub r9, rcx
add r13, r10
sar r9, 4
mov qword [rax], r13
add qword [r14], r9
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.1400b84f0
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r10, qword [rsp + 0x38]
inc r15
mov r13, qword [rsp + 0x40]
inc r10
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x28], r15
cmp r15, r13
jbe 0x14008c43f
mov rax, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x58]
add rdx, 0xfffffffffffffff9
lea rax, [rax*4]
add rax, r13
cmp r15, rax
jbe 0x14008c580
mov r11, qword [rsp]
lea rax, [r15 + 0x10]
mov rbx, qword [rsp + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x14008c448
add r10, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x38], r10
mov r10, qword [rsp + 0x48]
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 [r10 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x14008c536
mov r10, qword [rsp + 0x38]
mov qword [rsp + 0x28], r15
jmp 0x14008c448
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x14008c43f
mov r11, qword [rsp]
add r10, 2
mov rbx, qword [rsp + 8]
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x38], r10
mov r10, qword [rsp + 0x48]
nop dword [rax + 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 [r10 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x14008c5c0
mov r10, qword [rsp + 0x38]
mov qword [rsp + 0x28], r15
jmp 0x14008c448
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 [0x1406cd328]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, qword [rbp + 0xa8]
mov rax, rcx
mov rcx, qword [rbp + 0xd8]
mov r12, rdx
mov r10, qword [rbp + 0xb0]
mov ebx, 1
mov r14, qword [rbp + 0xd0]
mov r11, r9
mov qword [rbp - 0x40], rcx
mov r15, r8
mov ecx, dword [rsi + 8]
shl rbx, cl
mov rcx, qword [rsi + 0x10]
sub rbx, 0x10
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xc0]
mov qword [rsp + 8], r9
mov r9, qword [rbp + 0xc8]
mov qword [rbp - 0x48], rcx
mov rcx, r9
mov rdi, qword [rdx]
mov qword [rsp], r8
mov r8, qword [rbp + 0xb8]
mov qword [rbp - 0x28], rdx
lea rdx, [r12 + rax]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x60], rsi
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x78], r9
mov qword [rbp - 0x38], r14
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x68], rdx
cmp rax, 8
jb 0x14008c6e5
lea rax, [rdx - 7]
mov qword [rbp - 0x58], rax
jmp 0x14008c6e9
mov qword [rbp - 0x58], r12
cmp dword [rsi + 4], 9
mov eax, 0x200
mov r13d, 0x40
cmovl eax, r13d
mov qword [rbp - 0x50], rax
add rax, r12
mov qword [rsp + 0x50], rax
lea rax, [r12 + 8]
cmp rax, rdx
jae 0x14008db5d
movdqa xmm2, xmmword [0x1405903a0]
mov eax, 3
movdqa xmm4, xmmword [0x1405903d0]
movabs rcx, 0x35a7bd1e35a7bd00
movd xmm3, eax
nop dword [rax]
mov r9, rdx
mov qword [rsp + 0x40], 0x7e4
sub r9, r12
mov rdx, rbx
cmp r12, rbx
mov qword [rsp + 0x18], r9
mov r14, r11
movsxd r11, dword [r8]
mov r8, qword [rsp + 8]
cmovb rdx, r12
mov r12, qword [r10 + 0x38]
xor ebx, ebx
mov r10, qword [rsp + 0x28]
xor esi, esi
and r14, r10
mov qword [rsp + 0x48], rbx
mov rax, qword [r15 + r14]
lea r13, [r15 + r14]
movzx edi, byte [r13]
imul rax, rcx
mov rcx, r10
mov qword [rbp - 0x78], rbx
shr rax, 0x2c
sub rcx, r11
mov dword [rbp - 0x68], ebx
mov ebx, 0x7e4
mov qword [rsp + 0x20], rdx
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r10
jae 0x14008c897
mov r10d, r8d
and r10, rcx
add r10, r15
movzx eax, byte [r10]
cmp edi, eax
jne 0x14008c892
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x14008c813
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008c87c
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008c7f0
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x14008c833
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14008c833
inc rcx
sub r8, 1
jne 0x14008c820
mov rax, rcx
mov rdx, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
mov r8, qword [rsp + 8]
cmp rax, 4
jb 0x14008c897
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x14008c897
mov qword [rsp + 0x48], rax
mov rsi, rax
add rax, r15
mov qword [rbp - 0x78], r11
mov qword [rsp + 0x40], rcx
mov rbx, rcx
movzx edi, byte [rax + r14]
jmp 0x14008c897
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x14008c836
mov r10, qword [rsp + 0x28]
xor eax, eax
nop dword [rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 - 0x20], xmm0
add rax, 2
cmp rax, 4
jb 0x14008c8a0
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 0x14008c9b9
test r11, r11
je 0x14008c9b9
cmp r11, rdx
ja 0x14008c9b9
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x14008c953
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008ce19
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008c930
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x14008c973
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14008c973
inc rcx
sub r8, 1
jne 0x14008c960
mov rdx, rcx
cmp rdx, 4
jb 0x14008c9b9
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008c9b9
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x48], rdx
mov rbx, r8
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 0x18]
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp]
mov rdx, qword [rsp + 0x20]
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 0x14008caa0
test r11, r11
je 0x14008caa0
cmp r11, rdx
ja 0x14008caa0
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x14008ca33
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008ce32
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008ca10
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x14008ca55
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008ca55
inc rdx
inc rcx
sub r8, 1
jne 0x14008ca40
mov rdx, rcx
cmp rdx, 4
jb 0x14008ca9b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008ca9b
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x48], rdx
mov rbx, r8
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rdx, qword [rsp + 0x20]
mov rax, qword [rbp - 0x10]
mov r11, qword [rsp + 0x28]
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 0x14008cb7b
test r11, r11
je 0x14008cb7b
cmp r11, rdx
ja 0x14008cb7b
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x14008cb13
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008ce4b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008caf0
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x14008cb35
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008cb35
inc rdx
inc rcx
sub r8, 1
jne 0x14008cb20
mov rdx, rcx
cmp rdx, 4
jb 0x14008cb7b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008cb7b
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x48], rdx
mov rbx, r8
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 8]
mov r14, qword [rsp + 0x28]
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 + 0x20]
cmp edi, eax
jne 0x14008cc58
test r11, r11
je 0x14008cc58
cmp r11, rsi
ja 0x14008cc58
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x14008cc03
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008ce64
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008cbe0
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x14008cc25
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008cc25
inc rdx
inc rcx
sub r8, 1
jne 0x14008cc10
mov rdx, rcx
cmp rdx, 4
jb 0x14008cc58
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rbx, rax
jae 0x14008cc58
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov qword [rbp - 0x78], r11
mov rbx, qword [rsp + 0x10]
mov dword [r12 + r15*4], r14d
mov r12, qword [rsp + 0x28]
mov r15, qword [rsp + 0x18]
test r12b, 3
jne 0x14008cdd8
cmp r15, 0x20
jb 0x14008cdd8
mov r11, qword [rbx + 0x50]
cmp r11, r12
ja 0x14008cdcf
mov r10, qword [rsp]
lea rdi, [r11 + 0x20]
mov r14, qword [rsp + 8]
nop dword [rax]
mov r8d, dword [rbx + 0x40]
mov rax, r11
and rax, r14
mov r9d, r8d
imul r8d, dword [rbx + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r10]
mov rax, r14
and rax, rdi
inc edx
imul edx, dword [rbx + 0x60]
movzx ecx, byte [rax + r10]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rbx + 0x40], eax
cmp r9d, 0x1000000
jae 0x14008cdbe
mov rax, qword [rbx + 0x48]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r12
jne 0x14008cdbe
mov eax, 0xffffffff
cmp r8, rax
je 0x14008cdbe
mov ebx, r12d
sub ebx, r8d
cmp rbx, rsi
ja 0x14008cdb9
and r8, r14
mov r9, r15
add r8, r10
shr r9, 3
xor ecx, ecx
mov rdx, r13
test r9, r9
je 0x14008cd4e
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x14008ce78
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14008cd30
mov r9, r15
and r9d, 7
je 0x14008cd73
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r8], al
jne 0x14008cd73
inc rcx
sub r9, 1
jne 0x14008cd60
mov rdx, rcx
mov r10, qword [rsp]
cmp rdx, 4
jb 0x14008cdb9
cmp rdx, qword [rsp + 0x48]
jbe 0x14008cdb9
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x40]
jbe 0x14008cdb9
mov qword [rsp + 0x48], rdx
mov qword [rbp - 0x78], rbx
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x68], 0
mov rbx, qword [rsp + 0x10]
add r11, 4
add rdi, 4
cmp r11, r12
jbe 0x14008cca0
lea rax, [r12 + 4]
mov qword [rbx + 0x50], rax
cmp qword [rsp + 0x40], 0x7e4
jbe 0x14008d9c7
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x20], 0
mov rcx, qword [rbp - 0x60]
dec r15
mov qword [rsp + 0x18], r15
cmp dword [rcx + 4], 5
jge 0x14008ce8c
dec rax
mov r13, r15
cmp rax, r15
cmovb r13, rax
jmp 0x14008ce8f
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008c976
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008ca58
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008cb38
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008cc28
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008cd76
xor r13d, r13d
mov r9, qword [rsp + 8]
lea r10, [r12 + 1]
mov rdx, qword [rsp]
mov r8d, 0x7e4
mov r12, qword [rbx + 0x38]
movabs rcx, 0x35a7bd1e35a7bd00
mov qword [rbp - 0x10], r8
mov r14, r9
mov r8, qword [rsp + 0x70]
mov rsi, r13
cmp r10, r8
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], 0
mov ebx, 0x7e4
cmovb r8, r10
mov qword [rsp + 0x58], r10
and r14, r10
mov qword [rsp + 0x38], r8
add rdx, r14
mov dword [rbp - 8], 0
mov qword [rsp + 0x50], rdx
mov rax, qword [rdx]
movzx edi, byte [rdx + 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 0x14008cfed
mov r10, qword [rsp]
mov eax, r9d
and rcx, rax
add r10, rcx
movzx eax, byte [r13 + r10]
cmp edi, eax
jne 0x14008cfe8
mov rax, r15
xor ecx, ecx
shr rax, 3
test rax, rax
je 0x14008cf6a
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008cfd7
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008cf50
mov r8, r15
and r8d, 7
je 0x14008cf89
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14008cf89
inc rcx
sub r8, 1
jne 0x14008cf76
mov rax, rcx
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x38]
cmp rax, 4
jb 0x14008cfed
mov r9, qword [rsp]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x14008cff1
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 0x14008cff1
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x14008cf8c
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp]
xor eax, eax
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8], xmm0
add rax, 2
cmp rax, 4
jb 0x14008cff3
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 0x14008d10a
test r11, r11
je 0x14008d10a
cmp r11, r8
ja 0x14008d10a
mov rax, qword [rsp + 0x18]
xor ecx, ecx
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008d0a3
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14008d3cd
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008d080
mov rax, qword [rsp + 0x18]
mov r8, rax
and r8d, 7
je 0x14008d0c3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14008d0c3
inc rcx
sub r8, 1
jne 0x14008d0b0
mov rdx, rcx
cmp rdx, 4
jb 0x14008d10a
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008d10a
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 + 0x58]
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 0x14008d201
test r11, r11
je 0x14008d201
cmp r11, rdx
ja 0x14008d201
mov rax, qword [rsp + 0x18]
xor ecx, ecx
mov rdx, qword [rsp + 0x50]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008d193
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14008d3e1
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008d170
mov rax, qword [rsp + 0x18]
mov r8, rax
and r8d, 7
je 0x14008d1b5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008d1b5
inc rdx
inc rcx
sub r8, 1
jne 0x14008d1a0
mov rdx, rcx
cmp rdx, 4
jb 0x14008d1fc
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008d1fc
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 + 0x58]
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 0x14008d2ec
test r11, r11
je 0x14008d2ec
cmp r11, rdx
ja 0x14008d2ec
mov rax, qword [rsp + 0x18]
xor ecx, ecx
mov rdx, qword [rsp + 0x50]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008d283
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14008d3f5
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008d260
mov rax, qword [rsp + 0x18]
mov r8, rax
and r8d, 7
je 0x14008d2a5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008d2a5
inc rdx
inc rcx
sub r8, 1
jne 0x14008d290
mov rdx, rcx
cmp rdx, 4
jb 0x14008d2ec
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x14008d2ec
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 + 0x58]
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 0x14008d421
test r11, r11
je 0x14008d421
cmp r11, qword [rsp + 0x38]
ja 0x14008d421
mov rdi, qword [rsp + 0x18]
xor ecx, ecx
mov rdx, qword [rsp + 0x50]
mov rax, rdi
shr rax, 3
test rax, rax
je 0x14008d36e
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14008d409
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14008d350
mov r8, rdi
and r8d, 7
je 0x14008d38c
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14008d38c
inc rdx
inc rcx
sub r8, 1
jne 0x14008d377
mov rdx, rcx
cmp rdx, 4
jb 0x14008d41d
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 0x14008d421
mov r13, rdx
mov qword [rbp - 0x20], rdx
mov rsi, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], r11
jmp 0x14008d425
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008d0c6
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008d1b8
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008d2a8
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14008d38f
mov rcx, qword [rsp]
mov rsi, qword [rbp - 0x10]
mov rbx, qword [rsp + 0x10]
mov dword [r12 + r15*4], r14d
mov r15, qword [rsp + 0x18]
test r14b, 3
jne 0x14008d5a8
cmp r15, 0x20
jb 0x14008d5a8
mov r11, qword [rbx + 0x50]
cmp r11, r14
ja 0x14008d5a0
mov r10, qword [rsp + 8]
lea rdi, [r11 + 0x20]
jmp 0x14008d464
mov rcx, qword [rsp]
mov r8d, dword [rbx + 0x40]
mov rax, r10
and rax, r11
mov r9d, r8d
imul r8d, dword [rbx + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + rcx]
mov rax, r10
and rax, rdi
inc edx
imul edx, dword [rbx + 0x60]
movzx ecx, byte [rax + rcx]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rbx + 0x40], eax
cmp r9d, 0x1000000
jae 0x14008d58b
mov rax, qword [rbx + 0x48]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r14
jne 0x14008d58b
mov eax, 0xffffffff
cmp r8, rax
je 0x14008d58b
mov ebx, r14d
sub ebx, r8d
cmp rbx, qword [rsp + 0x38]
ja 0x14008d586
mov rdx, qword [rsp + 0x50]
and r10, r8
add r10, qword [rsp]
mov r8, r15
shr r8, 3
xor eax, eax
test r8, r8
je 0x14008d51e
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x14008d60e
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14008d500
mov r8, r15
and r8d, 7
je 0x14008d543
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x14008d543
inc rax
sub r8, 1
jne 0x14008d530
mov rdx, rax
mov r10, qword [rsp + 8]
cmp rdx, 4
jb 0x14008d586
cmp rdx, r13
jbe 0x14008d586
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jbe 0x14008d586
mov r13, rdx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rbx
mov rsi, rax
mov dword [rbp - 8], 0
mov rbx, qword [rsp + 0x10]
add r11, 4
add rdi, 4
cmp r11, r14
jbe 0x14008d460
mov qword [rbp - 0x10], rsi
lea rax, [r14 + 4]
mov qword [rbx + 0x50], rax
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
add rax, 0xaf
cmp rsi, rax
jb 0x14008d628
mov ecx, dword [rsp + 0x20]
inc r11
movups xmm0, xmmword [rbp - 0x20]
inc ecx
mov r12, r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x20], ecx
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp ecx, 4
jge 0x14008d622
lea rax, [r14 + 8]
cmp rax, qword [rsp + 0x68]
jae 0x14008d622
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x48], rax
jmp 0x14008cdf4
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14008d546
mov r13, qword [rbp - 0x80]
jmp 0x14008d632
mov r12, qword [rsp + 0x28]
mov r13, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
lea r15, [r12 + r13*2]
add r15, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rdi, qword [rsp + 0x60]
add rax, r12
mov rbx, qword [rbp - 0x78]
cmp rax, r10
mov qword [rsp + 0x50], r15
cmovb r10, rax
lea rdx, [rdi + 4]
cmp rbx, r10
ja 0x14008d6e2
movsxd rax, dword [rdi]
lea rcx, [rbx + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rbx, rax
jne 0x14008d681
xor r8d, r8d
jmp 0x14008d6e6
cmp rbx, r9
jne 0x14008d68e
mov r8d, 1
jmp 0x14008d6e6
cmp r8, 7
jae 0x14008d6aa
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14008d6e6
cmp rcx, 7
jae 0x14008d6c2
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14008d6e6
movsxd rax, dword [rdi + 8]
cmp rbx, rax
jne 0x14008d6d3
mov r8d, 2
jmp 0x14008d6e6
movsxd rax, dword [rdi + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14008d6e6
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x14008d701
test r8, r8
je 0x14008d701
mov eax, dword [rdi + 8]
mov dword [rdi + 0xc], eax
mov eax, dword [rdx]
mov dword [rdi + 8], eax
mov eax, dword [rdi]
mov dword [rdx], eax
mov dword [rdi], 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 0x14008d72f
xor edi, edi
jmp 0x14008d7a8
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 0x14008d7d2
movzx r10d, r11w
mov eax, 0x17
jmp 0x14008d842
cmp r11, 0x82
jae 0x14008d7fc
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 0x14008d842
cmp r11, 0x842
jae 0x14008d819
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14008d842
mov eax, 0x17
cmp r11, 0x1842
jae 0x14008d82d
lea r10d, [rax - 2]
jmp 0x14008d842
cmp r11, 0x5842
jae 0x14008d83e
mov r10d, 0x16
jmp 0x14008d842
movzx r10d, ax
cmp r9, 0xa
jae 0x14008d84f
sub r9w, 2
jmp 0x14008d88f
cmp r9, 0x86
jae 0x14008d874
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 0x14008d88f
cmp r9, 0x846
jae 0x14008d88b
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14008d88f
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 0x14008d8cc
cmp r10w, 8
jae 0x14008d8cc
cmp r9w, 0x10
jae 0x14008d8cc
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x14008d900
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]
lea r9, [r12 + r13]
mov r8, qword [rbp - 0x58]
xor edi, edi
mov word [r15 + 0xc], dx
add r15, 0x10
mov qword [rsp + 0x78], r15
lea rdx, [r12 + 2]
add qword [rax], r11
mov rax, r13
cmp r9, r8
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x58], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x14008d960
lea rax, [rbx*4]
sub r12, rax
add r12, r13
cmp rdx, r12
cmova r12, rdx
cmp r8, r12
mov rdx, r12
cmovb rdx, r8
mov r10, qword [rsp + 0x10]
cmp rdx, r8
jae 0x14008d9ba
mov r9, qword [rsp]
movabs rdi, 0x35a7bd1e35a7bd00
nop dword [rax + rax]
mov rax, qword [rsp + 8]
and rax, rdx
mov rcx, qword [rax + r9]
mov eax, edx
imul rcx, rdi
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r10 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x14008d980
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x30]
mov r12, r9
mov qword [rsp + 0x28], r9
jmp 0x14008db20
mov rdi, qword [rsp + 0x30]
inc r12
mov r15, qword [rsp + 0x50]
inc rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
cmp r12, r15
jbe 0x14008db1b
mov rax, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x68]
add rdx, 0xfffffffffffffff9
lea rax, [r15 + rax*4]
cmp r12, rax
jbe 0x14008da95
mov r15, qword [rsp]
lea rax, [r12 + 0x10]
mov r11, qword [rsp + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r12, rdx
jae 0x14008db14
add rdi, 4
mov rax, rdx
sub rax, r12
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rsp + 0x30], rdi
movabs rdi, 0x35a7bd1e35a7bd00
nop word [rax + rax]
mov rax, r11
and rax, r12
mov rcx, qword [rax + r15]
mov eax, r12d
imul rcx, rdi
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rbx + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r12d
add r12, 4
cmp r12, rdx
jb 0x14008da50
mov r10, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x28], r12
jmp 0x14008db29
lea rax, [r12 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r12, rdx
jae 0x14008db1b
mov r15, qword [rsp]
add rdi, 2
mov r11, qword [rsp + 8]
mov rax, rdx
sub rax, r12
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rsp + 0x30], rdi
movabs rdi, 0x35a7bd1e35a7bd00
mov rax, r11
and rax, r12
mov rcx, qword [rax + r15]
mov eax, r12d
imul rcx, rdi
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rbx + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r12d
add r12, 2
cmp r12, rdx
jb 0x14008dad2
mov r10, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x28], r12
jmp 0x14008db29
mov r10, qword [rsp + 0x10]
jmp 0x14008db29
mov r10, qword [rsp + 0x10]
mov r15, qword [rsp]
mov r11, qword [rsp + 8]
mov rdx, qword [rsp + 0x68]
lea rax, [r12 + 8]
mov r8, qword [rsp + 0x60]
movabs rcx, 0x35a7bd1e35a7bd00
mov rbx, qword [rsp + 0x70]
cmp rax, rdx
jb 0x14008c740
mov r9, qword [rsp + 0x78]
mov r14, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
sub rdx, r12
sub r9, rcx
add rdx, rdi
sar r9, 4
mov qword [rax], rdx
add qword [r14], r9
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400b84f0
add rsp, 0x138
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 rdi
push r13
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov r8, qword [rbp + 0x67]
mov rax, rcx
mov rsi, qword [rbp + 0x87]
mov r15, rdx
mov rdx, qword [rbp + 0x7f]
mov r10d, 1
mov rdi, qword [rbp + 0x6f]
mov r11, r9
mov ecx, dword [r8 + 8]
mov r13, qword [rbp + 0x77]
lea rbx, [rax + r15]
mov r9, qword [rdx]
shl r10, cl
mov rcx, qword [r8 + 0x10]
sub r10, 0x10
mov qword [rsp], rdi
mov qword [rbp - 0x61], r10
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x79], rsi
mov qword [rbp - 0x21], rsi
mov qword [rsp + 0x20], r9
mov qword [rbp - 0x69], rbx
cmp rax, 8
jb 0x14008dc2d
lea rax, [rbx - 7]
mov qword [rbp - 0x31], rax
jmp 0x14008dc31
mov qword [rbp - 0x31], r15
cmp dword [r8 + 4], 9
mov edx, 0x40
mov eax, 0x200
cmovl eax, edx
mov edx, dword [rdi + 0x58]
mov qword [rbp - 0x29], rax
add rax, r15
mov qword [rsp + 0x68], rax
cmp edx, 4
jle 0x14008dcbd
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 0x14008dcb8
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 + 0x60]
lea rax, [r15 + 8]
cmp rax, rbx
jae 0x14008f178
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe8], r14
nop word [rax + rax]
movsxd rsi, dword [rdi + 0x58]
lea rax, [rcx + r15]
mov r14, qword [rdi + 0x70]
mov r12, rbx
sub r12, r15
mov qword [rsp + 0x30], 0x7e4
cmp r15, r10
mov qword [rbp + 0x87], r12
mov r9, r10
mov qword [rsp + 0x70], r14
cmovb r9, r15
mov rcx, r10
mov r15, qword [rdi + 0x68]
cmp rax, r10
mov qword [rbp + 0x3f], r9
cmovb rcx, rax
mov qword [rbp - 0x71], r15
mov rax, qword [r8 + 0x50]
xor r10d, r10d
mov qword [rsp + 0x38], rax
mov ebx, r10d
mov rax, qword [rbp + 0x47]
mov r8, rax
mov qword [rsp + 0x28], rcx
and r8, r11
mov qword [rbp - 0x49], r10
mov qword [rsp + 0x10], r8
mov ecx, 0x7e4
mov qword [rsp + 8], r10
mov dword [rbp - 0x39], r10d
mov qword [rsp + 0x18], rcx
mov qword [rbp + 0x6f], r10
test rsi, rsi
je 0x14008def5
mov r15, qword [rsp + 0x10]
xor r8d, r8d
mov r14, qword [rbp + 0x4f]
mov qword [rbp + 0x6f], r8
mov qword [rsp + 0x18], rcx
nop dword [rax]
nop word [rax + rax]
movsxd rdi, dword [r13 + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x14008ded7
cmp rdi, r9
ja 0x14008ded7
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x14008ded7
lea rax, [rcx + r10]
cmp rax, r11
ja 0x14008ded3
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x14008ded3
lea r11, [rcx + r14]
mov rcx, r8
mov r8, r12
lea rdx, [r15 + r14]
shr r8, 3
test r8, r8
je 0x14008de1e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008deb3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008de00
mov r8, r12
and r8d, 7
je 0x14008de43
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14008de43
inc rcx
sub r8, 1
jne 0x14008de30
mov r8, rcx
cmp r8, 3
jae 0x14008de57
cmp r8, 2
jne 0x14008dec4
cmp rbx, r8
jae 0x14008dec4
mov r11, qword [rsp + 0x18]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14008dec4
test rbx, rbx
je 0x14008de97
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 0x14008dec4
mov qword [rsp + 0x18], r9
mov r10, r8
mov qword [rbp + 0x6f], r8
mov qword [rsp + 8], r8
mov qword [rbp - 0x49], rdi
mov qword [rsp + 0x30], r9
jmp 0x14008dec8
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14008de46
mov r10, qword [rbp + 0x6f]
mov r9, qword [rbp + 0x3f]
xor r8d, r8d
mov r11, qword [rbp + 0x57]
mov rax, qword [rbp + 0x47]
inc rbx
cmp rbx, rsi
jb 0x14008dd90
mov r15, qword [rbp - 0x71]
mov r14, qword [rsp + 0x70]
mov r8, qword [rsp + 0x10]
mov rdi, qword [rsp]
mov ecx, dword [rdi + 0x40]
movabs rax, 0x1fe35a7bd3579bd3
mov r12, qword [rbp + 0x4f]
add r12, r8
mov rdx, qword [r12]
and rdx, qword [rdi + 0x48]
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 + 0x70], r13
cmovbe rsi, rax
mov edi, edx
cmp rdx, rsi
jbe 0x14008e08b
mov rax, qword [rsp]
mov r13, qword [rbp + 0x4f]
mov r15d, dword [rax + 0x50]
nop dword [rax]
mov rbx, qword [rbp + 0x47]
dec rdi
mov rax, rdi
and rax, r15
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x14008e081
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x14008e078
lea rax, [rcx + r10]
cmp rax, r11
ja 0x14008e078
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x14008e078
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008dff5
mov r10, r11
sub r10, r12
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008e063
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008dfd0
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x14008e014
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14008e014
inc rcx
sub r8, 1
jne 0x14008e001
mov rdx, rcx
mov r8, qword [rsp + 0x10]
mov r9, qword [rbp + 0x3f]
mov r11, qword [rbp + 0x57]
cmp rdx, 4
jb 0x14008e074
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x18], rax
jae 0x14008e074
mov qword [rsp + 0x18], rax
mov r10, rdx
mov qword [rbp + 0x6f], rdx
mov qword [rsp + 8], rdx
mov qword [rbp - 0x49], rbx
mov qword [rsp + 0x30], rax
jmp 0x14008e078
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008e017
mov r10, qword [rbp + 0x6f]
cmp rdi, rsi
ja 0x14008df60
mov r13, qword [rsp + 0x70]
movzx edx, word [r13]
mov rsi, qword [rsp]
mov r15, qword [rbp + 0x47]
mov eax, dword [rsi + 0x50]
and rax, rdx
mov dword [r14 + rax*4], r15d
inc word [r13]
cmp qword [rsp + 0x30], 0x7e4
jne 0x14008e3b6
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 0x14008e3b2
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x14008e249
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14008e249
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 0x14008e16e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008e235
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008e150
mov r8, r11
and r8d, 7
je 0x14008e193
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x14008e193
inc rcx
sub r8, 1
jne 0x14008e180
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008e250
test r9, r9
je 0x14008e250
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x28]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rsp + 0x38]
ja 0x14008e255
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x30]
jb 0x14008e25c
mov qword [rsp + 0x30], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 8], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x39], r11d
mov qword [rbp - 0x49], r8
jmp 0x14008e25c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008e196
mov rsi, qword [rsp + 0x28]
jmp 0x14008e25c
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rbp + 0x87]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14008e3a8
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008e3a8
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 0x14008e2de
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14008e394
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008e2c0
mov r8, r11
and r8d, 7
je 0x14008e2fc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14008e2fc
inc rdx
inc rcx
sub r8, 1
jne 0x14008e2e7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008e3a8
test r9, r9
je 0x14008e3a8
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rsp + 0x38]
ja 0x14008e3a8
mov r15, qword [rbp + 0x47]
mov rsi, qword [rsp]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x30]
jb 0x14008e3ba
sub r11d, r9d
mov qword [rbp - 0x49], r8
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 8], rcx
mov dword [rbp - 0x39], r11d
mov qword [rsp + 0x30], rax
jmp 0x14008e3bf
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008e2ff
mov r15, qword [rbp + 0x47]
mov rsi, qword [rsp]
jmp 0x14008e3ba
mov r15, qword [rbp + 0x47]
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp + 8]
cmp qword [rsp + 0x30], 0x7e4
jbe 0x14008efbe
mov r12, qword [rbp + 0x87]
xor ebx, ebx
mov dword [rbp + 0x6f], ebx
dec r12
cmp dword [r14 + 4], 5
mov qword [rbp + 0x87], r12
jge 0x14008e3fb
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x14008e3fe
mov r10, rbx
mov r8, qword [rbp - 0x61]
lea rdx, [r15 + 1]
mov rax, qword [rsp + 0x60]
cmp rdx, r8
mov r13, qword [rbp + 0x57]
mov r9, r8
cmovb r9, rdx
mov qword [rsp + 0x10], r10
inc rax
mov qword [rsp + 0x48], rbx
add rax, r15
mov qword [rbp + 0x3f], rdx
mov r15, qword [rsi + 0x70]
cmp rax, r8
mov rcx, r8
mov qword [rsp + 0x18], r9
cmovb rcx, rax
mov qword [rbp - 0x59], r15
mov rax, qword [r14 + 0x50]
mov r11d, 0x7e4
mov r14, qword [rsi + 0x68]
mov r8, rdx
movsxd rsi, dword [rsi + 0x58]
and r8, r13
mov qword [rbp - 0x71], rcx
mov ecx, r11d
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x28], rcx
test rsi, rsi
je 0x14008e60d
mov r15, qword [rbp + 0x4f]
mov r14, r8
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x28], rcx
nop
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x14008e5f3
cmp rdi, r9
ja 0x14008e5f3
and rcx, r13
lea rdx, [r10 + r14]
cmp rdx, r13
ja 0x14008e5ef
lea rax, [rcx + r10]
cmp rax, r13
ja 0x14008e5eb
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x14008e5eb
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
xor eax, eax
test r8, r8
je 0x14008e52e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x14008e5c8
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14008e510
mov r8, r12
and r8d, 7
je 0x14008e553
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x14008e553
inc rax
sub r8, 1
jne 0x14008e540
mov r8, rax
cmp r8, 3
jae 0x14008e567
cmp r8, 2
jne 0x14008e5dc
cmp rbx, r8
jae 0x14008e5dc
mov r11, qword [rsp + 0x28]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14008e5dc
test rbx, rbx
je 0x14008e5a7
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 0x14008e5dc
mov qword [rsp + 0x28], r9
mov r10, r8
mov qword [rsp + 0x10], r8
mov r11, r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r9
jmp 0x14008e5e6
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x14008e556
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x10]
mov r9, qword [rsp + 0x18]
mov rax, qword [rbp + 0x77]
mov rdx, qword [rbp + 0x3f]
inc rbx
cmp rbx, rsi
jb 0x14008e4a0
mov r14, qword [rsp + 0x70]
mov r15, qword [rbp - 0x59]
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp]
movabs rax, 0x1fe35a7bd3579bd3
mov r12, qword [rbp + 0x4f]
add r12, r8
mov ecx, dword [rbx + 0x40]
mov rdx, qword [r12]
and rdx, qword [rbx + 0x48]
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 edx, word [r14 + rax*2]
mov esi, edx
mov edi, edx
sub rsi, qword [rbx + 0x38]
cmp rdx, qword [rbx + 0x38]
lea r13, [r14 + rax*2]
mov eax, 0
mov qword [rbp - 0x59], r13
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x14008e7c6
mov r14d, dword [rbx + 0x50]
mov r13, qword [rbp + 0x3f]
nop dword [rax]
nop dword [rax + rax]
dec rdi
mov rax, r14
and rax, rdi
mov rbx, r13
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x14008e7b9
and rcx, qword [rbp + 0x57]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x57]
ja 0x14008e7b0
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x14008e7b0
mov r13, qword [rbp + 0x4f]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rbp + 0x3f]
jne 0x14008e7b0
mov r11, qword [rbp + 0x4f]
xor eax, eax
add r11, rcx
mov rdx, r12
mov ecx, eax
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008e725
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008e795
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008e700
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x14008e744
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14008e744
inc rcx
sub r8, 1
jne 0x14008e731
mov rdx, rcx
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x18]
cmp rdx, 4
jb 0x14008e7a6
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x28], rax
jae 0x14008e7a6
mov qword [rsp + 0x28], rax
mov r10, rdx
mov qword [rsp + 0x10], rdx
mov r11, rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rax
jmp 0x14008e7b0
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008e747
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x10]
cmp rdi, rsi
ja 0x14008e680
mov r13, qword [rbp - 0x59]
mov rbx, qword [rsp]
movzx edx, word [r13]
mov eax, dword [rbx + 0x50]
mov rcx, qword [rbp + 0x3f]
and rax, rdx
mov dword [r15 + rax*4], ecx
inc word [r13]
cmp r11, 0x7e4
jne 0x14008eb61
mov r13, qword [rbx + 0x60]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14008eae8
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x14008e98d
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14008e98d
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 0x14008e89e
mov r10, r12
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008e96b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008e880
mov r8, r11
and r8d, 7
je 0x14008e8c3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14008e8c3
inc rcx
sub r8, 1
jne 0x14008e8b0
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008e97f
test r9, r9
je 0x14008e97f
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x71]
shl rdx, cl
inc r8
add rdx, rsi
mov rsi, qword [rsp + 0x50]
add r8, rdx
cmp r8, qword [rsp + 0x68]
ja 0x14008e984
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14008e992
mov rsi, rax
mov qword [rsp + 0x50], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x40], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x48], r8
jmp 0x14008e992
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008e8c6
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rbp + 0x87]
jmp 0x14008e992
mov rsi, qword [rsp + 0x50]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x14008eaf1
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008eaf1
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 0x14008ea1e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14008ead4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008ea00
mov r8, r11
and r8d, 7
je 0x14008ea3c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14008ea3c
inc rdx
inc rcx
sub r8, 1
jne 0x14008ea27
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008eaf1
test r9, r9
je 0x14008eaf1
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x71]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rsp + 0x68]
ja 0x14008eaf1
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rbp + 0x3f]
add rax, 0x780
cmp rax, rsi
jb 0x14008eaf5
sub r11d, r9d
mov qword [rsp + 0x40], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rax
jmp 0x14008eaf5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008ea3f
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x3f]
mov rax, qword [rsp + 0x30]
add rax, 0xaf
cmp rsi, rax
jb 0x14008eb77
movups xmm0, xmmword [rsp + 0x40]
inc qword [rsp + 0x20]
mov r15, rcx
movups xmm1, xmmword [rsp + 0x50]
mov qword [rbp + 0x47], rcx
mov ecx, dword [rbp + 0x6f]
inc ecx
mov dword [rbp + 0x6f], ecx
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm1
cmp ecx, 4
jge 0x14008eb6c
lea rax, [r15 + 8]
cmp rax, qword [rbp - 0x69]
jae 0x14008eb6c
mov rsi, qword [rbp - 0x41]
mov r12, qword [rbp + 0x87]
mov rcx, qword [rbp - 0x51]
dec r12
mov qword [rsp + 0x30], rsi
xor ebx, ebx
mov rsi, qword [rsp]
mov qword [rsp + 8], rcx
jmp 0x14008e3dd
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
jmp 0x14008eaf5
mov rdx, qword [rbp - 0x51]
mov qword [rsp + 8], rdx
jmp 0x14008eb80
mov r15, qword [rbp + 0x47]
mov rdx, qword [rsp + 8]
mov rax, qword [rbp - 0x29]
mov r10, qword [rbp - 0x61]
mov r11, qword [rbp + 0x77]
mov rdi, qword [rbp - 0x49]
lea r12, [rax + rdx*2]
mov rax, qword [rsp + 0x60]
add rax, r15
add r12, r15
cmp rax, r10
mov qword [rsp + 0x68], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rdi, r10
ja 0x14008ec39
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 0x14008ebd8
xor r9d, r9d
mov r8d, r9d
jmp 0x14008ec40
cmp rdi, r9
jne 0x14008ebe5
mov r8d, 1
jmp 0x14008ec3d
cmp r8, 7
jae 0x14008ec01
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14008ec3d
cmp rcx, 7
jae 0x14008ec19
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14008ec3d
movsxd rax, dword [r11 + 8]
cmp rdi, rax
jne 0x14008ec2a
mov r8d, 2
jmp 0x14008ec3d
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x14008ec3d
lea r8, [rdi + 0xf]
xor r9d, r9d
mov r13, qword [rsp]
cmp rdi, r10
ja 0x14008ecc6
test r8, r8
je 0x14008ecc6
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 0x14008ecc6
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 0x14008ecc6
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 - 0x79]
mov esi, dword [rbp - 0x39]
mov r12, qword [rsp + 8]
mov r11, qword [rsp + 0x20]
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 0x14008ecf9
mov ebx, r9d
jmp 0x14008ed76
mov r10, qword [rbp + 0x67]
add r8, 0xfffffffffffffff0
mov r11d, dword [r10 + 0x40]
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 + 0x20]
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 - 0x79]
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 0x14008eda4
movzx r10d, r11w
mov eax, 0x17
jmp 0x14008ee14
cmp r11, 0x82
jae 0x14008edce
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 0x14008ee14
cmp r11, 0x842
jae 0x14008edeb
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14008ee14
mov eax, 0x17
cmp r11, 0x1842
jae 0x14008edff
lea r10d, [rax - 2]
jmp 0x14008ee14
cmp r11, 0x5842
jae 0x14008ee10
mov r10d, 0x16
jmp 0x14008ee14
movzx r10d, ax
cmp r9, 0xa
jae 0x14008ee21
sub r9w, 2
jmp 0x14008ee61
cmp r9, 0x86
jae 0x14008ee46
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 0x14008ee61
cmp r9, 0x846
jae 0x14008ee5d
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14008ee61
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 0x14008ee9e
cmp r10w, 8
jae 0x14008ee9e
cmp r9w, 0x10
jae 0x14008ee9e
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x14008eed2
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 + 0x97]
lea rbx, [r15 + 2]
mov rsi, qword [rbp - 0x31]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp - 0x79], r14
lea r14, [r12 + r15]
add qword [rax], r11
xor eax, eax
cmp r14, rsi
mov qword [rsp + 0x20], rax
mov rax, r12
mov qword [rbp + 0x47], r14
cmovb rsi, r14
shr rax, 2
cmp rdi, rax
jae 0x14008ef39
lea rax, [rdi*4]
sub r12, rax
lea rax, [r12 + r15]
cmp rbx, rax
mov eax, 2
cmova r12, rax
lea rbx, [r15 + r12]
cmp rsi, rbx
cmovb rbx, rsi
cmp rbx, rsi
jae 0x14008efb2
mov r14, qword [rbp + 0x4f]
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [r13 + 0x40]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov rdx, qword [r13 + 0x68]
mov r8d, dword [r13 + 0x50]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + r14]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r13 + 0x48]
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]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], ebx
inc rbx
cmp rbx, rsi
jb 0x14008ef50
mov r14, qword [rbp + 0x47]
mov r15, r14
mov qword [rbp + 0x47], r14
jmp 0x14008f135
mov r9, qword [rsp + 0x20]
inc r15
mov r12, qword [rsp + 0x68]
inc r9
mov qword [rsp + 0x20], r9
mov qword [rbp + 0x47], r15
cmp r15, r12
jbe 0x14008f13a
mov rax, qword [rbp - 0x29]
mov rbx, qword [rbp - 0x69]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp r15, rax
jbe 0x14008f096
lea rax, [r15 + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x14008f13a
mov rax, rbx
add r9, 4
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r9, rax
mov qword [rsp + 0x20], r9
nop word [rax + rax]
mov rdx, qword [rsi + 0x68]
mov rax, r15
and rax, qword [rbp + 0x57]
mov r8d, dword [rsi + 0x50]
mov rcx, qword [rbp + 0x4f]
mov r11, qword [rsi + 0x70]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [rsi + 0x48]
mov ecx, dword [rsi + 0x40]
imul r10, rax
shr r10, cl
mov ecx, dword [rsi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], r15d
add r15, 4
cmp r15, rbx
jb 0x14008f030
jmp 0x14008f131
lea rax, [r15 + 8]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x14008f13a
mov rax, rbx
add r9, 2
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r9, rax
mov qword [rsp + 0x20], r9
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rsi + 0x68]
mov rax, r15
and rax, qword [rbp + 0x57]
mov r8d, dword [rsi + 0x50]
mov rcx, qword [rbp + 0x4f]
mov r11, qword [rsi + 0x70]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [rsi + 0x48]
mov ecx, dword [rsi + 0x40]
imul r10, rax
shr r10, cl
mov ecx, dword [rsi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], r15d
add r15, 2
cmp r15, rbx
jb 0x14008f0d0
mov qword [rbp + 0x47], r15
mov r9, qword [rsp + 0x20]
mov rbx, qword [rbp - 0x69]
lea rax, [r15 + 8]
mov r11, qword [rbp + 0x57]
mov rdi, qword [rsp]
mov r8, qword [rbp + 0x67]
mov r13, qword [rbp + 0x77]
mov r10, qword [rbp - 0x61]
mov rcx, qword [rsp + 0x60]
cmp rax, rbx
jb 0x14008dce0
mov r14, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rsi, qword [rbp - 0x79]
mov rax, qword [rbp + 0x7f]
sub rbx, r15
sub rsi, qword [rbp - 0x21]
add rbx, r9
sar rsi, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x8f]
add qword [rax], rsi
add rsp, 0xf8
pop r15
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 rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov rsi, qword [rbp + 0x87]
mov rax, rcx
mov r13, qword [rbp + 0x6f]
mov rdi, rdx
mov rdx, qword [rbp + 0x7f]
mov r9, r8
mov r8, qword [rbp + 0x67]
mov ebx, 1
mov r10, qword [rbp + 0x77]
lea r12, [rax + rdi]
mov qword [rsp + 0x58], r13
mov r11, qword [rdx]
mov ecx, dword [r8 + 8]
shl rbx, cl
mov rcx, qword [r8 + 0x10]
sub rbx, 0x10
mov qword [rbp - 0x41], rbx
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x71], rsi
mov qword [rbp - 0x21], rsi
mov qword [rsp + 0x28], r11
mov qword [rbp - 0x49], r12
cmp rax, 8
jb 0x14008f23e
lea rax, [r12 - 7]
mov qword [rbp - 0x39], rax
jmp 0x14008f242
mov qword [rbp - 0x39], rdi
cmp dword [r8 + 4], 9
mov edx, 0x40
mov eax, 0x200
cmovl eax, edx
mov edx, dword [r13 + 0x58]
mov qword [rbp - 0x31], rax
add rax, rdi
mov qword [rbp - 0x79], rax
cmp edx, 4
jle 0x14008f2cd
mov ecx, dword [r10]
lea eax, [rcx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x24], eax
cmp edx, 0xa
jle 0x14008f2c8
mov ecx, dword [r10 + 4]
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 rcx, qword [rsp + 0x70]
lea rax, [rdi + 8]
cmp rax, r12
jae 0x140090a8b
mov qword [rsp + 0xf0], r14
xor r10d, r10d
mov qword [rsp + 0xe8], r15
nop dword [rax]
movsxd rsi, dword [r13 + 0x58]
lea rax, [rcx + rdi]
mov r14, qword [r13 + 0x68]
sub r12, rdi
mov r15, qword [r13 + 0x70]
cmp rdi, rbx
mov r11, rbx
mov qword [rbp + 0x87], r12
cmovb r11, rdi
mov qword [rbp - 0x61], r10
cmp rax, rbx
mov qword [rsp + 8], r11
mov rcx, rbx
mov qword [rbp + 0x6f], r14
cmovb rcx, rax
mov qword [rsp + 0x20], r10
mov rax, qword [r8 + 0x50]
mov rbx, r10
mov qword [rsp + 0x60], rax
mov r8, rdi
mov rax, qword [rbp + 0x57]
and r8, rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x18], r8
mov ecx, 0x7e4
mov qword [rbp + 0x3f], rcx
mov dword [rbp - 0x51], r10d
mov qword [rsp + 0x10], rcx
mov qword [rsp], r10
test rsi, rsi
je 0x14008f4f6
mov rdx, qword [rbp + 0x47]
xor r13d, r13d
mov r15, qword [rbp + 0x77]
mov r10d, r13d
mov qword [rsp], r13
mov r14, r8
mov qword [rsp + 0x10], rcx
nop dword [rax]
movsxd rdi, dword [r15 + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x14008f4d8
cmp rdi, r11
ja 0x14008f4d8
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x14008f4d4
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x14008f4d0
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x14008f4d0
mov r8, r12
lea r11, [rcx + r9]
shr r8, 3
lea rdx, [r14 + r9]
mov rcx, r13
test r8, r8
je 0x14008f41e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14008f4b2
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008f400
mov r8, r12
and r8d, 7
je 0x14008f443
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14008f443
inc rcx
sub r8, 1
jne 0x14008f430
mov r8, rcx
cmp r8, 3
jae 0x14008f457
cmp r8, 2
jne 0x14008f4c3
cmp rbx, r8
jae 0x14008f4c3
mov r11, qword [rsp + 0x10]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14008f4c3
test rbx, rbx
je 0x14008f497
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 0x14008f4c3
mov qword [rsp + 0x10], r9
mov r10, r8
mov qword [rsp], r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x61], rdi
mov qword [rbp + 0x3f], r9
jmp 0x14008f4c7
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14008f446
mov r10, qword [rsp]
mov r9, qword [rbp + 0x4f]
mov r11, qword [rsp + 8]
mov rax, qword [rbp + 0x57]
mov rdx, qword [rbp + 0x47]
inc rbx
cmp rbx, rsi
jb 0x14008f390
mov r13, qword [rsp + 0x58]
mov r14, qword [rbp + 0x6f]
mov r8, qword [rsp + 0x18]
mov r15, qword [r13 + 0x70]
mov ecx, dword [r13 + 0x40]
add r9, r8
mov rdx, qword [r13 + 0x48]
movabs rax, 0x1fe35a7bd3579bd3
mov qword [rbp + 0x6f], 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 [rsp + 0x58]
mov esi, r13d
mov eax, 0
mov qword [rsp + 0x68], r12
mov edi, r13d
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rax
cmp r13, rsi
jbe 0x14008f695
mov r14d, dword [rdx + 0x50]
mov r13, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x87]
nop dword [rax]
mov rbx, qword [rbp + 0x47]
dec rdi
mov rax, rdi
and rax, r14
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r11
ja 0x14008f686
and rcx, qword [rbp + 0x57]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x57]
ja 0x14008f67d
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x14008f67d
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x14008f67d
xor eax, eax
lea r11, [rcx + r13]
mov r8, r12
mov rdx, r9
shr r8, 3
mov ecx, eax
test r8, r8
je 0x14008f5fa
mov r10, r11
sub r10, r9
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14008f668
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008f5e0
mov r8, r12
and r8d, 7
je 0x14008f619
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14008f619
inc rcx
sub r8, 1
jne 0x14008f606
mov rdx, rcx
mov r8, qword [rsp + 0x18]
mov r9, qword [rbp + 0x6f]
mov r11, qword [rsp + 8]
cmp rdx, 4
jb 0x14008f679
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x10], rax
jae 0x14008f679
mov qword [rsp + 0x10], rax
mov r10, rdx
mov qword [rsp], rdx
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x61], rbx
mov qword [rbp + 0x3f], rax
jmp 0x14008f67d
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008f61c
mov r10, qword [rsp]
cmp rdi, rsi
ja 0x14008f570
mov r12, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
mov rcx, qword [rbp + 0x47]
and rax, r13
mov rbx, qword [rbp + 0x3f]
mov dword [r15 + rax*4], ecx
inc word [r12]
cmp rbx, 0x7e4
jne 0x14008f9ad
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 0x14008f9ad
imul ebx, dword [r9], 0x1e35a7bd
lea r14, [rcx + 1]
mov r12, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x14008f855
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14008f855
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 0x14008f772
mov r10, r9
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14008f836
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008f750
mov r9, qword [rbp + 0x6f]
mov r8, r11
and r8d, 7
je 0x14008f793
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r9], al
jne 0x14008f793
inc rcx
sub r8, 1
jne 0x14008f780
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008f84a
test r9, r9
je 0x14008f84a
mov rax, qword [r12 + 0x68]
mov r8, r11
mov r12, qword [rsp + 0x30]
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
lea r8, [r12 + 1]
add rdx, rsi
add r8, rdx
mov rdx, qword [rbp + 0x87]
cmp r8, qword [rsp + 0x60]
ja 0x14008f830
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rbp + 0x3f]
jb 0x14008f830
mov qword [rbp + 0x3f], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x20], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], r8
mov r9, qword [rbp + 0x6f]
jmp 0x14008f85a
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008f796
mov rdx, qword [rbp + 0x87]
mov r9, qword [rbp + 0x6f]
mov r12, qword [rsp + 0x30]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x14008f9b3
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14008f9b3
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 0x14008f8de
mov r10, r9
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14008f995
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008f8c0
mov rsi, qword [rbp + 0x6f]
mov r8, r11
and r8d, 7
je 0x14008f904
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + rsi], al
jne 0x14008f904
inc rdx
inc rcx
sub r8, 1
jne 0x14008f8f0
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14008f9b7
test r9, r9
je 0x14008f9b7
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
mov rbx, qword [rbp + 0x3f]
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, r12
cmp r8, qword [rsp + 0x60]
ja 0x14008f9bb
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rbx
jb 0x14008f9bb
sub r11d, r9d
mov qword [rsp + 0x20], r9
inc qword [r13 + 0x10]
mov rbx, rax
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], r8
mov qword [rbp + 0x3f], rax
jmp 0x14008f9bb
mov rsi, qword [rbp + 0x6f]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14008f907
mov rsi, qword [rbp + 0x6f]
jmp 0x14008f9bb
mov rsi, qword [rbp + 0x6f]
mov rbx, qword [rbp + 0x3f]
mov r12, qword [rbp + 0x87]
mov r13, qword [rsp + 0x58]
mov r15, qword [rbp + 0x47]
cmp r12, 0x20
jb 0x14008fb56
mov r11, qword [r13 + 0x88]
cmp r11, r15
ja 0x14008fb49
mov r14, qword [rsp + 8]
lea rdi, [r11 + 0x20]
mov r10, qword [rbp + 0x4f]
mov r15, qword [rbp + 0x57]
nop word [rax + 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 0x14008fb35
mov rax, qword [r13 + 0x80]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
mov rax, qword [rbp + 0x47]
cmp r11, rax
jne 0x14008fb35
mov ecx, 0xffffffff
cmp r8, rcx
je 0x14008fb35
sub eax, r8d
mov ebx, eax
cmp rbx, r14
ja 0x14008fb31
and r8, r15
xor eax, eax
mov r9, r12
add r8, r10
shr r9, 3
mov rdx, rsi
mov ecx, eax
test r9, r9
je 0x14008faba
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x14008fb20
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14008faa0
mov r9, r12
and r9d, 7
je 0x14008fad9
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r8], al
jne 0x14008fad9
inc rcx
sub r9, 1
jne 0x14008fac6
mov rdx, rcx
mov r10, qword [rbp + 0x4f]
cmp rdx, 4
jb 0x14008fb31
cmp rdx, qword [rsp + 0x20]
jbe 0x14008fb31
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rbp + 0x3f]
jbe 0x14008fb31
mov qword [rbp - 0x61], rbx
mov rbx, rax
mov qword [rbp + 0x3f], rax
xor eax, eax
mov dword [rbp - 0x51], eax
mov qword [rsp + 0x20], rdx
jmp 0x14008fb35
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008fadc
mov rbx, qword [rbp + 0x3f]
inc r11
inc rdi
cmp r11, qword [rbp + 0x47]
jbe 0x14008fa00
mov r15, qword [rbp + 0x47]
lea rax, [r15 + 1]
mov qword [r13 + 0x88], rax
jmp 0x14008fb5a
lea rax, [r15 + 1]
cmp rbx, 0x7e4
jbe 0x1400908d1
mov rax, qword [rsp + 0x20]
xor edi, edi
mov dword [rbp + 0x6f], edi
dec r12
mov r8, qword [rbp + 0x67]
mov qword [rbp + 0x87], r12
cmp dword [r8 + 4], 5
jge 0x14008fb95
dec rax
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x14008fb98
mov r10, rdi
mov rbx, qword [rbp - 0x41]
lea rdx, [r15 + 1]
mov rax, qword [rsp + 0x70]
cmp rdx, rbx
movsxd rsi, dword [r13 + 0x58]
mov r9, rbx
mov r14, qword [r13 + 0x68]
cmovb r9, rdx
inc rax
mov qword [rsp + 8], r10
add rax, r15
mov qword [rsp + 0x40], rdi
mov r15, qword [r13 + 0x70]
cmp rax, rbx
mov rcx, rbx
mov qword [rsp], rdx
cmovb rcx, rax
mov qword [rsp + 0x18], r9
mov rax, qword [r8 + 0x50]
mov r11d, 0x7e4
mov qword [rbp - 0x79], rax
mov r8, rdx
mov rax, qword [rbp + 0x57]
mov rbx, rdi
and r8, rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x48], r11
mov ecx, r11d
mov qword [rsp + 0x10], r14
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x30], rcx
test rsi, rsi
je 0x14008fdb4
mov r15, qword [rbp + 0x4f]
mov r14, r8
mov qword [rsp + 0x30], rcx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0x77]
movsxd rdi, dword [rcx + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x14008fd93
cmp rdi, r9
ja 0x14008fd93
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x14008fd8f
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x14008fd8b
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x14008fd8b
xor eax, eax
lea r11, [rcx + r15]
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
mov ecx, eax
test r8, r8
je 0x14008fcce
mov r10, r11
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14008fd68
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008fcb0
mov r8, r12
and r8d, 7
je 0x14008fcf3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14008fcf3
inc rcx
sub r8, 1
jne 0x14008fce0
mov r8, rcx
cmp r8, 3
jae 0x14008fd07
cmp r8, 2
jne 0x14008fd7c
cmp rbx, r8
jae 0x14008fd7c
mov r11, qword [rsp + 0x30]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14008fd7c
test rbx, rbx
je 0x14008fd47
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 0x14008fd7c
mov qword [rsp + 0x30], r9
mov r10, r8
mov qword [rsp + 8], r8
mov r11, r9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], r9
jmp 0x14008fd86
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14008fcf6
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 8]
mov r9, qword [rsp + 0x18]
mov rax, qword [rbp + 0x57]
mov rdx, qword [rsp]
inc rbx
cmp rbx, rsi
jb 0x14008fc40
mov r13, qword [rsp + 0x58]
xor edi, edi
mov r14, qword [rsp + 0x10]
mov r8, qword [rsp + 0x68]
mov r15, qword [r13 + 0x70]
mov ecx, dword [r13 + 0x40]
movabs rax, 0x1fe35a7bd3579bd3
mov r9, qword [rbp + 0x4f]
add r9, r8
mov qword [rsp + 0x10], r9
mov rdx, qword [r9]
and rdx, qword [r13 + 0x48]
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 [rsp + 0x58]
mov esi, r13d
mov qword [rbp - 0x29], r12
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rdi
mov edi, r13d
cmp r13, rsi
jbe 0x14008ff77
mov r14d, dword [rdx + 0x50]
mov r13, qword [rsp]
mov r12, qword [rsp + 0x18]
nop dword [rax]
nop dword [rax + rax]
dec rdi
mov rbx, r13
mov rax, rdi
and rax, r14
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r12
ja 0x14008ff69
and rcx, qword [rbp + 0x57]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x57]
ja 0x14008ff60
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x14008ff60
mov r13, qword [rbp + 0x4f]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rsp]
jne 0x14008ff60
mov r11, qword [rbp + 0x4f]
xor eax, eax
add r11, rcx
mov rdx, r9
mov ecx, eax
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14008fed5
mov r10, r11
sub r10, r9
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14008ff45
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14008feb0
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x14008fef4
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14008fef4
inc rcx
sub r8, 1
jne 0x14008fee1
mov rdx, rcx
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x10]
cmp rdx, 4
jb 0x14008ff56
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x30], rax
jae 0x14008ff56
mov qword [rsp + 0x30], rax
mov r10, rdx
mov qword [rsp + 8], rdx
mov r11, rax
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
jmp 0x14008ff60
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14008fef7
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x14008fe30
mov r12, qword [rbp - 0x29]
mov rdx, qword [rsp + 0x58]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
mov r14, qword [rsp]
and rax, r13
mov dword [r15 + rax*4], r14d
inc word [r12]
mov r12, qword [rsp + 0x10]
cmp r11, 0x7e4
jne 0x14009029a
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 0x14009029a
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
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 0x14009012a
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14009012a
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 0x14009004e
mov r10, r12
sub r10, rdx
nop
mov rax, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rax, r8
jne 0x140090116
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140090030
mov r8, r11
and r8d, 7
je 0x140090073
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140090073
inc rcx
sub r8, 1
jne 0x140090060
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140090131
test r9, r9
je 0x140090131
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x60]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rbp - 0x79]
ja 0x140090136
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x14009013d
mov qword [rsp + 0x48], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x38], r9
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x40], r8
jmp 0x14009013d
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140090076
mov rsi, qword [rsp + 0x60]
jmp 0x14009013d
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rbp + 0x87]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x140090296
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14009028b
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 0x1400901be
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140090277
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400901a0
mov r8, r11
and r8d, 7
je 0x1400901dc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400901dc
inc rdx
inc rcx
sub r8, 1
jne 0x1400901c7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14009028b
test r9, r9
je 0x14009028b
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
mov rsi, qword [rsp + 0x48]
cmp r8, qword [rbp - 0x79]
ja 0x140090290
mov r14, qword [rsp]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14009029f
sub r11d, r9d
mov qword [rsp + 0x38], r9
inc qword [r13 + 0x10]
mov r15, r9
mov dword [rsp + 0x50], r11d
mov rsi, rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rax
jmp 0x1400902a4
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400901df
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp]
jmp 0x14009029f
mov r14, qword [rsp]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x38]
cmp qword [rbp + 0x87], 0x20
mov r13, qword [rsp + 0x58]
jb 0x140090426
mov r11, qword [r13 + 0x88]
cmp r11, r14
ja 0x14009041b
mov r10, qword [rbp + 0x4f]
lea rdi, [r11 + 0x20]
nop
mov r8d, dword [r13 + 0x78]
mov rax, r11
and rax, qword [rbp + 0x57]
mov r9d, r8d
imul r8d, dword [r13 + 0x94]
and r9d, 0x3fffffff
movzx edx, byte [rax + r10]
mov rax, rdi
and rax, qword [rbp + 0x57]
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 0x140090402
mov rax, qword [r13 + 0x80]
mov ecx, r9d
mov r9d, dword [rax + r9*4]
mov dword [rax + rcx*4], r11d
cmp r11, r14
jne 0x140090402
mov eax, 0xffffffff
cmp r9, rax
je 0x140090402
mov ebx, r14d
sub ebx, r9d
cmp rbx, qword [rsp + 0x18]
ja 0x140090402
and r9, qword [rbp + 0x57]
xor eax, eax
mov rcx, qword [rbp + 0x87]
add r9, r10
mov r8, rcx
mov rdx, r12
shr r8, 3
test r8, r8
je 0x1400903a5
nop word [rax + rax]
mov r10, qword [rdx]
mov rcx, qword [rax + r9]
cmp r10, rcx
jne 0x14009048c
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140090380
mov rcx, qword [rbp + 0x87]
mov r8, rcx
and r8d, 7
je 0x1400903c4
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r9], cl
jne 0x1400903c4
inc rax
sub r8, 1
jne 0x1400903b1
mov rdx, rax
mov r10, qword [rbp + 0x4f]
cmp rdx, 4
jb 0x140090402
cmp rdx, r15
jbe 0x140090402
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jbe 0x140090402
mov rsi, rax
mov qword [rsp + 0x40], rbx
xor eax, eax
mov r15, rdx
mov dword [rsp + 0x50], eax
inc r11
inc rdi
cmp r11, r14
jbe 0x1400902d0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x38], r15
lea rax, [r14 + 1]
mov qword [r13 + 0x88], rax
mov rax, qword [rbp + 0x3f]
add rax, 0xaf
cmp rsi, rax
jb 0x1400904ab
mov ecx, dword [rbp + 0x6f]
mov r15, r14
movups xmm0, xmmword [rsp + 0x38]
inc qword [rsp + 0x28]
inc ecx
mov qword [rbp + 0x47], r14
mov dword [rbp + 0x6f], ecx
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x1400904a0
lea rax, [r14 + 8]
cmp rax, qword [rbp - 0x49]
jae 0x1400904a0
mov rax, qword [rbp - 0x59]
mov r12, qword [rbp + 0x87]
mov qword [rbp + 0x3f], rax
dec r12
mov rax, qword [rbp - 0x69]
xor edi, edi
mov qword [rsp + 0x20], rax
jmp 0x14008fb74
xor rcx, r10
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x1400903c7
mov r11, qword [rbp - 0x69]
mov qword [rsp + 0x20], r11
jmp 0x1400904b4
mov r15, qword [rbp + 0x47]
mov r11, qword [rsp + 0x20]
mov rax, qword [rbp - 0x31]
mov r10, qword [rbp - 0x41]
mov rbx, qword [rbp + 0x77]
mov rdi, qword [rbp - 0x61]
lea r12, [rax + r11*2]
mov rax, qword [rsp + 0x70]
add rax, r15
add r12, r15
cmp rax, r10
mov qword [rbp - 0x79], r12
lea rdx, [rbx + 4]
cmovb r10, rax
cmp rdi, r10
ja 0x14009056c
movsxd rax, dword [rbx]
lea rcx, [rdi + 3]
movsxd r9, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r9
cmp rdi, rax
jne 0x14009050b
xor r9d, r9d
mov r8d, r9d
jmp 0x140090573
cmp rdi, r9
jne 0x140090518
mov r8d, 1
jmp 0x140090570
cmp r8, 7
jae 0x140090534
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140090570
cmp rcx, 7
jae 0x14009054c
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140090570
movsxd rax, dword [rbx + 8]
cmp rdi, rax
jne 0x14009055d
mov r8d, 2
jmp 0x140090570
movsxd rax, dword [rbx + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x140090570
lea r8, [rdi + 0xf]
xor r9d, r9d
cmp rdi, r10
ja 0x1400905e4
test r8, r8
je 0x1400905e4
mov eax, dword [rbx + 8]
mov ecx, dword [rbx]
mov dword [rbx + 0xc], eax
mov eax, dword [rdx]
mov dword [rbx + 8], eax
mov dword [rdx], ecx
mov dword [rbx], edi
mov edx, dword [r13 + 0x58]
cmp edx, 4
jle 0x1400905e4
lea eax, [rdi - 1]
mov dword [rbx + 0x10], eax
lea eax, [rdi + 1]
mov dword [rbx + 0x14], eax
lea eax, [rdi - 2]
mov dword [rbx + 0x18], eax
lea eax, [rdi + 2]
mov dword [rbx + 0x1c], eax
lea eax, [rdi - 3]
mov dword [rbx + 0x20], eax
lea eax, [rdi + 3]
mov dword [rbx + 0x24], eax
cmp edx, 0xa
jle 0x1400905e4
lea eax, [rcx - 1]
mov dword [rbx + 0x28], eax
lea eax, [rcx + 1]
mov dword [rbx + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rbx + 0x30], eax
lea eax, [rcx + 2]
mov dword [rbx + 0x34], eax
lea eax, [rcx - 3]
mov dword [rbx + 0x38], eax
lea eax, [rcx + 3]
mov dword [rbx + 0x3c], eax
mov rcx, qword [rbp - 0x71]
mov esi, dword [rbp - 0x51]
mov r12, qword [rsp + 0x28]
movzx eax, sil
shl eax, 0x19
or eax, r11d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov rcx, qword [rbp + 0x67]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140090616
mov ebx, r9d
jmp 0x14009068f
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 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 + 0x20]
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 - 0x71]
lea edx, [r11 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], ebx
cmp r12, 6
jae 0x1400906bd
movzx r10d, r12w
mov eax, 0x17
jmp 0x140090730
cmp r12, 0x82
jae 0x1400906e9
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 0x140090730
cmp r12, 0x842
jae 0x140090707
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140090730
mov eax, 0x17
cmp r12, 0x1842
jae 0x14009071b
lea r10d, [rax - 2]
jmp 0x140090730
cmp r12, 0x5842
jae 0x14009072c
mov r10d, 0x16
jmp 0x140090730
movzx r10d, ax
cmp r9, 0xa
jae 0x14009073d
sub r9w, 2
jmp 0x14009077d
cmp r9, 0x86
jae 0x140090762
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 0x14009077d
cmp r9, 0x846
jae 0x140090779
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14009077d
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 0x1400907ba
cmp r10w, 8
jae 0x1400907ba
cmp r9w, 0x10
jae 0x1400907ba
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x1400907ee
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 + 0x97]
lea rbx, [r15 + 2]
mov rsi, qword [rbp - 0x39]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp - 0x71], r14
lea r14, [r11 + r15]
add qword [rax], r12
xor eax, eax
cmp r14, rsi
mov qword [rsp + 0x28], rax
mov rax, r11
mov qword [rbp + 0x47], r14
cmovb rsi, r14
shr rax, 2
cmp rdi, rax
jae 0x140090855
lea rax, [rdi*4]
sub r11, rax
lea rax, [r11 + r15]
cmp rbx, rax
mov eax, 2
cmova r11, rax
lea rbx, [r15 + r11]
cmp rsi, rbx
cmovb rbx, rsi
cmp rbx, rsi
jae 0x1400908c5
mov r14, qword [rbp + 0x4f]
nop
mov ecx, dword [r13 + 0x40]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov rdx, qword [r13 + 0x68]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + r14]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r13 + 0x48]
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], ebx
inc rbx
cmp rbx, rsi
jb 0x140090860
mov r14, qword [rbp + 0x47]
mov rdi, r14
mov qword [rbp + 0x47], r14
jmp 0x140090a4a
mov r11, qword [rsp + 0x28]
mov rdi, rax
mov r12, qword [rbp - 0x79]
inc r11
mov qword [rsp + 0x28], r11
mov qword [rbp + 0x47], rax
cmp rax, r12
jbe 0x140090a4f
mov rax, qword [rbp - 0x31]
mov rbx, qword [rbp - 0x49]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp rdi, rax
jbe 0x1400909ab
lea rax, [rdi + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp rdi, rbx
jae 0x140090a4f
mov rax, rbx
add r11, 4
sub rax, rdi
dec rax
and rax, 0xfffffffffffffffc
add r11, rax
mov qword [rsp + 0x28], r11
nop dword [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, rdi
and rax, qword [rbp + 0x57]
mov rcx, qword [rbp + 0x4f]
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], edi
add rdi, 4
cmp rdi, rbx
jb 0x140090940
jmp 0x140090a46
lea rax, [rdi + 8]
cmp rax, rbx
cmovb rbx, rax
cmp rdi, rbx
jae 0x140090a4f
mov rax, rbx
add r11, 2
sub rax, rdi
dec rax
and rax, 0xfffffffffffffffe
add r11, rax
mov qword [rsp + 0x28], r11
nop dword [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, rdi
and rax, qword [rbp + 0x57]
mov rcx, qword [rbp + 0x4f]
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], edi
add rdi, 2
cmp rdi, rbx
jb 0x1400909e0
mov qword [rbp + 0x47], rdi
mov r11, qword [rsp + 0x28]
mov r12, qword [rbp - 0x49]
lea rax, [rdi + 8]
mov r9, qword [rbp + 0x4f]
mov r10d, 0
mov r8, qword [rbp + 0x67]
mov rbx, qword [rbp - 0x41]
mov rcx, qword [rsp + 0x70]
cmp rax, r12
jb 0x14008f2f0
mov r15, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xf0]
mov rsi, qword [rbp - 0x71]
mov rax, qword [rbp + 0x7f]
sub r12, rdi
sub rsi, qword [rbp - 0x21]
add r12, r11
sar rsi, 4
mov qword [rax], r12
mov rax, qword [rbp + 0x8f]
add qword [rax], rsi
add rsp, 0xf8
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret