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

Disassembly:
jmp 0x140053b60
sub rsp, 0x68
mov r11, qword [rsp + 0x98]
mov eax, dword [r11 + 0x28]
add eax, 0xfffffffe
cmp eax, 0x3f
ja case.0x140053ba2.14
mov qword [rsp + 0x60], rbx
lea rbx, [0x140000000]
cdqe
movzx eax, byte [rbx + rax + 0x53cac]
mov r10d, dword [rbx + rax*4 + 0x53c78]
add r10, rbx
mov rbx, qword [rsp + 0x60]
jmp r10
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140053eb0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400550e0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140057930
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140060180
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140064f00
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400594d0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14005bc50
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14005db40
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140061cc0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400562a0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400633c0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140066a70
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, 0xf8
mov r12, qword [rbp + 0x67]
mov rax, rcx
mov r14, qword [rbp + 0x87]
mov r11, r8
mov r8, qword [rbp + 0x7f]
mov r15, rdx
mov rdx, qword [rbp + 0x6f]
mov r10d, 1
mov ecx, dword [r12 + 8]
shl r10, cl
mov rdi, qword [r8]
sub r10, 0x10
mov rcx, qword [r12 + 0x10]
lea r8, [rax + r15]
mov qword [rsp + 0x48], rdx
mov qword [rbp - 0x71], r10
mov qword [rbp - 0x69], rcx
mov qword [rsp + 0x50], r14
mov qword [rbp - 0x21], r14
mov qword [rsp + 0x40], rdi
mov qword [rbp - 0x79], r8
cmp rax, 8
jb 0x140053f3d
lea rax, [r8 - 7]
mov qword [rbp - 0x41], rax
jmp 0x140053f41
mov qword [rbp - 0x41], r15
cmp dword [r12 + 4], 9
mov eax, 0x200
mov ebx, 0x40
cmovl eax, ebx
mov qword [rbp - 0x39], rax
add rax, r15
mov qword [rbp + 0x87], rax
lea rax, [r15 + 8]
cmp rax, r8
jae 0x140054d04
mov eax, r9d
mov qword [rsp + 0xf0], rsi
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x3f], eax
mov qword [rsp + 0xe8], r13
nop dword [rax + rax]
mov rbx, qword [rdx + 0x38]
lea rax, [rcx + r15]
sub r8, r15
mov qword [rsp + 0x38], 0
cmp r15, r10
mov qword [rsp + 0x20], r8
mov rdi, r10
mov qword [rbp - 0x59], 0
cmovb rdi, r15
mov qword [rsp + 0x30], 0x7e4
cmp rax, r10
mov r13, r10
cmovb r13, rax
mov rax, qword [r12 + 0x50]
mov r12, r15
mov qword [rsp + 0x28], rax
and r12, r9
add r12, r11
mov rcx, r12
movzx r14d, byte [r12]
call fcn.140070100
mov rcx, qword [rbp + 0x47]
mov esi, eax
mov rax, qword [rbp + 0x77]
mov dword [rbp - 0x49], 0
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, qword [rbp + 0x47]
jae 0x1400540df
mov eax, dword [rbp + 0x6f]
and rax, rcx
add r11, rax
cmp r14b, byte [r11]
jne 0x1400540df
mov rax, r8
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x140054063
mov r10, r11
sub r10, r12
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x1400540ce
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140054040
mov r8, qword [rsp + 0x20]
and r8d, 7
je 0x140054083
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140054083
inc rcx
sub r8, 1
jne 0x140054070
mov rax, rcx
cmp rax, 4
jb 0x1400540df
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x1400540df
mov rdi, qword [rsp + 0x20]
mov r10, rax
mov r12, qword [rbp + 0x67]
mov qword [rbp - 0x59], r15
mov r15, qword [rbp + 0x47]
mov dword [rbx + rsi*4], r15d
mov rsi, qword [rbp + 0x4f]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
jmp 0x14005437b
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140054086
mov edx, dword [rbx + rsi*4]
mov r15, qword [rbp + 0x47]
mov r11d, dword [rbp + 0x6f]
mov dword [rbx + rsi*4], r15d
and r11, rdx
mov rsi, qword [rbp + 0x4f]
mov rbx, r15
add r11, rsi
sub rbx, rdx
cmp r14b, byte [r11]
jne 0x140054bd6
test rbx, rbx
je 0x140054bd6
cmp rbx, rdi
ja 0x140054bd6
mov rdi, qword [rsp + 0x20]
xor ecx, ecx
mov rax, rdi
mov rdx, r12
shr rax, 3
test rax, rax
je 0x14005415a
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x1400541ba
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140054140
mov r8, rdi
and r8d, 7
je 0x140054179
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140054179
inc rcx
sub r8, 1
jne 0x140054166
mov rdx, rcx
cmp rdx, 4
jb 0x1400541cb
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x1400541cb
mov r12, qword [rbp + 0x67]
mov r10, rdx
mov qword [rsp + 0x38], rdx
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x30], rax
jmp 0x14005437b
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x14005417c
mov r10, qword [rsp + 0x48]
mov rbx, qword [r10 + 0x30]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x140054bdb
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 0x140054373
mov rax, qword [r8 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x14005436f
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 0x14005427e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140054349
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140054260
mov r8, r11
and r8d, 7
je 0x1400542a3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x1400542a3
inc rcx
sub r8, 1
jne 0x140054290
mov r9, rcx
mov r12, qword [rbp + 0x67]
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140054364
test r9, r9
je 0x140054364
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r12 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rsi
add rdx, r13
cmp rdx, qword [rsp + 0x28]
ja 0x140054364
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rbp + 0x4f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp + 0x30]
add rax, 0x780
cmp rax, rcx
jb 0x14005435d
mov qword [rsp + 0x30], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x38], r9
mov qword [rbx + 0x10], rax
mov r10, r9
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], rdx
jmp 0x14005437b
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400542a6
mov r10, qword [rsp + 0x38]
jmp 0x140054380
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rbp + 0x4f]
jmp 0x140054376
mov rsi, qword [rbp + 0x4f]
mov r12, r8
mov r10, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
cmp rcx, 0x7e4
jbe 0x140054bd6
mov ebx, dword [rbp + 0x3f]
lea r8, [r15 + 1]
mov qword [rsp + 0x28], r8
mov dword [rbp + 0x87], 0
mov dword [rbp + 0x6f], ebx
dec rdi
cmp dword [r12 + 4], 5
mov qword [rsp + 0x20], rdi
jge 0x1400543c6
lea rax, [r10 - 1]
mov r11, rdi
cmp rax, rdi
cmovb r11, rax
jmp 0x1400543c9
xor r11d, r11d
mov rdx, qword [rbp - 0x71]
mov rax, qword [rbp - 0x69]
cmp r8, rdx
mov r15, rdx
mov qword [rsp + 0x58], r11
cmovb r15, r8
mov qword [rsp + 0x60], 0
add rax, r8
mov qword [rsp + 0x68], 0x7e4
cmp rax, rdx
mov rcx, rdx
cmovb rcx, rax
mov rax, qword [r12 + 0x50]
mov qword [rbp - 0x31], rcx
mov rcx, r8
and rcx, qword [rbp + 0x57]
mov qword [rbp - 0x29], rax
mov rax, qword [rsp + 0x48]
lea r13, [rcx + rsi]
mov rdi, qword [rax + 0x38]
lea rax, [rcx + r11]
movzx r14d, byte [rax + rsi]
mov rcx, r13
call fcn.140070100
mov esi, eax
mov rcx, r8
mov rax, qword [rbp + 0x77]
mov dword [rsp + 0x70], 0
movsxd r12, dword [rax]
sub rcx, r12
cmp rcx, r8
jae 0x14005452d
mov r9, qword [rbp + 0x4f]
mov eax, ebx
and rcx, rax
lea rax, [rcx + r11]
cmp r14b, byte [rax + r9]
jne 0x14005452d
mov rax, qword [rsp + 0x20]
lea rbx, [rcx + r9]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x1400544b3
mov r10, rbx
sub r10, r13
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14005451c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140054490
mov rax, qword [rsp + 0x20]
mov r8, rax
and r8d, 7
je 0x1400544d2
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x1400544d2
inc rcx
sub r8, 1
jne 0x1400544c0
mov rax, rcx
mov r8, qword [rsp + 0x28]
cmp rax, 4
jb 0x14005452d
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x14005452d
mov dword [rdi + rsi*4], r8d
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rbp + 0x4f]
mov qword [rsp + 0x60], r12
mov r12, qword [rbp + 0x67]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rcx
jmp 0x1400547c7
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x1400544d5
mov ecx, dword [rdi + rsi*4]
mov rbx, r8
mov dword [rdi + rsi*4], r8d
sub rbx, rcx
mov r8d, dword [rbp + 0x6f]
mov rsi, qword [rbp + 0x4f]
and r8, rcx
lea rax, [r8 + r11]
cmp r14b, byte [rax + rsi]
jne 0x1400547ae
test rbx, rbx
je 0x1400547ae
mov rdi, qword [rsp + 0x20]
cmp rbx, r15
ja 0x1400545ff
lea r11, [r8 + rsi]
xor eax, eax
mov r8, rdi
mov rdx, r13
shr r8, 3
test r8, r8
je 0x1400545aa
mov r10, r11
sub r10, r13
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x140054608
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140054590
mov r8, rdi
and r8d, 7
je 0x1400545c9
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x1400545c9
inc rax
sub r8, 1
jne 0x1400545b6
mov rdx, rax
cmp rdx, 4
jb 0x140054619
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x140054619
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rax
mov r12, qword [rbp + 0x67]
jmp 0x1400547c2
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x1400545cc
mov rax, qword [rsp + 0x48]
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 0x1400547c2
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 0x1400547c2
mov rax, qword [r12 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x1400547be
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 0x1400546ce
mov r10, r13
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14005479a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400546b0
mov r8, r11
and r8d, 7
je 0x1400546f3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r13], al
jne 0x1400546f3
inc rcx
sub r8, 1
jne 0x1400546e0
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400547b9
test r9, r9
je 0x1400547b9
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r12 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x31]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x29]
ja 0x1400547b9
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rbp + 0x4f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x1400547c7
mov qword [rsp + 0x68], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x58], r9
mov qword [rbx + 0x10], rax
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x60], rdx
jmp 0x1400547c7
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400546f6
mov rdi, qword [rsp + 0x20]
mov r12, qword [rbp + 0x67]
jmp 0x1400547c2
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rbp + 0x4f]
mov r8, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r15, qword [rbp + 0x47]
add rax, 0xaf
cmp qword [rsp + 0x68], rax
jb 0x140054840
mov ecx, dword [rbp + 0x87]
inc r15
movups xmm0, xmmword [rsp + 0x58]
inc qword [rsp + 0x40]
inc ecx
movups xmm1, xmmword [rsp + 0x68]
inc r8
mov qword [rbp + 0x47], r15
mov qword [rsp + 0x28], r8
mov dword [rbp + 0x87], ecx
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x14005483a
lea rax, [r8 + 7]
cmp rax, qword [rbp - 0x79]
jae 0x14005483a
mov r10, qword [rbp - 0x51]
mov ebx, dword [rbp + 0x6f]
mov qword [rsp + 0x30], r10
mov r10, qword [rbp - 0x61]
mov qword [rsp + 0x38], r10
jmp 0x1400543a6
mov r13, qword [rbp - 0x61]
jmp 0x140054845
mov r13, qword [rsp + 0x38]
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 0x1400548f8
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 0x140054897
xor r8d, r8d
jmp 0x1400548fc
cmp rbx, r9
jne 0x1400548a4
mov r8d, 1
jmp 0x1400548fc
cmp r8, 7
jae 0x1400548c0
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400548fc
cmp rcx, 7
jae 0x1400548d8
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400548fc
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x1400548e9
mov r8d, 2
jmp 0x1400548fc
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x1400548fc
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x14005491c
test r8, r8
je 0x14005491c
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 + 0x50]
mov esi, dword [rbp - 0x49]
mov r11, qword [rsp + 0x40]
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 0x14005494b
xor edi, edi
jmp 0x1400549c5
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 + 0x40]
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 + 0x50]
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 0x1400549f4
movzx r10d, r11w
mov ecx, 0x17
jmp 0x140054a65
cmp r11, 0x82
jae 0x140054a1e
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 0x140054a65
mov ecx, 0x17
cmp r11, 0x842
jae 0x140054a3b
lea eax, [r11 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x140054a65
cmp r11, 0x1842
jae 0x140054a4c
mov r10d, 0x15
jmp 0x140054a65
mov r10d, 0x16
cmp r11, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x140054a71
sub dx, 2
jmp 0x140054aaf
cmp rdx, 0x86
jae 0x140054a96
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 0x140054aaf
cmp rdx, 0x846
jae 0x140054aac
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x140054aaf
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 0x140054aee
cmp r10w, 8
jae 0x140054aee
cmp dx, 0x10
jae 0x140054aee
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x140054b20
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 r10, [r15 + r13]
mov word [r14 + 0xc], r9w
lea r8, [r15 + 2]
mov r9, qword [rbp - 0x41]
add r14, 0x10
xor edi, edi
mov qword [rsp + 0x50], r14
add qword [rax], r11
mov rax, r13
cmp r10, r9
mov qword [rsp + 0x40], rdi
cmovb r9, r10
shr rax, 2
cmp rbx, rax
jae 0x140054b84
lea rax, [rbx*4]
sub r13, rax
lea rax, [r15 + r13]
cmp r8, rax
mov eax, 2
cmova r13, rax
lea r8, [r15 + r13]
cmp r9, r8
cmovb r8, r9
mov r11, qword [rbp + 0x4f]
cmp r8, r9
jae 0x140054bca
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x57]
nop word [rax + rax]
mov rcx, r8
and rcx, rdi
add rcx, r11
call fcn.140070100
mov ecx, eax
mov rax, qword [r12 + 0x38]
mov dword [rax + rcx*4], r8d
inc r8
cmp r8, r9
jb 0x140054ba0
mov r12, qword [rbp + 0x67]
mov rdi, qword [rsp + 0x40]
mov r15, r10
mov qword [rbp + 0x47], r10
jmp 0x140054cd2
mov r10, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
inc r15
mov r11, qword [rbp + 0x87]
inc rdi
mov qword [rsp + 0x40], rdi
mov qword [rbp + 0x47], r15
cmp r15, r11
jbe 0x140054cc5
mov rax, qword [rbp - 0x39]
mov r8, qword [rbp - 0x79]
add r8, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r15, rax
jbe 0x140054c75
mov r9, qword [rbp + 0x57]
lea rax, [r15 + 0x10]
cmp rax, r8
cmovb r8, rax
cmp r15, r8
jae 0x140054c66
mov rax, r8
add rdi, 4
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rsp + 0x40], rdi
mov rcx, r15
and rcx, r9
add rcx, rsi
call fcn.140070100
mov ecx, eax
mov rax, qword [r10 + 0x38]
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, r8
jb 0x140054c41
mov qword [rbp + 0x47], r15
mov r11, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x67]
mov r14, qword [rsp + 0x50]
jmp 0x140054cd6
lea rax, [r15 + 8]
cmp rax, r8
cmovb r8, rax
cmp r15, r8
jae 0x140054cc5
mov r9, qword [rbp + 0x57]
mov rax, r8
sub rax, r15
add rdi, 2
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rsp + 0x40], rdi
mov rcx, r15
and rcx, r9
add rcx, rsi
call fcn.140070100
mov ecx, eax
mov rax, qword [r10 + 0x38]
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, r8
jb 0x140054ca2
jmp 0x140054c62
mov r14, qword [rsp + 0x50]
mov r12, qword [rbp + 0x67]
mov r11, qword [rbp + 0x4f]
mov r9, qword [rbp + 0x57]
mov r8, qword [rbp - 0x79]
lea rax, [r15 + 8]
mov rdx, qword [rsp + 0x48]
mov r10, qword [rbp - 0x71]
mov rcx, qword [rbp - 0x69]
cmp rax, r8
jb 0x140053f90
mov r13, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rax, qword [rbp + 0x7f]
sub r8, r15
sub r14, qword [rbp - 0x21]
add r8, rdi
sar r14, 4
mov qword [rax], r8
mov rax, qword [rbp + 0x8f]
add qword [rax], r14
add rsp, 0xf8
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 - 0x10]
sub rsp, 0x110
mov r14, qword [rbp + 0x98]
mov rax, rcx
mov r10, qword [rbp + 0x78]
mov r15, rdx
mov rdx, qword [rbp + 0x80]
mov r11d, 1
mov rbx, qword [rbp + 0x88]
mov rsi, r9
mov r9, r8
mov qword [rsp + 0x48], rdx
mov ecx, dword [r10 + 8]
lea r8, [rax + r15]
shl r11, cl
mov rcx, qword [r10 + 0x10]
sub r11, 0x10
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp + 0x90]
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x38], r14
mov rdi, qword [rcx]
mov qword [rbp + 0x98], rdi
mov qword [rsp + 0x70], r8
cmp rax, 8
jb 0x140055180
lea rax, [r8 - 7]
mov qword [rbp - 0x80], rax
jmp 0x140055184
mov qword [rbp - 0x80], r15
cmp dword [r10 + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x78], rax
add rax, r15
mov qword [rsp + 0x28], rax
lea rax, [r15 + 8]
cmp rax, r8
jae 0x140055edd
mov qword [rsp + 0x108], r13
mov eax, 3
movaps xmmword [rsp + 0xf0], xmm6
movdqa xmm6, xmmword [0x14040d5a0]
movaps xmmword [rsp + 0xe0], xmm7
movdqa xmm7, xmmword [0x14040d5c0]
movaps xmmword [rsp + 0xd0], xmm8
movd xmm8, eax
psllq xmm6, xmm8
mov rax, qword [rdx + 0x38]
mov r10, r8
sub r10, r15
mov qword [rsp + 0x30], 0x7e4
cmp r15, r11
mov qword [rbp + 0x80], r10
mov r13, r11
mov qword [rsp + 0x40], rax
cmovb r13, r15
xor r11d, r11d
and r15, rsi
mov qword [rbp + 0x50], r11
movzx r14d, byte [r15 + r9]
lea r8, [r15 + r9]
mov rcx, r8
mov qword [rbp - 0x58], r11
call fcn.140070120
movsxd rdi, dword [rbx]
xor r12d, r12d
mov ecx, eax
mov esi, 0x7e4
mov dword [rbp - 0x48], r11d
movq xmm0, rcx
mov rcx, qword [rbp + 0x58]
sub rcx, rdi
punpcklqdq xmm0, xmm0
cmp rcx, qword [rbp + 0x58]
jae 0x140055327
mov ebx, dword [rbp + 0x68]
and rbx, rcx
add rbx, r9
movzx eax, byte [rbx]
cmp r14d, eax
jne 0x140055327
mov rax, r10
xor ecx, ecx
shr rax, 3
mov rdx, r8
test rax, rax
je 0x1400552b1
mov r11, rbx
sub r11, r8
mov r10, qword [rdx]
mov r9, qword [r11 + rdx]
cmp r10, r9
jne 0x14005530f
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140055290
mov r10, qword [rbp + 0x80]
mov r9, r10
and r9d, 7
je 0x1400552d2
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x1400552d2
inc rcx
sub r9, 1
jne 0x1400552c0
mov rax, rcx
mov rdx, qword [rbp + 0x60]
cmp rax, 4
jb 0x14005532b
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x14005532b
mov qword [rbp + 0x50], rax
mov r12, rax
add rax, r15
mov qword [rbp - 0x58], rdi
mov qword [rsp + 0x30], rcx
mov rsi, rcx
movzx r14d, byte [rax + rdx]
jmp 0x14005532b
xor r9, r10
mov r10, qword [rbp + 0x80]
tzcnt rax, r9
shr rax, 3
add rax, rcx
jmp 0x1400552d5
mov rdx, qword [rbp + 0x60]
mov rdi, qword [rbp + 0x58]
paddq xmm0, xmm6
mov rcx, qword [rsp + 0x40]
mov rax, rdi
shr rax, 3
andps xmm0, xmm7
and eax, 1
movdqu xmmword [rbp - 0x70], xmm0
mov rax, qword [rbp + rax*8 - 0x70]
mov qword [rsp + 0x38], rax
movq rax, xmm0
mov r9d, dword [rcx + rax*4]
mov eax, dword [rbp + 0x68]
sub rdi, r9
and r9, rax
lea rax, [r9 + r12]
movzx ecx, byte [rax + rdx]
cmp r14d, ecx
jne 0x140055438
test rdi, rdi
je 0x140055438
cmp rdi, r13
ja 0x140055438
mov rbx, qword [rbp + 0x60]
xor ecx, ecx
add rbx, r9
mov rdx, r8
mov r9, r10
shr r9, 3
test r9, r9
je 0x1400553d5
mov r11, rbx
sub r11, r8
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [rdx + r11]
cmp r10, rax
jne 0x140055526
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1400553b0
mov r10, qword [rbp + 0x80]
mov r9, r10
and r9d, 7
je 0x1400553f3
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x1400553f3
inc rcx
sub r9, 1
jne 0x1400553e1
mov rdx, rcx
cmp rdx, 4
jb 0x140055438
bsr eax, edi
imul r9, rdx, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp rsi, r9
jae 0x140055438
lea rax, [rdx + r15]
mov qword [rbp + 0x50], rdx
mov r12, rdx
mov qword [rsp + 0x30], r9
mov rdx, qword [rbp + 0x60]
mov rsi, r9
mov qword [rbp - 0x58], rdi
movzx r14d, byte [rax + rdx]
mov rdi, qword [rsp + 0x40]
mov r10, qword [rbp + 0x68]
mov r15, qword [rbp + 0x58]
mov r9, qword [rbp + 0x60]
mov rbx, r15
psrldq xmm0, 8
movq rax, xmm0
mov edx, r10d
mov ecx, dword [rdi + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rdx + r12]
movzx ecx, byte [rax + r9]
cmp r14d, ecx
jne 0x14005554b
test rbx, rbx
je 0x14005554b
mov r12, qword [rbp + 0x80]
xor r14d, r14d
cmp rbx, r13
ja 0x140055555
mov rax, r12
lea r11, [rdx + r9]
shr rax, 3
mov ecx, r14d
test rax, rax
je 0x1400554ca
mov r10, r11
sub r10, r8
nop dword [rax]
mov r9, qword [r8]
mov rdx, qword [r8 + r10]
cmp r9, rdx
jne 0x14005553a
add r8, 8
add rcx, 8
sub rax, 1
jne 0x1400554b0
mov rdx, r12
and edx, 7
je 0x1400554e8
movzx eax, byte [r8]
cmp byte [rcx + r11], al
jne 0x1400554e8
inc r8
inc rcx
sub rdx, 1
jne 0x1400554d2
mov r8, rcx
mov r9, qword [rbp + 0x60]
mov r10, qword [rbp + 0x68]
cmp r8, 4
jb 0x140055555
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x140055555
mov rcx, r8
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x50], rcx
mov qword [rbp - 0x58], rbx
jmp 0x140055559
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400553f6
xor rdx, r9
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x1400554eb
mov r12, qword [rbp + 0x80]
xor r14d, r14d
mov rcx, qword [rbp + 0x50]
cmp qword [rsp + 0x30], 0x7e4
mov rax, qword [rsp + 0x38]
mov dword [rdi + rax*4], r15d
jbe 0x140055d75
movdqa xmm6, xmmword [0x14040d5a0]
lea rdi, [r15 + 1]
psllq xmm6, xmm8
mov qword [rsp + 0x28], rdi
dec r12
mov dword [rbp + 0x58], r14d
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x80], r12
cmp dword [rax + 4], 5
jge 0x1400555b4
lea rax, [rcx - 1]
mov rsi, r12
cmp rax, r12
cmovb rsi, rax
mov qword [rsp + 0x50], rsi
jmp 0x1400555bc
mov rsi, r14
mov qword [rsp + 0x50], r14
mov r10, qword [rsp + 0x78]
mov edx, 0x7e4
mov rax, qword [rsp + 0x48]
cmp rdi, r10
mov r11, qword [rbp + 0x68]
mov r13, rdi
cmovb r10, rdi
mov qword [rsp + 0x58], r14
and r13, r11
mov qword [rsp + 0x60], rdx
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r10
lea rax, [rsi + r13]
movzx r12d, byte [rax + r9]
lea r8, [r9 + r13]
mov rcx, r8
call fcn.140070120
mov r9, qword [rsp + 0x28]
mov rdx, qword [rbp + 0x60]
mov ecx, eax
mov rax, qword [rbp + 0x88]
mov dword [rsp + 0x68], r14d
mov r14d, 0x7e4
movq xmm1, rcx
movsxd rdi, dword [rax]
sub r9, rdi
punpcklqdq xmm1, xmm1
cmp r9, qword [rsp + 0x28]
jae 0x14005570a
mov eax, r11d
and r9, rax
lea rax, [rsi + r9]
movzx ecx, byte [rax + rdx]
cmp r12d, ecx
jne 0x14005570a
mov rbx, qword [rbp + 0x60]
xor eax, eax
mov r14, qword [rbp + 0x80]
add rbx, r9
mov r9, r14
mov rdx, r8
shr r9, 3
test r9, r9
je 0x14005569e
mov r11, rbx
sub r11, r8
nop dword [rax]
mov r10, qword [rdx]
mov rcx, qword [r11 + rdx]
cmp r10, rcx
jne 0x14005582f
add rdx, 8
add rax, 8
sub r9, 1
jne 0x140055680
mov r9, r14
and r9d, 7
je 0x1400556c2
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + rbx], cl
jne 0x1400556c2
inc rax
sub r9, 1
jne 0x1400556b0
mov rcx, rax
mov rdx, qword [rbp + 0x60]
mov r14d, 0x7e4
mov r10, qword [rsp + 0x38]
cmp rcx, 4
jb 0x14005570a
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, r14
jbe 0x14005570a
mov qword [rsp + 0x60], rax
mov r14, rax
lea rax, [rcx + r13]
mov qword [rsp + 0x50], rcx
movzx r12d, byte [rax + rdx]
mov rsi, rcx
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0x28]
movdqa xmm0, xmm6
mov rcx, qword [rsp + 0x40]
paddq xmm0, xmm1
mov r9d, dword [rbp + 0x68]
andps xmm0, xmm7
mov rdi, qword [rsp + 0x28]
shr rax, 3
and eax, 1
movdqu xmmword [rbp - 0x70], xmm0
mov rax, qword [rbp + rax*8 - 0x70]
mov qword [rbp - 0x70], rax
movq rax, xmm0
mov ecx, dword [rcx + rax*4]
and r9, rcx
sub rdi, rcx
lea rax, [r9 + rsi]
movzx ecx, byte [rax + rdx]
cmp r12d, ecx
jne 0x140055854
test rdi, rdi
je 0x140055854
cmp rdi, r10
ja 0x140055854
mov rbx, qword [rbp + 0x60]
xor ecx, ecx
mov rax, qword [rbp + 0x80]
add rbx, r9
mov r9, rax
mov rdx, r8
shr r9, 3
test r9, r9
je 0x1400557c5
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 0x140055843
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1400557a0
mov rax, qword [rbp + 0x80]
mov r9, rax
and r9d, 7
je 0x1400557e3
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x1400557e3
inc rcx
sub r9, 1
jne 0x1400557d1
mov rdx, rcx
cmp rdx, 4
jb 0x140055854
bsr eax, edi
imul r9, rdx, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp r14, r9
jae 0x140055854
lea rax, [rdx + r13]
mov qword [rsp + 0x50], rdx
mov rsi, rdx
mov qword [rsp + 0x60], r9
mov rdx, qword [rbp + 0x60]
mov r14, r9
mov r13, r9
mov qword [rsp + 0x58], rdi
movzx r12d, byte [rax + rdx]
jmp 0x140055859
xor rcx, r10
tzcnt rcx, rcx
shr rcx, 3
add rcx, rax
jmp 0x1400556c5
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400557e6
mov r13, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x68]
mov rdi, qword [rsp + 0x28]
mov r9, qword [rbp + 0x60]
mov rbx, rdi
psrldq xmm0, 8
movq rax, xmm0
mov edx, edx
mov ecx, dword [rcx + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rdx + rsi]
movzx ecx, byte [rax + r9]
cmp r12d, ecx
jne 0x140055955
test rbx, rbx
je 0x140055955
mov r12, qword [rbp + 0x80]
cmp rbx, qword [rsp + 0x38]
ja 0x14005595c
lea r11, [rdx + r9]
xor ecx, ecx
mov rdx, r12
shr rdx, 3
test rdx, rdx
je 0x1400558ea
mov r10, r11
sub r10, r8
nop dword [rax + rax]
mov r9, qword [r8]
mov rax, qword [r10 + r8]
cmp r9, rax
jne 0x140055944
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x1400558d0
mov rdx, r12
and edx, 7
je 0x140055908
movzx eax, byte [r8]
cmp byte [rcx + r11], al
jne 0x140055908
inc r8
inc rcx
sub rdx, 1
jne 0x1400558f2
mov rdx, rcx
mov r9, qword [rbp + 0x60]
cmp rdx, 4
jb 0x14005595c
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r14, rax
jae 0x14005595c
mov qword [rsp + 0x50], rdx
mov r13, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rbx
jmp 0x14005595c
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14005590b
mov r12, qword [rbp + 0x80]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x30]
add rax, 0xaf
cmp r13, rax
mov r13, qword [rbp + 0x98]
jb 0x1400559e0
mov ecx, dword [rbp + 0x58]
inc rdi
movups xmm0, xmmword [rsp + 0x50]
inc ecx
inc r13
movups xmm1, xmmword [rsp + 0x60]
inc r15
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x98], r13
mov dword [rbp + 0x58], ecx
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp ecx, 4
jge 0x1400559da
lea rax, [rdi + 7]
cmp rax, qword [rsp + 0x70]
jae 0x1400559da
mov rax, qword [rbp - 0x50]
dec r12
mov rcx, qword [rbp - 0x60]
xor r14d, r14d
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x50], rcx
jmp 0x14005558e
mov r12, qword [rbp - 0x60]
jmp 0x1400559e4
mov r12, qword [rbp + 0x50]
mov rax, qword [rbp - 0x78]
mov r9, qword [rsp + 0x78]
mov rbx, qword [rbp - 0x58]
lea r11, [rax + r12*2]
mov rax, qword [rbp - 0x40]
add r11, r15
add rax, r15
cmp rax, r9
mov qword [rsp + 0x28], r11
mov r11, qword [rbp + 0x88]
cmovb r9, rax
lea rdx, [r11 + 4]
cmp rbx, r9
ja 0x140055a99
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r10, dword [rdx]
mov r8, rcx
sub r8, rax
sub rcx, r10
cmp rbx, rax
jne 0x140055a38
xor r8d, r8d
jmp 0x140055a9d
cmp rbx, r10
jne 0x140055a45
mov r8d, 1
jmp 0x140055a9d
cmp r8, 7
jae 0x140055a61
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140055a9d
cmp rcx, 7
jae 0x140055a79
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140055a9d
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140055a8a
mov r8d, 2
jmp 0x140055a9d
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140055a9d
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x140055abd
test r8, r8
je 0x140055abd
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 - 0x48]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [rcx], r13d
mov dword [rcx + 4], eax
mov rcx, qword [rbp + 0x78]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140055aea
xor edi, edi
jmp 0x140055b5e
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 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 0x140055b8d
movzx r10d, r13w
mov eax, 0x17
jmp 0x140055bfd
cmp r13, 0x82
jae 0x140055bb7
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 0x140055bfd
cmp r13, 0x842
jae 0x140055bd4
lea eax, [r13 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140055bfd
mov eax, 0x17
cmp r13, 0x1842
jae 0x140055be8
lea r10d, [rax - 2]
jmp 0x140055bfd
cmp r13, 0x5842
jae 0x140055bf9
mov r10d, 0x16
jmp 0x140055bfd
movzx r10d, ax
cmp rdx, 0xa
jae 0x140055c09
sub dx, 2
jmp 0x140055c47
cmp rdx, 0x86
jae 0x140055c2e
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 0x140055c47
cmp rdx, 0x846
jae 0x140055c44
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x140055c47
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 0x140055c86
cmp r10w, 8
jae 0x140055c86
cmp dx, 0x10
jae 0x140055c86
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x140055cb8
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 + 0xa8]
lea r10, [r12 + r15]
mov word [r14 + 0xc], r9w
lea r8, [r15 + 2]
mov r9, qword [rbp - 0x80]
add r14, 0x10
xor edi, edi
mov qword [rsp + 0x20], r14
add qword [rax], r13
mov rax, r12
cmp r10, r9
mov qword [rbp + 0x98], rdi
mov qword [rbp + 0x58], r10
cmovb r9, r10
shr rax, 2
cmp rbx, rax
jae 0x140055d22
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + r15]
cmp r8, rax
mov eax, 2
cmova r12, rax
lea r8, [r15 + r12]
cmp r9, r8
cmovb r8, r9
cmp r8, r9
jae 0x140055d69
mov r10, qword [rbp + 0x60]
mov rdi, qword [rbp + 0x68]
nop
mov rcx, r8
and rcx, rdi
add rcx, r10
call fcn.140070120
mov ecx, r8d
and ecx, 8
add eax, ecx
movzx ecx, ax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x38]
mov dword [rax + rcx*4], r8d
inc r8
cmp r8, r9
jb 0x140055d30
mov r10, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x98]
mov r15, r10
mov qword [rbp + 0x58], r10
jmp 0x140055e8a
mov rdi, qword [rbp + 0x98]
inc r15
mov r11, qword [rsp + 0x28]
inc rdi
mov qword [rbp + 0x98], rdi
mov qword [rbp + 0x58], r15
cmp r15, r11
jbe 0x140055e85
mov rax, qword [rbp - 0x78]
mov r8, qword [rsp + 0x70]
add r8, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r15, rax
jbe 0x140055e1c
lea rax, [r15 + 0x10]
cmp rax, r8
cmovb r8, rax
cmp r15, r8
jae 0x140055e85
add rdi, 4
mov rax, r8
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rbp + 0x98], rdi
mov rdi, qword [rsp + 0x48]
nop word [rax + rax]
mov rcx, r15
and rcx, r10
add rcx, r9
call fcn.140070120
mov ecx, r15d
and ecx, 8
add eax, ecx
movzx ecx, ax
mov rax, qword [rdi + 0x38]
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, r8
jb 0x140055df0
jmp 0x140055e7a
lea rax, [r15 + 8]
cmp rax, r8
cmovb r8, rax
cmp r15, r8
jae 0x140055e85
add rdi, 2
mov rax, r8
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rbp + 0x98], rdi
mov rdi, qword [rsp + 0x48]
nop dword [rax]
mov rcx, r15
and rcx, r10
add rcx, r9
call fcn.140070120
mov ecx, r15d
and ecx, 8
add eax, ecx
movzx ecx, ax
mov rax, qword [rdi + 0x38]
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, r8
jb 0x140055e50
mov rdi, qword [rbp + 0x98]
mov qword [rbp + 0x58], r15
mov r14, qword [rsp + 0x20]
mov r8, qword [rsp + 0x70]
lea rax, [r15 + 8]
mov r9, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x68]
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rbp + 0x88]
mov r11, qword [rsp + 0x78]
cmp rax, r8
jb 0x1400551f1
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
mov r13, qword [rsp + 0x108]
mov rcx, qword [rbp + 0x90]
sub r14, qword [rbp - 0x38]
sub r8, r15
mov rax, qword [rbp + 0xa0]
add r8, rdi
sar r14, 4
mov qword [rcx], r8
add qword [rax], r14
add rsp, 0x110
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 - 0x38]
sub rsp, 0x138
mov r10, qword [rbp + 0x98]
mov rax, rcx
mov r14, qword [rbp + 0xb8]
mov r13, rdx
mov rdx, qword [rbp + 0xa0]
mov r11d, 1
mov rbx, r9
mov qword [rsp + 0x58], r14
mov ecx, dword [r10 + 8]
mov r9, r8
shl r11, cl
lea r8, [rax + r13]
mov rcx, qword [r10 + 0x10]
sub r11, 0x10
mov qword [rbp - 0x28], rcx
mov rcx, qword [rbp + 0xb0]
mov qword [rbp - 0x60], r11
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x68], r8
mov rdi, qword [rcx]
mov qword [rsp + 0x50], rdi
cmp rax, 8
jb 0x140056331
lea rax, [r8 - 7]
mov qword [rbp - 0x38], rax
jmp 0x140056335
mov qword [rbp - 0x38], r13
cmp dword [r10 + 4], 9
mov eax, 0x200
mov esi, 0x40
cmovl eax, esi
mov qword [rbp - 0x30], rax
add rax, r13
mov qword [rsp + 0x60], rax
lea rax, [r13 + 8]
cmp rax, r8
jae 0x140057479
mov qword [rsp + 0x130], r12
mov eax, 3
mov qword [rsp + 0x128], r15
movaps xmmword [rsp + 0x110], xmm6
movdqa xmm6, xmmword [0x14040d5a0]
movd xmm0, eax
movaps xmmword [rsp + 0x100], xmm7
movdqa xmm7, xmmword [0x14040d5c0]
psllq xmm6, xmm0
nop dword [rax]
mov r12, qword [rbp + 0x78]
xor edi, edi
sub r8, r13
mov qword [rsp + 0x48], rdi
cmp r13, r11
mov qword [rsp + 0x30], r8
mov r10, r11
mov qword [rbp - 0x50], rdi
cmovb r10, r13
mov r14, r12
mov r13, qword [rdx + 0x38]
and r14, rbx
add r9, r14
mov qword [rsp + 0x38], r10
mov r11d, 0x7e4
mov qword [rbp + 0xb8], r9
mov rcx, r9
mov qword [rbp + 0x70], r11
movzx esi, byte [r9]
call fcn.140070120
mov ecx, eax
mov r15d, edi
mov rax, qword [rbp + 0xa8]
mov dword [rbp - 0x40], edi
mov edi, r11d
movq xmm1, rcx
mov rcx, r12
movsxd rbx, dword [rax]
sub rcx, rbx
punpcklqdq xmm1, xmm1
cmp rcx, r12
jae 0x1400564ed
mov r11d, dword [rbp + 0x88]
and r11, rcx
add r11, qword [rbp + 0x80]
movzx eax, byte [r11]
cmp esi, eax
jne 0x1400564ed
mov rax, r8
xor ecx, ecx
shr rax, 3
mov rdx, r9
test rax, rax
je 0x140056483
mov r10, r11
sub r10, r9
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rdx + r10]
cmp r9, r8
jne 0x1400565fd
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140056460
mov r8, qword [rsp + 0x30]
and r8d, 7
je 0x1400564a3
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400564a3
inc rcx
sub r8, 1
jne 0x140056490
mov rax, rcx
mov r9, qword [rbp + 0xb8]
mov r10, qword [rsp + 0x38]
cmp rax, 4
jb 0x1400564ed
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x1400564ed
mov r8, qword [rbp + 0x80]
mov r15, rax
mov qword [rsp + 0x48], rax
mov rdi, rcx
add rax, r14
mov qword [rbp - 0x50], rbx
mov qword [rbp + 0x70], rcx
movzx esi, byte [rax + r8]
mov rbx, qword [rbp + 0x78]
mov rax, r12
mov r11, qword [rbp + 0x80]
movdqa xmm0, xmm6
shr rax, 3
paddq xmm0, xmm1
and eax, 1
andps xmm0, xmm7
movdqu xmmword [rbp - 0x78], xmm0
mov r12, qword [rbp + rax*8 - 0x78]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x88]
sub rbx, r8
and r8, rax
lea rax, [r8 + r15]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x140056622
test rbx, rbx
je 0x140056622
cmp rbx, r10
ja 0x140056622
mov rax, qword [rsp + 0x30]
add r11, r8
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r9
test r8, r8
je 0x140056593
mov r10, r11
sub r10, r9
nop
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140056611
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140056570
mov rax, qword [rsp + 0x30]
mov r8, rax
and r8d, 7
je 0x1400565b3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400565b3
inc rcx
sub r8, 1
jne 0x1400565a0
mov rdx, rcx
cmp rdx, 4
jb 0x140056622
mov r10, qword [rbp + 0x80]
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140056629
lea rax, [rdx + r14]
mov qword [rsp + 0x48], rdx
movzx esi, byte [rax + r10]
mov r15, rdx
mov rdi, r8
mov qword [rbp + 0x70], r8
mov qword [rbp - 0x50], rbx
jmp 0x140056629
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x1400564a6
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400565b6
mov r10, qword [rbp + 0x80]
mov rbx, qword [rbp + 0x78]
mov r14, qword [rbp + 0xb8]
psrldq xmm0, 8
movq rax, xmm0
mov edx, dword [r13 + rax*4]
mov eax, dword [rbp + 0x88]
sub rbx, rdx
and rdx, rax
lea rax, [rdx + r15]
mov r15, qword [rsp + 0x38]
movzx ecx, byte [rax + r10]
cmp esi, ecx
jne 0x140056726
test rbx, rbx
je 0x140056726
cmp rbx, r15
ja 0x140056726
mov rsi, qword [rsp + 0x30]
lea r11, [rdx + r10]
mov rax, rsi
xor edx, edx
shr rax, 3
mov rcx, r14
test rax, rax
je 0x1400566ba
mov r10, r11
sub r10, r14
nop word [rax + rax]
mov r9, qword [rcx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140056715
add rcx, 8
add rdx, 8
sub rax, 1
jne 0x1400566a0
mov r8, rsi
and r8d, 7
je 0x1400566d8
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400566d8
inc rcx
inc rdx
sub r8, 1
jne 0x1400566c3
mov r9, rdx
mov r10, qword [rbp + 0x80]
cmp r9, 4
jb 0x140056726
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140056726
mov qword [rsp + 0x48], r9
mov rdi, rax
mov qword [rbp + 0x70], rax
mov qword [rbp - 0x50], rbx
jmp 0x14005672a
xor r8, r9
tzcnt r9, r8
shr r9, 3
add r9, rdx
jmp 0x1400566db
mov rdi, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov dword [r13 + r12*4], eax
mov r13, rax
test r13b, 3
jne 0x1400568ed
mov r12, qword [rsp + 0x30]
cmp r12, 0x20
jb 0x1400568ed
mov r9, qword [rbp + 0xa0]
mov rbx, qword [r9 + 0x50]
cmp rbx, rax
ja 0x1400568e5
lea rsi, [rbx + 0x20]
jmp 0x140056777
mov r10, qword [rbp + 0x80]
mov ecx, dword [r9 + 0x40]
mov r8, rbx
mov eax, dword [r9 + 0x60]
mov r11d, ecx
and r8, qword [rbp + 0x88]
mov rdx, rsi
and rdx, qword [rbp + 0x88]
and r11d, 0x3fffffff
mov r9d, dword [r9 + 0x5c]
mov dword [rsp + 0x20], eax
movzx r8d, byte [r8 + r10]
movzx edx, byte [rdx + r10]
call fcn.140070230
mov r9, qword [rbp + 0xa0]
mov dword [r9 + 0x40], eax
cmp r11d, 0x1000000
jae 0x1400568d4
mov rax, qword [r9 + 0x48]
mov r10d, dword [rax + r11*4]
mov dword [rax + r11*4], ebx
cmp rbx, r13
jne 0x1400568d4
mov eax, 0xffffffff
cmp r10, rax
je 0x1400568d4
mov edi, r13d
sub edi, r10d
cmp rdi, r15
ja 0x1400568d0
and r10, qword [rbp + 0x88]
mov r8, r12
add r10, qword [rbp + 0x80]
xor ecx, ecx
shr r8, 3
mov rdx, r14
test r8, r8
je 0x14005684e
mov r11, r10
sub r11, r14
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r11]
cmp r9, rax
jne 0x1400568bf
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140056830
mov r8, r12
and r8d, 7
je 0x140056873
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140056873
inc rcx
sub r8, 1
jne 0x140056860
mov rdx, rcx
mov r9, qword [rbp + 0xa0]
cmp rdx, 4
jb 0x1400568d0
cmp rdx, qword [rsp + 0x48]
jbe 0x1400568d0
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rbp + 0x70]
jbe 0x1400568d0
mov qword [rbp - 0x50], rdi
mov rdi, rax
mov qword [rsp + 0x48], rdx
mov qword [rbp + 0x70], rax
mov dword [rbp - 0x40], 0
jmp 0x1400568d4
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140056876
mov rdi, qword [rbp + 0x70]
add rbx, 4
add rsi, 4
cmp rbx, r13
jbe 0x140056770
lea rax, [r13 + 4]
mov qword [r9 + 0x50], rax
cmp rdi, 0x7e4
jbe 0x1400572e4
mov r15, qword [rsp + 0x30]
lea r12, [r13 + 1]
mov rax, qword [rsp + 0x48]
xor edi, edi
mov dword [rbp + 0xb8], edi
dec r15
mov qword [rsp + 0x60], r12
mov rcx, qword [rbp + 0x98]
mov qword [rsp + 0x30], r15
cmp dword [rcx + 4], 5
jge 0x140056943
dec rax
mov r9, r15
cmp rax, r15
cmovb r9, rax
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x68], r9
jmp 0x140056950
mov r9, rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x68], rdi
mov rcx, qword [rbp + 0x80]
mov r15, r12
mov r11, qword [rbp - 0x60]
mov r8d, 0x7e4
mov rax, qword [rbp + 0xa0]
cmp r12, r11
mov qword [rsp + 0x70], rdi
cmovb r11, r12
mov qword [rsp + 0x78], r8
and r15, qword [rbp + 0x88]
mov r13, qword [rax + 0x38]
mov qword [rbp - 0x78], r11
lea rax, [r15 + r9]
movzx esi, byte [rax + rcx]
lea r10, [r15 + rcx]
mov rcx, r10
mov qword [rsp + 0x38], r10
call fcn.140070120
mov ecx, eax
mov r8, r12
mov rax, qword [rbp + 0xa8]
mov r14, r9
mov dword [rbp - 0x80], edi
mov edi, 0x7e4
movq xmm0, rcx
movsxd rbx, dword [rax]
sub r8, rbx
punpcklqdq xmm0, xmm0
cmp r8, r12
jae 0x140056ab6
mov eax, dword [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
and r8, rax
lea rax, [r9 + r8]
movzx ecx, byte [rax + rcx]
cmp esi, ecx
jne 0x140056ab6
mov r11, qword [rbp + 0x80]
xor ecx, ecx
mov rdi, qword [rsp + 0x30]
add r11, r8
mov r8, rdi
mov rdx, r10
shr r8, 3
test r8, r8
je 0x140056a3e
mov r10, r11
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140056cce
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140056a20
mov r8, rdi
and r8d, 7
je 0x140056a63
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140056a63
inc rcx
sub r8, 1
jne 0x140056a50
mov rax, rcx
mov r10, qword [rsp + 0x38]
mov edi, 0x7e4
mov r11, qword [rbp - 0x78]
cmp rax, 4
jb 0x140056ab6
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140056ab6
mov r8, qword [rbp + 0x80]
mov r14, rax
mov qword [rsp + 0x40], rax
mov rdi, rcx
mov qword [rsp + 0x68], rax
add rax, r15
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rcx
movzx esi, byte [rax + r8]
mov rbx, qword [rsp + 0x60]
mov rax, r12
mov rcx, qword [rbp + 0x80]
paddq xmm0, xmm6
shr rax, 3
andps xmm0, xmm7
and eax, 1
movdqu xmmword [rbp - 0x18], xmm0
mov r12, qword [rbp + rax*8 - 0x18]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x88]
sub rbx, r8
and r8, rax
lea rax, [r8 + r14]
movzx ecx, byte [rax + rcx]
cmp esi, ecx
jne 0x140056bd1
test rbx, rbx
je 0x140056bd1
cmp rbx, r11
ja 0x140056bd1
mov r11, qword [rbp + 0x80]
xor ecx, ecx
mov rax, qword [rsp + 0x30]
add r11, r8
mov r8, rax
mov rdx, r10
shr r8, 3
test r8, r8
je 0x140056b63
mov r10, r11
sub r10, qword [rsp + 0x38]
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140056ce2
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140056b40
mov rax, qword [rsp + 0x30]
mov r8, rax
and r8d, 7
je 0x140056b83
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140056b83
inc rcx
sub r8, 1
jne 0x140056b70
mov rdx, rcx
cmp rdx, 4
jb 0x140056bd1
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140056bd1
mov rcx, qword [rbp + 0x80]
lea rax, [rdx + r15]
mov r14, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x68], rdx
mov rdi, r8
mov qword [rsp + 0x78], r8
movzx esi, byte [rax + rcx]
mov qword [rsp + 0x70], rbx
mov r15, qword [rsp + 0x60]
mov r10, qword [rbp + 0x88]
mov rbx, r15
mov r8, qword [rbp + 0x80]
psrldq xmm0, 8
movq rax, xmm0
mov edx, dword [r13 + rax*4]
mov eax, r10d
sub rbx, rdx
and rdx, rax
lea rax, [rdx + r14]
movzx ecx, byte [rax + r8]
cmp esi, ecx
jne 0x140056d07
test rbx, rbx
je 0x140056d07
cmp rbx, qword [rbp - 0x78]
ja 0x140056d07
mov rsi, qword [rsp + 0x30]
lea r11, [rdx + r8]
mov rax, qword [rsp + 0x38]
mov r8, rsi
shr r8, 3
xor edx, edx
mov rcx, rax
test r8, r8
je 0x140056c6e
mov r10, r11
sub r10, rax
nop dword [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x140056cf6
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140056c50
mov r8, rsi
and r8d, 7
je 0x140056c8c
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140056c8c
inc rcx
inc rdx
sub r8, 1
jne 0x140056c77
mov r8, rdx
mov r10, qword [rbp + 0x88]
cmp r8, 4
jb 0x140056d07
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140056d07
mov r14, r8
mov qword [rsp + 0x68], r8
mov rdi, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rbx
jmp 0x140056d11
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140056a66
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140056b86
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140056c8f
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x78]
mov dword [r13 + r12*4], r15d
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
test r12b, 3
jne 0x140056ec9
cmp r15, 0x20
jb 0x140056ec9
mov r9, qword [rbp + 0xa0]
mov rbx, qword [r9 + 0x50]
cmp rbx, r12
ja 0x140056ec0
mov r13, qword [rbp + 0x80]
lea rsi, [rbx + 0x20]
jmp 0x140056d67
mov r10, qword [rbp + 0x88]
mov ecx, dword [r9 + 0x40]
mov r8, rbx
mov eax, dword [r9 + 0x60]
and r8, r10
mov r9d, dword [r9 + 0x5c]
mov r11d, ecx
mov rdx, rsi
mov dword [rsp + 0x20], eax
and rdx, r10
and r11d, 0x3fffffff
movzx r8d, byte [r8 + r13]
movzx edx, byte [rdx + r13]
call fcn.140070230
mov r9, qword [rbp + 0xa0]
mov dword [r9 + 0x40], eax
cmp r11d, 0x1000000
jae 0x140056eaf
mov rax, qword [r9 + 0x48]
mov r10d, dword [rax + r11*4]
mov dword [rax + r11*4], ebx
cmp rbx, r12
jne 0x140056eaf
mov eax, 0xffffffff
cmp r10, rax
je 0x140056eaf
mov edi, r12d
sub edi, r10d
cmp rdi, qword [rbp - 0x78]
ja 0x140056eaa
and r10, qword [rbp + 0x88]
mov r8, r15
mov rcx, qword [rsp + 0x38]
add r10, r13
shr r8, 3
xor eax, eax
mov rdx, rcx
test r8, r8
je 0x140056e2a
mov r11, r10
sub r11, rcx
nop dword [rax]
mov r9, qword [rdx]
mov rcx, qword [r11 + rdx]
cmp r9, rcx
jne 0x140056e99
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140056e10
mov r8, r15
and r8d, 7
je 0x140056e49
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x140056e49
inc rax
sub r8, 1
jne 0x140056e36
mov rdx, rax
mov r9, qword [rbp + 0xa0]
cmp rdx, 4
jb 0x140056eaa
cmp rdx, r14
jbe 0x140056eaa
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x78]
jbe 0x140056eaa
mov qword [rsp + 0x70], rdi
mov r14, rdx
mov rdi, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x80], 0
jmp 0x140056eaf
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140056e4c
mov rdi, qword [rsp + 0x78]
add rbx, 4
add rsi, 4
cmp rbx, r12
jbe 0x140056d60
lea rax, [r12 + 4]
mov qword [r9 + 0x50], rax
mov rax, qword [rbp + 0x70]
mov r13, qword [rbp + 0x78]
add rax, 0xaf
cmp rdi, rax
jb 0x140056f41
mov ecx, dword [rbp + 0xb8]
inc r13
movups xmm0, xmmword [rsp + 0x68]
inc qword [rsp + 0x50]
inc ecx
movups xmm1, xmmword [rsp + 0x78]
inc r12
mov qword [rbp + 0x78], r13
mov qword [rsp + 0x60], r12
mov dword [rbp + 0xb8], ecx
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm1
cmp ecx, 4
jge 0x140056f3b
lea rax, [r12 + 7]
cmp rax, qword [rbp - 0x68]
jae 0x140056f3b
mov rax, qword [rbp - 0x48]
dec r15
mov qword [rbp + 0x70], rax
xor edi, edi
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x48], rax
jmp 0x140056918
mov r15, qword [rbp - 0x58]
jmp 0x140056f46
mov r15, qword [rsp + 0x48]
mov rax, qword [rbp - 0x30]
mov r10, qword [rbp - 0x60]
mov rbx, qword [rbp - 0x50]
lea r11, [rax + r15*2]
mov rax, qword [rbp - 0x28]
add r11, r13
add rax, r13
cmp rax, r10
mov qword [rsp + 0x60], r11
mov r11, qword [rbp + 0xa8]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140056ffa
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 0x140056f99
xor r8d, r8d
jmp 0x140056ffe
cmp rbx, r9
jne 0x140056fa6
mov r8d, 1
jmp 0x140056ffe
cmp r8, 7
jae 0x140056fc2
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140056ffe
cmp rcx, 7
jae 0x140056fda
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140056ffe
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140056feb
mov r8d, 2
jmp 0x140056ffe
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140056ffe
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x14005701e
test r8, r8
je 0x14005701e
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 + 0x58]
mov esi, dword [rbp - 0x40]
mov r12, qword [rsp + 0x50]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov rcx, qword [rbp + 0x98]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140057053
xor edi, edi
jmp 0x1400570c7
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 + 0x58]
lea r9d, [r15 + rsi]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r12, 6
jae 0x1400570f6
movzx r10d, r12w
mov eax, 0x17
jmp 0x140057169
cmp r12, 0x82
jae 0x140057122
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 0x140057169
cmp r12, 0x842
jae 0x140057140
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140057169
mov eax, 0x17
cmp r12, 0x1842
jae 0x140057154
lea r10d, [rax - 2]
jmp 0x140057169
cmp r12, 0x5842
jae 0x140057165
mov r10d, 0x16
jmp 0x140057169
movzx r10d, ax
cmp rdx, 0xa
jae 0x140057175
sub dx, 2
jmp 0x1400571b3
cmp rdx, 0x86
jae 0x14005719a
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 0x1400571b3
cmp rdx, 0x846
jae 0x1400571b0
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x1400571b3
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 0x1400571f2
cmp r10w, 8
jae 0x1400571f2
cmp dx, 0x10
jae 0x1400571f2
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x140057224
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 + 0xc8]
lea r10, [r15 + r13]
mov word [r14 + 0xc], r9w
lea r8, [r13 + 2]
mov r9, qword [rbp - 0x38]
add r14, 0x10
xor edi, edi
mov qword [rsp + 0x58], r14
add qword [rax], r12
mov rax, r15
cmp r10, r9
mov qword [rsp + 0x50], rdi
mov qword [rbp + 0x78], r10
cmovb r9, r10
shr rax, 2
cmp rbx, rax
jae 0x14005728c
lea rax, [rbx*4]
sub r15, rax
lea rax, [r15 + r13]
cmp r8, rax
mov eax, 2
cmova r15, rax
lea r8, [r15 + r13]
cmp r9, r8
cmovb r8, r9
cmp r8, r9
jae 0x1400572d8
mov r10, qword [rbp + 0x80]
nop dword [rax + rax]
mov rcx, r8
and rcx, qword [rbp + 0x88]
add rcx, r10
call fcn.140070120
mov ecx, r8d
and ecx, 8
add eax, ecx
movzx ecx, ax
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax + 0x38]
mov dword [rax + rcx*4], r8d
inc r8
cmp r8, r9
jb 0x1400572a0
mov r10, qword [rbp + 0x78]
mov r13, r10
mov qword [rbp + 0x78], r10
jmp 0x140057428
mov rdi, qword [rsp + 0x50]
inc r13
mov r11, qword [rsp + 0x60]
inc rdi
mov qword [rsp + 0x50], rdi
mov qword [rbp + 0x78], r13
cmp r13, r11
jbe 0x140057423
mov rax, qword [rbp - 0x30]
mov r8, qword [rbp - 0x68]
add r8, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r13, rax
jbe 0x14005739f
mov r9, qword [rbp + 0x80]
lea rax, [r13 + 0x10]
mov rbx, qword [rbp + 0x88]
cmp rax, r8
cmovb r8, rax
cmp r13, r8
jae 0x14005741c
mov rax, r8
add rdi, 4
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rsp + 0x50], rdi
nop word [rax + rax]
mov rcx, r13
and rcx, rbx
add rcx, r9
call fcn.140070120
mov rdx, qword [rbp + 0xa0]
mov ecx, r13d
and ecx, 8
add eax, ecx
movzx ecx, ax
mov rax, qword [rdx + 0x38]
mov dword [rax + rcx*4], r13d
add r13, 4
cmp r13, r8
jb 0x140057360
mov r14, qword [rsp + 0x58]
mov qword [rbp + 0x78], r13
jmp 0x14005743d
lea rax, [r13 + 8]
cmp rax, r8
cmovb r8, rax
cmp r13, r8
jae 0x140057423
mov r9, qword [rbp + 0x80]
mov rax, r8
mov rbx, qword [rbp + 0x88]
sub rax, r13
dec rax
add rdi, 2
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rsp + 0x50], rdi
nop word [rax + rax]
mov rcx, r13
and rcx, rbx
add rcx, r9
call fcn.140070120
mov rdx, qword [rbp + 0xa0]
mov ecx, r13d
and ecx, 8
add eax, ecx
movzx ecx, ax
mov rax, qword [rdx + 0x38]
mov dword [rax + rcx*4], r13d
add r13, 2
cmp r13, r8
jb 0x1400573e0
mov r14, qword [rsp + 0x58]
mov qword [rbp + 0x78], r13
jmp 0x14005743d
mov r14, qword [rsp + 0x58]
jmp 0x140057436
mov r14, qword [rsp + 0x58]
mov r9, qword [rbp + 0x80]
mov rbx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0xa0]
mov r8, qword [rbp - 0x68]
lea rax, [r13 + 8]
mov r11, qword [rbp - 0x60]
cmp rax, r8
jb 0x1400563a0
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
mov r15, qword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
mov rcx, qword [rbp + 0xb0]
sub r14, qword [rbp - 0x20]
sub r8, r13
mov rax, qword [rbp + 0xc0]
add r8, rdi
sar r14, 4
mov qword [rcx], r8
add qword [rax], r14
add rsp, 0x138
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 - 0x98]
sub rsp, 0x198
mov rax, qword [0x140779878]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r14, qword [rbp + 0x128]
mov rax, rcx
mov rcx, qword [rbp + 0x138]
mov r13, rdx
mov r11, qword [rbp + 0x110]
mov rdi, r9
mov r15, qword [rbp + 0x130]
mov rbx, r8
mov r8, qword [rbp + 0x118]
mov r10d, 1
mov qword [rsp + 0x38], r9
mov r9, qword [rbp + 0x120]
mov qword [rbp - 0x10], rcx
mov qword [rsp + 0x58], rdx
mov rdx, qword [rbp + 0x108]
mov rsi, qword [r9]
mov qword [rbp], r9
lea r9, [rax + r13]
mov qword [rsp + 0x20], rbx
mov ecx, dword [rdx + 8]
shl r10, cl
mov rcx, qword [rdx + 0x10]
sub r10, 0x10
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x30], r11
mov qword [rbp - 0x70], r8
mov qword [rsp + 0x70], r14
mov qword [rbp - 8], r15
mov qword [rbp - 0x68], r10
mov qword [rbp - 0x60], rcx
mov qword [rbp + 8], r14
mov qword [rsp + 0x68], rsi
mov qword [rbp - 0x78], r9
cmp rax, 8
jb 0x140057a05
lea rax, [r9 - 7]
mov qword [rbp - 0x20], rax
jmp 0x140057a09
mov qword [rbp - 0x20], r13
cmp dword [rdx + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x18], rax
add rax, r13
mov qword [rsp + 0x78], rax
lea rax, [r13 + 8]
cmp rax, r9
jae 0x140058f07
movaps xmmword [rsp + 0x180], xmm6
mov eax, 3
movdqa xmm6, xmmword [0x14040d5a0]
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm8
movdqa xmm8, xmmword [0x14040d5e0]
movd xmm7, eax
nop dword [rax + rax]
mov r11, qword [r11 + 0x38]
lea rax, [rcx + r13]
sub r9, r13
mov qword [rsp + 0x50], 0x7e4
cmp r13, r10
mov qword [rsp + 0x28], r9
mov r12, r10
mov qword [rsp + 0x48], r11
cmovb r12, r13
mov rcx, r10
cmp rax, r10
mov r15, rdi
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
xor r10d, r10d
mov qword [rbp - 0x80], rcx
and r15, r13
mov qword [rsp + 0x40], r10
movzx esi, byte [rbx + r15]
lea r13, [rbx + r15]
mov rcx, r13
mov qword [rbp - 0x38], r10
mov qword [rbp - 0x58], rax
call fcn.140070140
movsxd rbx, dword [r8]
xor r14d, r14d
mov r8, qword [rsp + 0x38]
mov edi, 0x7e4
mov rdx, qword [rsp + 0x20]
mov ecx, eax
mov dword [rbp - 0x28], r10d
movq xmm1, rcx
mov rcx, qword [rsp + 0x58]
sub rcx, rbx
punpcklqdq xmm1, xmm1
cmp rcx, qword [rsp + 0x58]
jae 0x140057bd7
mov r11d, r8d
and r11, rcx
add r11, rdx
movzx eax, byte [r11]
cmp esi, eax
jne 0x140057bd2
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140057b53
mov r10, r11
sub r10, r13
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140057bbc
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140057b34
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140057b73
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140057b73
inc rcx
sub r8, 1
jne 0x140057b60
mov rax, rcx
mov rdx, qword [rsp + 0x20]
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
cmp rax, 4
jb 0x140057bd7
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140057bd7
mov qword [rsp + 0x40], rax
mov r14, rax
add rax, rdx
mov qword [rbp - 0x38], rbx
mov qword [rsp + 0x50], rcx
mov rdi, rcx
movzx esi, byte [rax + r15]
jmp 0x140057bd7
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140057b76
mov r11, qword [rsp + 0x48]
xor eax, eax
nop dword [rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
psllq xmm0, xmm7
paddq xmm0, xmm1
andps xmm0, xmm8
movdqu xmmword [rbp + rax*8 + 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x140057be0
mov rbx, qword [rsp + 0x58]
mov rax, rbx
shr rax, 3
and eax, 3
mov rcx, qword [rbp + rax*8 + 0x10]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x50], rcx
mov ecx, dword [r11 + rax*4]
mov r11d, r8d
sub rbx, rcx
and r11, rcx
add r11, rdx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140057cf9
test rbx, rbx
je 0x140057cf9
cmp rbx, r12
ja 0x140057cf9
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140057c93
mov r10, r11
sub r10, r13
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140057fc0
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140057c70
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140057cb3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140057cb3
inc rcx
sub r8, 1
jne 0x140057ca0
mov rdx, rcx
cmp rdx, 4
jb 0x140057cf9
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140057cf9
mov rax, qword [rsp + 0x20]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x40], rdx
mov rdi, r8
mov qword [rsp + 0x50], r8
mov qword [rbp - 0x38], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
mov r11, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x38]
sub rbx, rcx
and rcx, rax
add r11, rcx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140057deb
test rbx, rbx
je 0x140057deb
cmp rbx, r12
ja 0x140057deb
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140057d83
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x140057fd9
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140057d60
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140057da5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140057da5
inc rcx
inc rdx
sub r8, 1
jne 0x140057d90
mov r8, rdx
cmp r8, 4
jb 0x140057deb
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x140057deb
mov rax, qword [rsp + 0x20]
mov r14, r8
add rax, r8
mov qword [rsp + 0x40], r8
mov rdi, rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x38], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
mov r11, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x38]
sub rbx, rcx
and rcx, rax
add r11, rcx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140057edb
test rbx, rbx
je 0x140057edb
cmp rbx, r12
ja 0x140057edb
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140057e73
mov r10, r11
sub r10, r13
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x140057ff2
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140057e50
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140057e95
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140057e95
inc rcx
inc rdx
sub r8, 1
jne 0x140057e80
mov r8, rdx
cmp r8, 4
jb 0x140057edb
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x140057edb
mov rax, qword [rsp + 0x20]
mov r14, r8
add rax, r8
mov qword [rsp + 0x40], r8
mov rdi, rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x38], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 0x28]
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
mov r11, qword [rsp + 0x20]
mov ecx, dword [r15 + rax*4]
mov eax, dword [rsp + 0x38]
sub rbx, rcx
and rcx, rax
add r11, rcx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140058024
test rbx, rbx
je 0x140058024
cmp rbx, r12
ja 0x140058024
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140057f63
mov r10, r11
sub r10, r13
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x14005800b
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140057f40
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140057f85
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140057f85
inc rcx
inc rdx
sub r8, 1
jne 0x140057f70
mov r8, rdx
cmp r8, 4
jb 0x140058024
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140058024
mov qword [rsp + 0x40], r8
mov r12, rax
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x38], rbx
jmp 0x140058029
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140057cb6
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140057da8
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140057e98
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140057f88
mov r12, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
mov r10, qword [rsp + 0x60]
cmp r12, 0x7e4
jne 0x1400581d0
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 0x1400581d0
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 0x1400581d0
mov r11d, edx
cmp rdx, r9
ja 0x1400581d0
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 0x1400580f3
mov r10, r13
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x1400581b2
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400580d0
mov r10, qword [rsp + 0x60]
mov r8, r11
and r8d, 7
je 0x140058113
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r13], al
jne 0x140058113
inc rcx
sub r8, 1
jne 0x140058100
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400581cb
test r9, r9
je 0x1400581cb
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r10 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x80]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x58]
ja 0x1400581cb
mov r8, qword [rsp + 0x30]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x1400581d0
mov qword [rsp + 0x50], rax
mov rcx, r9
mov r12, qword [rsp + 0x50]
lea rax, [r14 + 1]
sub r11d, r9d
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x40], rcx
mov dword [rbp - 0x28], r11d
mov qword [rbp - 0x38], rdx
jmp 0x1400581d5
mov r10, qword [rsp + 0x60]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140058116
mov r8, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rbp - 0x50]
mov r13, qword [rsp + 0x58]
mov dword [r15 + rax*4], r13d
cmp r12, 0x7e4
jbe 0x140058da2
mov r9, qword [rsp + 0x28]
xor esi, esi
mov dword [rbp - 0x80], esi
dec r9
cmp dword [r10 + 4], 5
mov qword [rsp + 0x28], r9
jge 0x14005821c
lea rax, [rcx - 1]
mov rdi, r9
cmp rax, r9
cmovb rdi, rax
mov qword [rbp + 0x10], rdi
jmp 0x140058223
mov rdi, rsi
mov qword [rbp + 0x10], rsi
mov rax, qword [rbp - 0x60]
lea r11, [r13 + 1]
mov edx, 0x7e4
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], rdx
mov rdx, qword [rbp - 0x68]
cmp r11, rdx
mov qword [rsp + 0x48], r11
mov r12, rdx
mov rcx, rdx
cmovb r12, r11
inc rax
add rax, r13
mov r13, qword [rsp + 0x20]
cmp rax, rdx
cmovb rcx, rax
mov rax, qword [r10 + 0x50]
mov qword [rbp - 0x58], rax
mov rax, qword [r8 + 0x38]
mov r8, qword [rsp + 0x38]
mov r15, r8
mov qword [rbp - 0x50], rcx
and r15, r11
mov qword [rsp + 0x78], rax
add r13, r15
mov rcx, r13
movzx r14d, byte [rdi + r13]
call fcn.140070140
mov ecx, eax
mov rax, qword [rbp - 0x70]
mov dword [rbp + 0x28], esi
mov esi, 0x7e4
movq xmm1, rcx
mov rcx, r11
movsxd rbx, dword [rax]
sub rcx, rbx
punpcklqdq xmm1, xmm1
cmp rcx, r11
jae 0x140058390
mov r11, qword [rsp + 0x20]
mov eax, r8d
and rcx, rax
add r11, rcx
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x14005838b
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14005830f
mov r10, r11
sub r10, r13
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140058375
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400582f0
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140058333
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140058333
inc rcx
sub r8, 1
jne 0x140058320
mov rax, rcx
mov r11, qword [rsp + 0x48]
cmp rax, 4
jb 0x140058390
mov r8, qword [rsp + 0x20]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x140058395
mov qword [rbp + 0x10], rax
mov rdi, rax
add rax, r8
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rcx
mov rsi, rcx
movzx r14d, byte [rax + r15]
jmp 0x140058395
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140058336
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x20]
xor eax, eax
nop word [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
psllq xmm0, xmm7
paddq xmm0, xmm1
andps xmm0, xmm8
movdqu xmmword [rbp + rax*8 + 0x30], xmm0
add rax, 2
cmp rax, 4
jb 0x1400583a0
mov rdx, qword [rsp + 0x78]
mov rax, r11
shr rax, 3
mov rbx, r11
mov r11d, dword [rsp + 0x38]
and eax, 3
mov rcx, qword [rbp + rax*8 + 0x30]
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x48], rcx
mov ecx, dword [rdx + rax*4]
and r11, rcx
sub rbx, rcx
add r11, r8
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x1400584b7
test rbx, rbx
je 0x1400584b7
cmp rbx, r12
ja 0x1400584b7
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140058453
mov r10, r11
sub r10, r13
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400586a2
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140058430
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140058473
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140058473
inc rcx
sub r8, 1
jne 0x140058460
mov rdx, rcx
cmp rdx, 4
jb 0x1400584b7
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x1400584b7
mov rax, qword [rsp + 0x20]
mov rdi, rdx
add rax, rdx
mov qword [rbp + 0x10], rdx
mov rsi, r8
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x18], rbx
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x38]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x1400585a9
test rbx, rbx
je 0x1400585a9
cmp rbx, r12
ja 0x1400585a9
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140058543
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x1400586bb
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140058520
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140058565
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140058565
inc rcx
inc rdx
sub r8, 1
jne 0x140058550
mov r8, rdx
cmp r8, 4
jb 0x1400585a9
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x1400585a9
mov rax, qword [rsp + 0x20]
mov rdi, r8
add rax, r8
mov qword [rbp + 0x10], r8
mov rsi, rdx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x18], rbx
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x38]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x1400586ed
test rbx, rbx
je 0x1400586ed
cmp rbx, r12
ja 0x1400586ed
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140058633
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x1400586d4
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140058610
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140058655
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140058655
inc rcx
inc rdx
sub r8, 1
jne 0x140058640
mov r8, rdx
cmp r8, 4
jb 0x1400586ed
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x1400586ed
mov rax, qword [rsp + 0x20]
mov rdi, r8
add rax, r8
mov qword [rbp + 0x10], r8
mov rsi, rdx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x18], rbx
movzx r14d, byte [rax + r15]
mov r15, rdx
jmp 0x1400586f1
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140058476
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140058568
xor rax, r9
mov r9, qword [rsp + 0x28]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140058658
mov r15, qword [rbp + 0x20]
mov rax, qword [rbp + 0x48]
mov rcx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x38]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x1400587c8
test rbx, rbx
je 0x1400587c8
cmp rbx, r12
ja 0x1400587c8
mov r8, r9
xor edx, edx
shr r8, 3
mov rax, r13
test r8, r8
je 0x140058773
mov r10, r11
sub r10, r13
nop dword [rax + rax]
mov r9, qword [rax]
mov rcx, qword [r10 + rax]
cmp r9, rcx
jne 0x14005894b
add rax, 8
add rdx, 8
sub r8, 1
jne 0x140058750
mov r9, qword [rsp + 0x28]
mov r8, r9
and r8d, 7
je 0x140058795
nop dword [rax]
movzx ecx, byte [rax]
cmp byte [rdx + r11], cl
jne 0x140058795
inc rax
inc rdx
sub r8, 1
jne 0x140058780
mov r8, rdx
cmp r8, 4
jb 0x1400587c8
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x1400587c8
mov qword [rbp + 0x10], r8
mov r15, rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x18], rbx
mov r8, qword [rsp + 0x30]
mov r10, qword [rsp + 0x60]
cmp r15, 0x7e4
jne 0x140058982
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 0x140058982
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 0x140058982
mov r11d, edx
cmp rdx, r9
ja 0x140058982
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 0x140058893
mov r10, r13
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140058964
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140058870
mov r10, qword [rsp + 0x60]
mov r8, r11
and r8d, 7
je 0x1400588b3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r13], al
jne 0x1400588b3
inc rcx
sub r8, 1
jne 0x1400588a0
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005897d
test r9, r9
je 0x14005897d
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r10 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x50]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x58]
ja 0x14005897d
mov r8, qword [rsp + 0x30]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r15
jb 0x140058982
mov r15, rax
mov qword [rbp + 0x20], rax
lea rax, [r14 + 1]
mov qword [rbp + 0x10], r9
sub r11d, r9d
mov qword [rbx + 0x10], rax
mov dword [rbp + 0x28], r11d
mov qword [rbp + 0x18], rdx
jmp 0x140058982
xor rcx, r9
mov r9, qword [rsp + 0x28]
tzcnt r8, rcx
shr r8, 3
add r8, rdx
jmp 0x140058798
mov r10, qword [rsp + 0x60]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400588b6
mov r8, qword [rsp + 0x30]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
mov dword [rdx + rax*4], ecx
mov rax, qword [rsp + 0x50]
add rax, 0xaf
cmp r15, rax
jb 0x140058a06
movups xmm0, xmmword [rbp + 0x10]
mov r13, rcx
mov qword [rsp + 0x58], rcx
mov ecx, dword [rbp - 0x80]
inc r12
movups xmm1, xmmword [rbp + 0x20]
inc ecx
mov qword [rsp + 0x68], r12
mov dword [rbp - 0x80], ecx
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm1
cmp ecx, 4
jge 0x140058a00
lea rax, [r13 + 8]
cmp rax, qword [rbp - 0x78]
jae 0x140058a00
mov r9, qword [rsp + 0x28]
mov rax, qword [rbp - 0x30]
dec r9
mov rcx, qword [rbp - 0x40]
xor esi, esi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rcx
jmp 0x1400581fc
mov r15, qword [rbp - 0x40]
jmp 0x140058a10
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x40]
mov r10, qword [rbp - 0x68]
lea r11, [r15*2]
mov rax, qword [rbp - 0x60]
add r11, r13
add r11, qword [rbp - 0x18]
add rax, r13
mov rbx, qword [rbp - 0x38]
cmp rax, r10
mov qword [rsp + 0x78], r11
mov r11, qword [rbp - 0x70]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140058ac5
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 0x140058a64
xor r8d, r8d
jmp 0x140058ac9
cmp rbx, r9
jne 0x140058a71
mov r8d, 1
jmp 0x140058ac9
cmp r8, 7
jae 0x140058a8d
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140058ac9
cmp rcx, 7
jae 0x140058aa5
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140058ac9
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140058ab6
mov r8d, 2
jmp 0x140058ac9
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140058ac9
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x140058ae9
test r8, r8
je 0x140058ae9
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 + 0x70]
mov esi, dword [rbp - 0x28]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov rcx, qword [rsp + 0x60]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140058b17
xor edi, edi
jmp 0x140058b8b
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 + 0x70]
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 0x140058bba
movzx r10d, r12w
mov eax, 0x17
jmp 0x140058c2d
cmp r12, 0x82
jae 0x140058be6
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 0x140058c2d
cmp r12, 0x842
jae 0x140058c04
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140058c2d
mov eax, 0x17
cmp r12, 0x1842
jae 0x140058c18
lea r10d, [rax - 2]
jmp 0x140058c2d
cmp r12, 0x5842
jae 0x140058c29
mov r10d, 0x16
jmp 0x140058c2d
movzx r10d, ax
cmp r9, 0xa
jae 0x140058c3a
sub r9w, 2
jmp 0x140058c7a
cmp r9, 0x86
jae 0x140058c5f
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 0x140058c7a
cmp r9, 0x846
jae 0x140058c76
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140058c7a
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 0x140058cb7
cmp r10w, 8
jae 0x140058cb7
cmp r9w, 0x10
jae 0x140058cb7
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x140058ceb
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 - 0x10]
lea r10, [r15 + r13]
mov r9, qword [rbp - 0x20]
lea r8, [r13 + 2]
xor esi, esi
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x68], rsi
add qword [rax], r12
mov rax, r15
cmp r10, r9
mov qword [rsp + 0x70], r14
mov qword [rbp - 0x48], r10
cmovb r9, r10
shr rax, 2
cmp rbx, rax
jae 0x140058d49
lea rax, [rbx*4]
sub r13, rax
add r13, r15
cmp r8, r13
cmova r13, r8
cmp r9, r13
mov r8, r13
cmovb r8, r9
mov r11, qword [rsp + 0x30]
cmp r8, r9
jae 0x140058d91
mov r10, qword [rsp + 0x20]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x38]
and rcx, r8
add rcx, r10
call fcn.140070140
mov ecx, r8d
and ecx, 0x18
add eax, ecx
mov rcx, qword [r11 + 0x38]
and eax, 0x1ffff
mov dword [rcx + rax*4], r8d
inc r8
cmp r8, r9
jb 0x140058d60
mov r10, qword [rbp - 0x48]
mov r9, qword [rbp - 0x78]
mov r13, r10
mov qword [rsp + 0x58], r10
jmp 0x140058ec2
mov rsi, qword [rsp + 0x68]
inc r13
mov r11, qword [rsp + 0x78]
inc rsi
mov r9, qword [rbp - 0x78]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x58], r13
cmp r13, r11
jbe 0x140058eb8
mov rax, qword [rbp - 0x18]
lea r8, [r9 - 7]
lea rax, [r11 + rax*4]
mov r11, qword [rsp + 0x30]
cmp r13, rax
jbe 0x140058e4d
mov rbx, qword [rsp + 0x20]
lea rax, [r13 + 0x10]
mov rdi, qword [rsp + 0x38]
cmp rax, r8
cmovb r8, rax
cmp r13, r8
jae 0x140058e43
mov rax, r8
add rsi, 4
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x68], rsi
mov rcx, rdi
and rcx, r13
add rcx, rbx
call fcn.140070140
mov ecx, r13d
and ecx, 0x18
add eax, ecx
mov rcx, qword [r11 + 0x38]
and eax, 0x1ffff
mov dword [rcx + rax*4], r13d
add r13, 4
cmp r13, r8
jb 0x140058e12
mov qword [rsp + 0x58], r13
mov r14, qword [rsp + 0x70]
jmp 0x140058ecc
lea rax, [r13 + 8]
cmp rax, r8
cmovb r8, rax
cmp r13, r8
jae 0x140058ebd
mov rbx, qword [rsp + 0x20]
mov rax, r8
mov rdi, qword [rsp + 0x38]
sub rax, r13
dec rax
add rsi, 2
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x68], rsi
mov rcx, rdi
and rcx, r13
add rcx, rbx
call fcn.140070140
mov ecx, r13d
and ecx, 0x18
add eax, ecx
mov rcx, qword [r11 + 0x38]
and eax, 0x1ffff
mov dword [rcx + rax*4], r13d
add r13, 2
cmp r13, r8
jb 0x140058e80
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0x58], r13
jmp 0x140058ecc
mov r11, qword [rsp + 0x30]
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
lea rax, [r13 + 8]
mov r8, qword [rbp - 0x70]
mov r10, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
cmp rax, r9
jb 0x140057a70
movaps xmm8, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
movaps xmm6, xmmword [rsp + 0x180]
mov r15, qword [rbp - 8]
sub r14, qword [rbp + 8]
sub r9, r13
mov rax, qword [rbp]
add r9, rsi
sar r14, 4
mov qword [rax], r9
add qword [r15], r14
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14000baf0
add rsp, 0x198
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 r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov r13, qword [rbp + 0xa8]
mov rax, rcx
mov r11, qword [rbp + 0xb8]
mov r14, rdx
mov rdx, qword [rbp + 0xb0]
mov ebx, 1
mov r10, r9
mov r9, r8
mov ecx, dword [r13 + 8]
mov r8, qword [rbp + 0xc8]
lea rsi, [rax + r14]
mov rdi, qword [r13 + 0x10]
shl rbx, cl
mov rcx, qword [rbp + 0xc0]
sub rbx, 0x10
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rdi
mov qword [rbp - 0x40], r8
mov rcx, qword [rcx]
mov qword [rsp + 0x68], rcx
mov qword [rbp + 0x28], r8
mov qword [rbp - 0x48], rsi
cmp rax, 4
jb 0x140059568
lea rax, [rsi - 3]
mov qword [rbp + 0x10], rax
jmp 0x14005956c
mov qword [rbp + 0x10], r14
cmp dword [r13 + 4], 9
mov eax, 0x200
mov r15d, 0x40
cmovl eax, r15d
mov qword [rbp + 0x18], rax
add rax, r14
mov qword [rbp - 0x50], rax
lea rax, [r14 + 4]
cmp rax, rsi
jae 0x14005b42b
mov qword [rsp + 0x138], r12
xor r15d, r15d
mov r8, qword [rbp + 0x88]
sub rsi, r14
cmp r8, rbx
mov qword [rsp + 0x38], rsi
mov r14, rbx
mov qword [rbp - 0x28], r15
cmovb r14, r8
mov qword [rsp + 0x48], 0x7e4
lea rax, [rdi + r8]
mov qword [rbp - 0x60], r14
cmp rax, rbx
mov rcx, rbx
cmovb rcx, rax
mov rax, qword [r13 + 0x50]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rdx + 0x40]
mov qword [rbp - 0x58], rax
call fcn.140053a60
mov r12, rax
mov qword [rbp], rax
call fcn.140070350
mov r13, rax
mov qword [rbp + 8], rax
call fcn.140071e00
mov qword [rbp - 0x70], rax
call fcn.140053af0
movsxd rbx, dword [r11]
mov edx, 0x7e4
mov qword [rbp - 0x68], rax
mov r11, r8
mov rax, r8
mov qword [rsp + 0x50], r15
and rax, r10
mov dword [rbp - 0x18], r15d
mov qword [rbp - 0x38], rax
sub r11, rbx
mov qword [rbp + 0xc8], rdx
mov qword [rsp + 0x20], r15
lea rdi, [rax + r9]
imul eax, dword [rax + r9], 0x1e35a7bd
mov qword [rsp + 0x60], rdi
shr rax, 0x11
mov qword [rsp + 0x58], rax
cmp r11, r8
jae 0x14005971d
cmp rbx, r14
ja 0x14005971d
and r11, r10
mov r8, rsi
add r11, r9
shr r8, 3
xor ecx, ecx
mov rdx, rdi
test r8, r8
je 0x1400596ae
mov r10, r11
sub r10, rdi
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x1400599f7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140059690
mov r8, rsi
and r8d, 7
je 0x1400596d3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400596d3
inc rcx
sub r8, 1
jne 0x1400596c0
mov rax, rcx
mov rdx, qword [rbp + 0xc8]
mov r8, qword [rbp + 0x88]
cmp rax, 2
jb 0x14005971d
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rdx, rcx
jae 0x14005971d
mov rdx, rcx
mov qword [rbp + 0xc8], rcx
mov r15, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x28], rbx
mov qword [rsp + 0x48], rcx
mov rax, qword [rbp + 0xb8]
mov r11, r15
mov r9, qword [rbp - 0x70]
add rax, 4
mov rcx, qword [rsp + 0x58]
mov r10, rax
mov qword [rsp + 0x28], rax
mov rbx, rdx
movsxd rsi, dword [rax]
sub r8, rsi
movzx eax, r8w
cmp byte [rax + r9], cl
jne 0x140059870
mov qword [rbp + 0xc8], rdx
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r10
cmp r8, qword [rbp + 0x88]
jae 0x140059870
mov qword [rbp + 0xc8], rdx
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r10
cmp rsi, r14
ja 0x140059870
and r8, qword [rbp + 0x98]
xor edx, edx
mov rax, qword [rsp + 0x38]
mov rcx, rdi
add r8, qword [rbp + 0x90]
mov r9, rax
shr r9, 3
mov qword [rbp + 0xc8], rbx
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r10
test r9, r9
je 0x140059803
mov rdi, r8
mov qword [rbp + 0xc8], rbx
sub rdi, rcx
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r10
nop word [rax + rax]
mov rax, qword [rcx]
mov r10, qword [rdi + rcx]
cmp rax, r10
jne 0x140059a0b
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x1400597e0
mov rax, qword [rsp + 0x38]
mov r9, rax
and r9d, 7
je 0x140059825
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r8], al
jne 0x140059825
inc rcx
inc rdx
sub r9, 1
jne 0x140059810
mov rcx, rdx
mov rdx, qword [rbp + 0xc8]
cmp rcx, 2
jb 0x140059870
imul rax, rcx, 0x87
add rax, 0x78f
cmp rdx, rax
jae 0x140059870
add rax, 0xffffffffffffffd9
cmp rdx, rax
jae 0x140059870
mov rdx, rax
mov qword [rbp + 0xc8], rax
mov r15, rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x50], rcx
mov qword [rbp - 0x28], rsi
mov qword [rsp + 0x48], rax
mov rsi, qword [rbp + 0xb8]
mov rbx, r15
mov r8, qword [rbp + 0x88]
add rsi, 8
mov r9, qword [rbp - 0x70]
mov r11, rsi
mov rcx, qword [rsp + 0x58]
mov rdi, rdx
mov r10, qword [rsp + 0x28]
movsxd r14, dword [rsi]
sub r8, r14
mov qword [rbp + 0x80], rsi
movzx eax, r8w
cmp byte [rax + r9], cl
jne 0x140059a38
mov qword [rbp + 0xc8], rdx
mov qword [rsp + 0x20], rbx
mov qword [rbp + 0x80], rsi
mov qword [rsp + 0x28], r10
cmp r8, qword [rbp + 0x88]
jae 0x140059a36
mov qword [rbp + 0xc8], rdx
mov qword [rsp + 0x20], rbx
mov qword [rbp + 0x80], rsi
mov qword [rsp + 0x28], r10
cmp r14, qword [rbp - 0x60]
ja 0x140059a3f
and r8, qword [rbp + 0x98]
xor edx, edx
mov r9, qword [rsp + 0x38]
add r8, qword [rbp + 0x90]
mov r15, qword [rsp + 0x60]
shr r9, 3
mov rcx, r15
mov qword [rbp + 0xc8], rdi
mov qword [rsp + 0x20], rbx
mov qword [rbp + 0x80], rsi
mov qword [rsp + 0x28], r10
test r9, r9
je 0x140059981
mov rsi, r8
mov qword [rbp + 0xc8], rdi
sub rsi, r15
mov qword [rsp + 0x20], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r10
nop word [rax + rax]
mov rax, qword [rcx]
mov r10, qword [rsi + rcx]
cmp rax, r10
jne 0x140059a1f
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x140059960
mov rsi, r11
mov r9, qword [rsp + 0x38]
and r9d, 7
je 0x1400599a5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r8], al
jne 0x1400599a5
inc rcx
inc rdx
sub r9, 1
jne 0x140059990
mov rax, rdx
mov rdx, qword [rbp + 0xc8]
cmp rax, 2
jb 0x140059a3f
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rdx, rcx
jae 0x140059a3f
add rcx, 0xffffffffffffffd5
cmp rdx, rcx
jae 0x140059a3f
mov rdx, rcx
mov qword [rbp + 0xc8], rcx
mov r8, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x28], r14
mov qword [rsp + 0x48], rcx
jmp 0x140059a44
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x1400596d6
xor rax, r10
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x140059828
xor rax, r10
mov rsi, r11
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x1400599a8
jmp 0x140059a3f
mov rsi, qword [rbp + 0x80]
mov r8, qword [rsp + 0x20]
mov r11, qword [rbp + 0xb8]
mov r14, rdx
mov r9, qword [rbp + 0x88]
add r11, 0xc
mov rdx, qword [rbp - 0x70]
mov rbx, rsi
mov rcx, qword [rsp + 0x58]
mov rdi, r11
mov r10, qword [rsp + 0x28]
mov rsi, r8
movsxd r15, dword [r11]
sub r9, r15
mov qword [rsp + 0x30], r11
movzx eax, r9w
cmp byte [rax + rdx], cl
jne 0x140059bde
mov qword [rbp + 0xc8], r14
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x30], r11
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
cmp r9, qword [rbp + 0x88]
jae 0x140059bde
mov qword [rbp + 0xc8], r14
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x30], r11
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
cmp r15, qword [rbp - 0x60]
ja 0x140059bde
and r9, qword [rbp + 0x98]
xor edx, edx
mov r8, qword [rsp + 0x38]
add r9, qword [rbp + 0x90]
mov rcx, qword [rsp + 0x60]
shr r8, 3
mov qword [rbp + 0xc8], r14
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], r11
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
test r8, r8
je 0x140059b5a
mov r11, r9
mov qword [rbp + 0xc8], r14
sub r11, rcx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rdi
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
nop dword [rax]
mov rax, qword [rcx]
mov r10, qword [r11 + rcx]
cmp rax, r10
jne 0x140059bc8
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140059b40
mov r8, qword [rsp + 0x38]
and r8d, 7
je 0x140059b7a
movzx eax, byte [rcx]
cmp byte [rdx + r9], al
jne 0x140059b7a
inc rcx
inc rdx
sub r8, 1
jne 0x140059b65
mov rax, rdx
cmp rax, 2
jb 0x140059bd9
mov rdx, qword [rbp + 0xc8]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rdx, rcx
jae 0x140059bd9
add rcx, 0xffffffffffffffd5
cmp rdx, rcx
jae 0x140059bd9
mov qword [rbp + 0xc8], rcx
mov r8, rax
mov qword [rsp + 0x20], rax
mov r11, rcx
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x28], r15
mov qword [rsp + 0x48], rcx
jmp 0x140059be3
xor rax, r10
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x140059b7d
mov r8, qword [rsp + 0x20]
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
xor ebx, ebx
mov r15, qword [rbp + 0xb0]
mov r10, qword [rbp + 0x88]
mov rsi, r10
mov eax, dword [r12 + r9*4]
mov rdi, qword [r15 + 0x38]
sub rsi, rax
movzx r14d, word [r13 + r9*2]
test rdi, rdi
je 0x140059d8c
mov r13, qword [rsp + 0x60]
mov r12, qword [rbp - 0x60]
mov r15, qword [rbp - 0x38]
nop dword [rax]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, r12
ja 0x140059d78
mov r9, qword [rbp + 0x98]
lea rdx, [r8 + r15]
mov rax, qword [rbp - 0x68]
mov rcx, r10
movzx esi, word [rax + r14*4]
lea rax, [rax + r14*4]
movzx r14d, word [rax + 2]
sub rcx, rbx
and rcx, r9
cmp rdx, r9
ja 0x140059d6f
lea rax, [rcx + r8]
cmp rax, r9
ja 0x140059d6f
mov r9, qword [rbp + 0x90]
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x140059d6f
mov rax, qword [rsp + 0x38]
lea r11, [rcx + r9]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140059ce3
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140059d54
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140059cc0
mov rax, qword [rsp + 0x38]
mov r8, rax
and r8d, 7
je 0x140059d03
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140059d03
inc rcx
sub r8, 1
jne 0x140059cf0
mov rdx, rcx
mov r10, qword [rbp + 0x88]
cmp rdx, 4
jb 0x140059d65
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rbp + 0xc8], rax
jae 0x140059d65
mov qword [rbp + 0xc8], rax
mov r8, rdx
mov qword [rsp + 0x20], rdx
mov r11, rax
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x28], rbx
mov qword [rsp + 0x48], rax
jmp 0x140059d6f
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140059d06
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x20]
test rdi, rdi
jne 0x140059c30
mov r12, qword [rbp]
mov r13, qword [rbp + 8]
mov r9, qword [rsp + 0x58]
mov r15, qword [rbp + 0xb0]
movzx edx, word [r15 + 0x30]
mov r14, qword [rbp + 0x88]
mov r8, qword [rbp - 0x70]
mov rcx, r14
lea eax, [rdx + 1]
mov word [r15 + 0x30], ax
mov eax, dword [r12 + r9*4]
sub rcx, rax
movzx eax, r14w
mov byte [rax + r8], r9b
mov eax, 0xffff
mov r8, qword [rbp - 0x68]
cmp rcx, rax
cmova rcx, rax
mov word [r8 + rdx*4], cx
movzx eax, word [r13 + r9*2]
mov word [r8 + rdx*4 + 2], ax
mov dword [r12 + r9*4], r14d
mov word [r13 + r9*2], dx
cmp r11, 0x7e4
jne 0x14005a135
mov r13, qword [r15 + 0x48]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14005a12c
mov r12, qword [rsp + 0x60]
lea r14, [rcx + 1]
mov r8, qword [rbp + 0xa8]
mov rdx, qword [rsp + 0x38]
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 0x140059fab
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140059fab
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 0x140059eae
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140059f97
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140059e90
mov r8, r11
and r8d, 7
je 0x140059ed3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140059ed3
inc rcx
sub r8, 1
jne 0x140059ec0
mov r9, rcx
mov rcx, qword [rbp + 0xa8]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140059fb7
test r9, r9
je 0x140059fb7
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x40]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rbp - 0x58]
ja 0x140059fbc
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x140059fbc
mov qword [rsp + 0x48], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x50], r9
mov r15, qword [rsp + 0x30]
mov qword [r13 + 0x10], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x80], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov dword [rbp - 0x18], r11d
mov qword [rbp - 0x28], rdx
mov qword [rsp + 0x30], r15
jmp 0x140059fc1
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140059ed6
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
jmp 0x140059fc6
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0xa8]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14005a143
mov rax, qword [r14 + 0x70]
mov r10d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14005a143
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r10d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14005a04e
mov r11, r12
sub r11, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r11]
cmp rax, r9
jne 0x14005a118
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005a030
mov r8, r10
and r8d, 7
je 0x14005a06c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14005a06c
inc rdx
inc rcx
sub r8, 1
jne 0x14005a057
mov r9, rcx
mov eax, dword [r14 + 0x64]
mov r12, r14
add rax, r9
cmp rax, r10
jbe 0x14005a14a
test r9, r9
je 0x14005a14a
mov r8, r10
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r10]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rbp - 0x58]
ja 0x14005a14a
mov r14, qword [rbp + 0x88]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x14005a151
sub r10d, r9d
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x28]
mov rcx, r9
inc qword [r13 + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x50], rcx
mov dword [rbp - 0x18], r10d
mov qword [rbp - 0x28], rdx
mov qword [rsp + 0x30], r15
jmp 0x14005a156
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005a06f
mov r12, qword [rbp + 0xa8]
jmp 0x14005a151
mov r12, qword [rbp + 0xa8]
mov rcx, qword [rsp + 0x50]
jmp 0x14005a15d
mov r12, qword [rbp + 0xa8]
mov r14, qword [rbp + 0x88]
mov rcx, qword [rsp + 0x50]
mov r15, qword [rbp + 0xb0]
cmp qword [rsp + 0x48], 0x7e4
mov r10, qword [rbp + 0x80]
jbe 0x14005b1fd
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rbp + 0xc8], r11d
dec r15
cmp dword [r12 + 4], 5
mov qword [rsp + 0x38], r15
jge 0x14005a1a2
lea rax, [rcx - 1]
mov r14, r15
cmp rax, r15
cmovb r14, rax
jmp 0x14005a1a5
mov r14, r11
mov rdx, qword [rbp - 0x10]
mov esi, 0x7e4
mov rax, qword [rbp + 0x88]
mov r8, rdx
mov rcx, qword [rbp - 8]
mov r9, r10
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x78], r11
lea rdi, [rax + 1]
mov qword [rbp - 0x80], rsi
cmp rdi, rdx
mov qword [rsp + 0x58], rdi
cmovb r8, rdi
inc rcx
add rax, rcx
mov qword [rsp + 0x60], r8
cmp rax, rdx
mov rcx, rdx
cmovb rcx, rax
mov rax, qword [r12 + 0x50]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp + 0xb0]
mov qword [rbp - 0x50], rax
mov rcx, qword [rcx + 0x40]
call fcn.140053a60
mov r12, rax
mov qword [rbp], rax
call fcn.140070350
mov r13, rax
mov qword [rbp + 0x20], rax
call fcn.140071e00
mov qword [rbp - 0x60], rax
call fcn.140053af0
mov rsi, qword [rbp + 0x98]
mov edx, 0x7e4
mov r10, qword [rbp + 0x90]
mov qword [rbp - 0x58], rax
mov rax, rdi
and rax, rsi
mov qword [rsp + 0x70], r11
mov dword [rbp - 0x78], r11d
mov r11, rdi
mov qword [rbp + 8], rax
add rax, r10
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x40], rdx
mov qword [rbp + 0x80], r9
imul ecx, dword [rax], 0x1e35a7bd
shr rcx, 0x11
mov qword [rbp - 0x68], rcx
mov rcx, qword [rbp + 0xb8]
movsxd rbx, dword [rcx]
sub r11, rbx
cmp r11, rdi
jae 0x14005a352
mov qword [rbp + 0x80], r9
cmp rbx, r8
ja 0x14005a352
and r11, rsi
mov qword [rbp + 0x80], r9
mov r8, r15
add r11, r10
shr r8, 3
xor ecx, ecx
mov rdx, rax
test r8, r8
je 0x14005a2ee
mov r10, r11
mov qword [rbp + 0x80], r9
sub r10, rax
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14005a45c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005a2d0
mov r8, r15
and r8d, 7
je 0x14005a313
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14005a313
inc rcx
sub r8, 1
jne 0x14005a300
mov rax, rcx
mov rdx, qword [rsp + 0x40]
cmp rax, 2
jb 0x14005a352
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rdx, rcx
jae 0x14005a352
mov rdx, rcx
mov qword [rsp + 0x40], rcx
mov r14, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], rcx
mov rax, qword [rsp + 0x28]
mov r9, rdi
mov r10, qword [rbp - 0x60]
mov r8, rax
mov rcx, qword [rbp - 0x68]
mov rdi, r14
mov r11, qword [rbp + 0x80]
mov rsi, rdx
movsxd r15, dword [rax]
mov rbx, qword [rsp + 0x30]
sub r9, r15
movzx eax, r9w
cmp byte [rax + r10], cl
jne 0x14005a4f5
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
cmp r9, qword [rsp + 0x58]
jae 0x14005a4f5
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
cmp r15, qword [rsp + 0x60]
ja 0x14005a4f5
and r9, qword [rbp + 0x98]
xor edx, edx
mov r10, qword [rsp + 0x38]
add r9, qword [rbp + 0x90]
mov rax, qword [rbp - 0x70]
shr r10, 3
mov rcx, rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
test r10, r10
je 0x14005a481
mov r14, r9
mov qword [rsp + 0x40], rsi
sub r14, rax
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
nop dword [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r14 + rcx]
cmp r8, rax
jne 0x14005a470
add rcx, 8
add rdx, 8
sub r10, 1
jne 0x14005a440
jmp 0x14005a481
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14005a316
xor rax, r8
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x14005a4a8
mov r8, qword [rsp + 0x38]
and r8d, 7
je 0x14005a4a5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r9], al
jne 0x14005a4a5
inc rcx
inc rdx
sub r8, 1
jne 0x14005a490
mov rcx, rdx
mov rdx, qword [rsp + 0x40]
cmp rcx, 2
jb 0x14005a4ee
imul rax, rcx, 0x87
add rax, 0x78f
cmp rdx, rax
jae 0x14005a4ee
add rax, 0xffffffffffffffd9
cmp rdx, rax
jae 0x14005a4ee
mov rdx, rax
mov qword [rsp + 0x40], rax
mov r14, rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], rax
jmp 0x14005a4f5
mov r14, qword [rsp + 0x20]
jmp 0x14005a4f5
movsxd r15, dword [r11]
mov rdi, r14
mov r9, qword [rsp + 0x58]
mov rsi, rdx
mov r10, qword [rbp - 0x60]
sub r9, r15
mov rcx, qword [rbp - 0x68]
mov rbx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
movzx eax, r9w
cmp byte [rax + r10], cl
mov rax, rbx
jne 0x14005a691
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
cmp r9, qword [rsp + 0x58]
jae 0x14005a691
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
cmp r15, qword [rsp + 0x60]
ja 0x14005a691
and r9, qword [rbp + 0x98]
xor edx, edx
mov r10, qword [rsp + 0x38]
add r9, qword [rbp + 0x90]
mov rax, qword [rbp - 0x70]
shr r10, 3
mov rcx, rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
test r10, r10
je 0x14005a60d
mov r14, r9
mov qword [rsp + 0x40], rsi
sub r14, rax
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rbx
mov qword [rbp + 0x80], r11
mov qword [rsp + 0x28], r8
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r14 + rcx]
cmp r8, rax
jne 0x14005a5fc
add rcx, 8
add rdx, 8
sub r10, 1
jne 0x14005a5e0
jmp 0x14005a60d
xor rax, r8
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x14005a638
mov r8, qword [rsp + 0x38]
and r8d, 7
je 0x14005a635
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r9], al
jne 0x14005a635
inc rcx
inc rdx
sub r8, 1
jne 0x14005a620
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp rax, 2
jb 0x14005a687
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rdx, rcx
jae 0x14005a687
add rcx, 0xffffffffffffffd5
cmp rdx, rcx
jae 0x14005a687
mov r14, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x70], rax
mov rdx, rcx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], r15
movsxd r15, dword [rbx]
mov qword [rsp + 0x40], rcx
mov qword [rbp - 0x80], rcx
jmp 0x14005a694
mov rax, qword [rsp + 0x30]
mov r14, qword [rsp + 0x20]
movsxd r15, dword [rax]
mov rcx, qword [rbp - 0x68]
mov rsi, r14
mov r8, qword [rsp + 0x58]
mov rdi, rax
mov r10, qword [rsp + 0x28]
mov r9, r8
mov rbx, qword [rbp + 0x80]
sub r9, r15
mov r14, rdx
movzx eax, r9w
mov rdx, qword [rbp - 0x60]
cmp byte [rax + rdx], cl
mov rcx, qword [rsp + 0x60]
jne 0x14005a81c
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rdi
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
cmp r9, r8
jae 0x14005a81c
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rdi
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
cmp r15, rcx
ja 0x14005a81c
and r9, qword [rbp + 0x98]
xor edx, edx
mov r8, qword [rsp + 0x38]
add r9, qword [rbp + 0x90]
mov rax, qword [rbp - 0x70]
shr r8, 3
mov rcx, rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rdi
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
test r8, r8
je 0x14005a79a
mov r11, r9
mov qword [rsp + 0x40], r14
sub r11, rax
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rdi
mov qword [rbp + 0x80], rbx
mov qword [rsp + 0x28], r10
nop word [rax + rax]
mov r10, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r10, rax
jne 0x14005a806
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14005a780
mov r8, qword [rsp + 0x38]
and r8d, 7
je 0x14005a7ba
movzx eax, byte [rcx]
cmp byte [rdx + r9], al
jne 0x14005a7ba
inc rcx
inc rdx
sub r8, 1
jne 0x14005a7a5
mov rax, rdx
cmp rax, 2
jb 0x14005a817
mov rdx, qword [rsp + 0x40]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rdx, rcx
jae 0x14005a817
add rcx, 0xffffffffffffffd5
cmp rdx, rcx
jae 0x14005a817
mov qword [rsp + 0x40], rcx
mov r8, rcx
mov qword [rbp - 0x80], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r15
jmp 0x14005a820
xor rax, r10
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x14005a7bd
mov rcx, qword [rsp + 0x60]
mov r8, qword [rbp - 0x80]
mov r9, qword [rbp - 0x68]
xor ebx, ebx
mov r10, qword [rbp + 0xb0]
mov r11, qword [rsp + 0x58]
mov r15, qword [rbp - 0x58]
mov rsi, r11
mov eax, dword [r12 + r9*4]
mov rdi, qword [r10 + 0x38]
sub rsi, rax
movzx r14d, word [r13 + r9*2]
test rdi, rdi
je 0x14005a99f
mov r13, qword [rsp + 0x20]
mov r12, qword [rbp - 0x70]
nop dword [rax]
dec rdi
add rbx, rsi
cmp rbx, rcx
ja 0x14005a98c
mov r9, qword [rbp + 0x98]
lea rax, [r15 + r14*4]
mov rdx, qword [rbp + 8]
mov rcx, r11
movzx r14d, word [rax + 2]
sub rcx, rbx
movzx esi, word [rax]
and rcx, r9
add rdx, r13
cmp rdx, r9
ja 0x14005a97e
lea rax, [rcx + r13]
cmp rax, r9
ja 0x14005a97e
mov r9, qword [rbp + 0x90]
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x14005a97e
lea r11, [rcx + r9]
xor eax, eax
mov rcx, qword [rsp + 0x38]
mov rdx, r12
mov r8, rcx
shr r8, 3
test r8, r8
je 0x14005a8ff
mov r10, r11
sub r10, r12
nop
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x14005a969
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14005a8e0
mov rcx, qword [rsp + 0x38]
mov r8, rcx
and r8d, 7
je 0x14005a923
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x14005a923
inc rax
sub r8, 1
jne 0x14005a910
mov rdx, rax
mov r11, qword [rsp + 0x58]
cmp rdx, 4
jb 0x14005a97a
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x40], rax
jae 0x14005a97a
mov qword [rsp + 0x40], rax
mov r13, rdx
mov qword [rsp + 0x70], rdx
mov r8, rax
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], rax
jmp 0x14005a97e
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14005a926
mov r8, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x60]
test rdi, rdi
jne 0x14005a860
mov r12, qword [rbp]
mov r13, qword [rbp + 0x20]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp + 0xb0]
movzx edx, word [r10 + 0x30]
mov ebx, 0xffff
mov rcx, r11
lea eax, [rdx + 1]
mov word [r10 + 0x30], ax
mov eax, dword [r12 + r9*4]
mov r10, qword [rbp - 0x60]
sub rcx, rax
movzx eax, r11w
cmp rcx, rbx
cmova rcx, rbx
mov byte [rax + r10], r9b
mov word [r15 + rdx*4], cx
movzx eax, word [r13 + r9*2]
mov word [r15 + rdx*4 + 2], ax
mov dword [r12 + r9*4], r11d
mov word [r13 + r9*2], dx
cmp r8, 0x7e4
jne 0x14005ad37
mov rax, qword [rbp + 0xb0]
mov r13, qword [rax + 0x48]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14005ad37
mov r12, qword [rbp - 0x70]
lea r14, [rcx + 1]
mov r8, qword [rbp + 0xa8]
mov rdx, qword [rsp + 0x38]
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 0x14005abbe
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14005abbe
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 0x14005aabe
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 0x14005abaa
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005aaa0
mov r8, r11
and r8d, 7
je 0x14005aae3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14005aae3
inc rcx
sub r8, 1
jne 0x14005aad0
mov r9, rcx
mov rcx, qword [rbp + 0xa8]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005abc9
test r9, r9
je 0x14005abc9
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x38]
shl rax, cl
inc rdx
add rax, rsi
mov rsi, qword [rbp - 0x80]
add rdx, rax
cmp rdx, qword [rbp - 0x50]
ja 0x14005abcd
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14005abcd
mov rsi, rax
mov qword [rbp - 0x80], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x70], r9
mov r15, qword [rsp + 0x30]
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x80], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov dword [rbp - 0x78], r11d
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x30], r15
jmp 0x14005abd2
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005aae6
mov rsi, qword [rbp - 0x80]
mov r15, qword [rsp + 0x30]
jmp 0x14005abd7
mov rsi, qword [rbp - 0x80]
mov r15, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0xa8]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14005ad3b
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14005ad3b
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 0x14005ac5e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14005ad23
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005ac40
mov r8, r11
and r8d, 7
je 0x14005ac7c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14005ac7c
inc rdx
inc rcx
sub r8, 1
jne 0x14005ac67
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005ad3b
test r9, r9
je 0x14005ad3b
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x38]
shl rax, cl
inc rdx
add rax, rdi
add rdx, rax
cmp rdx, qword [rbp - 0x50]
ja 0x14005ad3b
mov r10, qword [rbp + 0x80]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14005ad42
sub r11d, r9d
mov qword [rsp + 0x70], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rbp - 0x78], r11d
mov r11, qword [rsp + 0x28]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x30], r15
jmp 0x14005ad47
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005ac7f
mov rsi, qword [rbp - 0x80]
mov r10, qword [rbp + 0x80]
mov r11, qword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x68]
add rax, 0xaf
cmp rsi, rax
jb 0x14005add2
mov ecx, dword [rbp + 0xc8]
inc r15
movups xmm0, xmmword [rsp + 0x70]
mov r14, qword [rsp + 0x58]
inc ecx
mov qword [rbp + 0x88], r14
mov qword [rsp + 0x68], r15
mov dword [rbp + 0xc8], ecx
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm1
cmp ecx, 4
jge 0x14005adc7
lea rax, [r14 + 4]
cmp rax, qword [rbp - 0x48]
jae 0x14005adc7
mov r15, qword [rsp + 0x38]
mov rax, qword [rbp - 0x20]
dec r15
mov rcx, qword [rbp - 0x30]
xor r11d, r11d
mov r12, qword [rbp + 0xa8]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
jmp 0x14005a185
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x50], rax
jmp 0x14005adde
mov r14, qword [rbp + 0x88]
mov rax, qword [rsp + 0x50]
mov r9, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x18]
mov rbx, qword [rbp - 0x28]
mov rdi, qword [rbp + 0xb8]
lea r12, [rcx + rax*2]
mov rax, qword [rbp - 8]
add rax, r14
add r12, r14
cmp rax, r9
mov qword [rbp - 0x50], r12
cmovb r9, rax
cmp rbx, r9
ja 0x14005ae93
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 0x14005ae30
xor r8d, r8d
jmp 0x14005ae97
cmp rbx, r8
jne 0x14005ae3d
mov r8d, 1
jmp 0x14005ae97
cmp rdx, 7
jae 0x14005ae58
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14005ae97
cmp rcx, 7
jae 0x14005ae70
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14005ae97
movsxd rax, dword [r10]
cmp rbx, rax
jne 0x14005ae80
mov r8d, 2
jmp 0x14005ae97
mov rax, qword [rsp + 0x30]
mov r8d, 3
movsxd rax, dword [rax]
cmp rbx, rax
je 0x14005ae97
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14005aeb8
test r8, r8
je 0x14005aeb8
mov eax, dword [r10]
mov rcx, qword [rsp + 0x30]
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 r11, qword [rbp - 0x40]
mov r14d, dword [rbp - 0x18]
mov r12, qword [rsp + 0x50]
mov r13, qword [rbp + 0xa8]
movzx eax, r14b
shl eax, 0x19
or eax, r12d
mov dword [r11], r15d
mov dword [r11 + 4], eax
mov esi, dword [r13 + 0x44]
lea rax, [rsi + 0x10]
cmp r8, rax
jae 0x14005aeee
xor edi, edi
jmp 0x14005af66
mov r11d, dword [r13 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, rsi
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp - 0x40]
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, si
or r8w, r9w
mov word [r11 + 0xe], r8w
lea r9d, [r14 + r12]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd rdx, r9d
cmp r15, 6
jae 0x14005af90
movzx r10d, r15w
mov eax, 0x17
jmp 0x14005b000
cmp r15, 0x82
jae 0x14005afba
lea eax, [r15 - 2]
bsr ecx, eax
lea r10, [r15 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x14005b000
cmp r15, 0x842
jae 0x14005afd7
lea eax, [r15 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14005b000
mov eax, 0x17
cmp r15, 0x1842
jae 0x14005afeb
lea r10d, [rax - 2]
jmp 0x14005b000
cmp r15, 0x5842
jae 0x14005affc
mov r10d, 0x16
jmp 0x14005b000
movzx r10d, ax
cmp rdx, 0xa
jae 0x14005b00c
sub dx, 2
jmp 0x14005b04a
cmp rdx, 0x86
jae 0x14005b031
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 0x14005b04a
cmp rdx, 0x846
jae 0x14005b047
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x14005b04a
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 0x14005b089
cmp r10w, 8
jae 0x14005b089
cmp dx, 0x10
jae 0x14005b089
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14005b0bb
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 rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0xd8]
mov r14, qword [rbp + 0x10]
mov word [r11 + 0xc], r9w
add r11, 0x10
mov qword [rbp - 0x40], r11
lea rsi, [rcx + 2]
add qword [rax], r15
lea r15, [r12 + rcx]
cmp r15, r14
mov qword [rsp + 0x68], 0
mov rax, r12
mov qword [rbp + 0x88], r15
cmovb r14, r15
shr rax, 2
cmp rbx, rax
jae 0x14005b12e
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + rcx]
cmp rsi, rax
mov eax, 2
cmova r12, rax
lea rsi, [rcx + r12]
cmp r14, rsi
cmovb rsi, r14
cmp rsi, r14
jae 0x14005b1e9
mov r15, qword [rbp + 0x90]
mov r13d, 0xffff
mov r12, qword [rbp + 0xb0]
nop dword [rax + rax]
mov r10, qword [r12 + 0x40]
mov rcx, r10
call fcn.140053a60
mov r8, rax
call fcn.140070350
mov rdi, rax
call fcn.140053af0
movzx r11d, word [r12 + 0x30]
mov rbx, rax
mov rcx, rsi
and rcx, qword [rbp + 0x98]
lea edx, [r11 + 1]
imul r9d, dword [rcx + r15], 0x1e35a7bd
mov rcx, r10
mov word [r12 + 0x30], dx
mov rdx, rsi
shr r9, 0x11
mov eax, dword [r8 + r9*4]
sub rdx, rax
call fcn.140071e00
movzx ecx, si
cmp rdx, r13
cmova rdx, r13
mov byte [rax + rcx], r9b
mov word [rbx + r11*4], dx
movzx eax, word [rdi + r9*2]
mov word [rbx + r11*4 + 2], ax
mov dword [r8 + r9*4], esi
inc rsi
mov word [rdi + r9*2], r11w
cmp rsi, r14
jb 0x14005b150
mov r15, qword [rbp + 0x88]
mov r13, qword [rbp + 0xa8]
mov rcx, qword [rsp + 0x68]
mov r14, r15
mov qword [rbp + 0x88], r15
jmp 0x14005b3e4
mov rcx, qword [rsp + 0x68]
inc r14
mov r12, qword [rbp - 0x50]
inc rcx
mov qword [rsp + 0x68], rcx
mov qword [rbp + 0x88], r14
cmp r14, r12
jbe 0x14005b3dd
mov rax, qword [rbp + 0x18]
mov rsi, qword [rbp - 0x48]
lea rax, [r12 + rax*4]
cmp r14, rax
jbe 0x14005b306
add rsi, 0xfffffffffffffffc
lea rax, [r14 + 0x10]
cmp rax, rsi
cmovb rsi, rax
cmp r14, rsi
jae 0x14005b3dd
mov rax, rsi
add rcx, 4
sub rax, r14
mov r12d, 0xffff
dec rax
and rax, 0xfffffffffffffffc
add rcx, rax
mov qword [rsp + 0x68], rcx
nop dword [rax]
mov r10, qword [r15 + 0x40]
mov rcx, r10
call fcn.140053a60
mov r8, rax
call fcn.140070350
mov rdi, rax
call fcn.140053af0
movzx r11d, word [r15 + 0x30]
mov rbx, rax
mov rax, qword [rbp + 0x90]
mov rcx, r14
and rcx, qword [rbp + 0x98]
lea edx, [r11 + 1]
imul r9d, dword [rcx + rax], 0x1e35a7bd
mov rcx, r10
mov word [r15 + 0x30], dx
mov rdx, r14
shr r9, 0x11
mov eax, dword [r8 + r9*4]
sub rdx, rax
call fcn.140071e00
movzx ecx, r14w
cmp rdx, r12
cmova rdx, r12
mov byte [rax + rcx], r9b
mov word [rbx + r11*4], dx
movzx eax, word [rdi + r9*2]
mov word [rbx + r11*4 + 2], ax
mov dword [r8 + r9*4], r14d
add r14, 4
mov word [rdi + r9*2], r11w
cmp r14, rsi
jb 0x14005b270
jmp 0x14005b3d1
add rsi, 0xfffffffffffffffd
lea rax, [r14 + 8]
cmp rax, rsi
cmovb rsi, rax
cmp r14, rsi
jae 0x14005b3dd
mov rax, rsi
add rcx, 2
sub rax, r14
mov r12d, 0xffff
dec rax
and rax, 0xfffffffffffffffe
add rcx, rax
mov qword [rsp + 0x68], rcx
nop dword [rax]
mov r10, qword [r15 + 0x40]
mov rcx, r10
call fcn.140053a60
mov r8, rax
call fcn.140070350
mov rdi, rax
call fcn.140053af0
movzx r11d, word [r15 + 0x30]
mov rbx, rax
mov rax, qword [rbp + 0x90]
mov rcx, r14
and rcx, qword [rbp + 0x98]
lea edx, [r11 + 1]
imul r9d, dword [rcx + rax], 0x1e35a7bd
mov rcx, r10
mov word [r15 + 0x30], dx
mov rdx, r14
shr r9, 0x11
mov eax, dword [r8 + r9*4]
sub rdx, rax
call fcn.140071e00
movzx ecx, r14w
cmp rdx, r12
cmova rdx, r12
mov byte [rax + rcx], r9b
mov word [rbx + r11*4], dx
movzx eax, word [rdi + r9*2]
mov word [rbx + r11*4 + 2], ax
mov dword [r8 + r9*4], r14d
add r14, 2
mov word [rdi + r9*2], r11w
cmp r14, rsi
jb 0x14005b340
mov rcx, qword [rsp + 0x68]
mov qword [rbp + 0x88], r14
mov r13, qword [rbp + 0xa8]
mov rsi, qword [rbp - 0x48]
lea rax, [r14 + 4]
mov r9, qword [rbp + 0x90]
mov r15d, 0
mov r10, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xb0]
mov r11, qword [rbp + 0xb8]
mov rbx, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
cmp rax, rsi
jb 0x1400595a3
mov r12, qword [rsp + 0x138]
mov r8, qword [rbp - 0x40]
mov rax, qword [rbp + 0xc0]
sub rsi, r14
sub r8, qword [rbp + 0x28]
add rsi, rcx
sar r8, 4
mov qword [rax], rsi
mov rax, qword [rbp + 0xd0]
add qword [rax], r8
add rsp, 0x140
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov r11, qword [rbp + 0xb8]
mov rax, rcx
mov r13, rdx
mov qword [rbp - 0x58], r11
mov rdx, qword [rbp + 0x98]
mov edi, 1
mov r10, r9
mov qword [rbp + 0x10], r11
mov r9, r8
lea rsi, [rax + r13]
mov ecx, dword [rdx + 8]
mov r14, qword [rdx + 0x10]
shl rdi, cl
mov rcx, qword [rbp + 0xb0]
sub rdi, 0x10
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x60], rsi
mov r8, qword [rcx]
mov qword [rsp + 0x48], r8
cmp rax, 4
jb 0x14005bcd7
lea rax, [rsi - 3]
mov qword [rbp - 8], rax
jmp 0x14005bcdb
mov qword [rbp - 8], r13
cmp dword [rdx + 4], 9
mov ecx, 0x40
mov rbx, qword [rbp + 0xa8]
mov eax, 0x200
cmovl eax, ecx
mov qword [rbp], rax
add rax, r13
mov qword [rbp - 0x68], 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, rsi
jae 0x14005d4d8
lea rax, [rbx + 4]
mov qword [rsp + 0x130], r12
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x128], r15
nop dword [rax]
mov r8, rsi
mov qword [rbp - 0x20], 0
sub r8, r13
mov qword [rsp + 0x20], 0x7e4
cmp r13, rdi
mov qword [rbp + 0x70], r8
mov rax, rdi
mov rcx, rdi
cmovb rax, r13
mov qword [rsp + 0x38], rax
lea rax, [r14 + r13]
cmp rax, rdi
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbp + 0xa0]
mov qword [rbp - 0x70], rax
mov rcx, qword [rcx + 0x40]
call fcn.140053a70
mov qword [rsp + 0x70], rax
call fcn.140070370
mov qword [rsp + 0x78], rax
call fcn.140071e20
mov rdx, rax
mov qword [rsp + 0x30], rax
call fcn.140053b10
mov r15, qword [rsp + 0x38]
xor ecx, ecx
mov qword [rbp - 0x80], rax
xor esi, esi
mov rax, r13
mov qword [rsp + 0x28], rcx
and rax, r10
mov dword [rbp - 0x10], ecx
imul r14d, dword [rax + r9], 0x1e35a7bd
lea r12, [rax + r9]
mov qword [rbp - 0x50], rax
mov r13d, 0x7e4
mov qword [rbp - 0x78], r12
shr r14, 0x11
xor r11d, r11d
mov qword [rbp - 0x30], r14
mov qword [rbp + 0xb8], r11
jmp 0x14005be14
mov r8, qword [rbp + 0x70]
mov rdi, qword [rbp + 0x78]
movsxd rbx, dword [rbx + rsi*4]
mov r10, rdi
sub r10, rbx
test rsi, rsi
je 0x14005be35
movzx eax, r10w
cmp byte [rax + rdx], r14b
jne 0x14005bf3d
cmp r10, rdi
jae 0x14005bf3d
cmp rbx, r15
ja 0x14005bf3d
and r10, qword [rbp + 0x88]
xor ecx, ecx
add r10, r9
shr r8, 3
mov rdx, r12
test r8, r8
je 0x14005be8e
mov r11, r10
sub r11, r12
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r11]
cmp rax, r9
jne 0x14005bf15
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005be70
mov r8, qword [rbp + 0x70]
and r8d, 7
je 0x14005beb3
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14005beb3
inc rcx
sub r8, 1
jne 0x14005bea0
mov r8, rcx
cmp r8, 2
jb 0x14005bf26
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14005bf26
test rsi, rsi
je 0x14005bef8
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 r13, r9
jae 0x14005bf26
mov r13, r9
mov qword [rbp + 0xb8], r8
mov r11, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x20], rbx
mov qword [rsp + 0x20], r9
jmp 0x14005bf2d
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14005beb6
mov r11, qword [rbp + 0xb8]
mov r9, qword [rbp + 0x80]
mov r8, qword [rbp + 0x70]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rbp - 0x48]
lea rbx, [rsi + 1]
mov rcx, qword [rbp + 0x78]
mov r10, rcx
movsxd rdi, dword [rax + rsi*4]
sub r10, rdi
test rbx, rbx
je 0x14005bf66
movzx eax, r10w
cmp byte [rax + rdx], r14b
jne 0x14005c061
cmp r10, rcx
jae 0x14005c061
cmp rdi, r15
ja 0x14005c061
and r10, qword [rbp + 0x88]
xor edx, edx
add r10, r9
shr r8, 3
mov rcx, r12
test r8, r8
je 0x14005bfbe
mov r11, r10
sub r11, r12
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r11]
cmp rax, r9
jne 0x14005c049
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14005bfa0
mov r8, qword [rbp + 0x70]
and r8d, 7
je 0x14005bfe5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14005bfe5
inc rcx
inc rdx
sub r8, 1
jne 0x14005bfd0
mov r8, rdx
cmp r8, 2
jb 0x14005c05a
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14005c05a
test rbx, rbx
je 0x14005c029
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 r13, r9
jae 0x14005c05a
mov r13, r9
mov qword [rbp + 0xb8], r8
mov r11, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x20], rdi
mov r10, r9
mov qword [rsp + 0x20], r9
jmp 0x14005c066
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14005bfe8
mov r11, qword [rbp + 0xb8]
mov r10, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
add rsi, 2
mov r9, qword [rbp + 0x80]
mov rbx, qword [rbp + 0xa8]
cmp rsi, 0xa
jb 0x14005be10
mov rax, qword [rbp + 0xa0]
xor ebx, ebx
mov r15, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x78]
mov r12, qword [rsp + 0x78]
mov rsi, rdx
mov rdi, qword [rax + 0x38]
mov eax, dword [r15 + r14*4]
sub rsi, rax
movzx r14d, word [r12 + r14*2]
test rdi, rdi
je 0x14005c20b
mov r12, qword [rbp - 0x78]
mov r15, qword [rsp + 0x38]
nop dword [rax]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, r15
ja 0x14005c201
mov r8, qword [rbp + 0x88]
mov rcx, rdx
mov rax, qword [rbp - 0x80]
sub rcx, rbx
mov rdx, qword [rbp - 0x50]
lea rax, [rax + r14*4]
movzx r14d, word [rax + 2]
and rcx, r8
movzx esi, word [rax]
add rdx, r11
cmp rdx, r8
ja 0x14005c1f4
lea rax, [rcx + r11]
cmp rax, r8
ja 0x14005c1f4
mov r8, qword [rbp + 0x80]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x14005c1f4
mov rax, qword [rbp + 0x70]
lea r11, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x14005c16f
mov r10, r11
sub r10, r12
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14005c1d7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005c151
mov rax, qword [rbp + 0x70]
mov r8, rax
and r8d, 7
je 0x14005c193
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14005c193
inc rcx
sub r8, 1
jne 0x14005c180
mov rdx, rcx
cmp rdx, 4
jb 0x14005c1e8
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x14005c1e8
mov r13, rax
mov qword [rbp + 0xb8], rdx
mov r11, rdx
mov qword [rsp + 0x28], rdx
mov qword [rbp - 0x20], rbx
mov r10, rax
mov qword [rsp + 0x20], rax
jmp 0x14005c1f4
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14005c196
mov r10, qword [rsp + 0x20]
mov r11, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0x78]
test rdi, rdi
jne 0x14005c0d0
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov r8, qword [rbp - 0x30]
mov r13, qword [rbp + 0x78]
mov r14, qword [rbp + 0xa0]
mov rcx, r13
mov r9, qword [rsp + 0x30]
movzx edx, word [r14 + 0x30]
lea eax, [rdx + 1]
mov word [r14 + 0x30], ax
mov eax, dword [r15 + r8*4]
sub rcx, rax
movzx eax, r13w
mov byte [rax + r9], r8b
mov eax, 0xffff
mov r9, qword [rbp - 0x80]
cmp rcx, rax
cmova rcx, rax
mov word [r9 + rdx*4], cx
movzx eax, word [r12 + r8*2]
mov word [r9 + rdx*4 + 2], ax
mov dword [r15 + r8*4], r13d
mov word [r12 + r8*2], dx
cmp r10, 0x7e4
jne 0x14005c587
mov r13, qword [r14 + 0x48]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14005c583
mov r12, qword [rbp - 0x78]
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x70]
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 0x14005c405
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14005c405
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 0x14005c32e
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14005c3f1
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005c310
mov r8, r11
and r8d, 7
je 0x14005c353
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x14005c353
inc rcx
sub r8, 1
jne 0x14005c340
mov r9, rcx
mov rcx, qword [rbp + 0x98]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005c40c
test r9, r9
je 0x14005c40c
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x40]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rbp - 0x70]
ja 0x14005c411
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x20]
jb 0x14005c411
mov qword [rsp + 0x20], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x28], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x10], r11d
mov qword [rbp - 0x20], rdx
jmp 0x14005c411
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005c356
mov rsi, qword [rsp + 0x40]
jmp 0x14005c415
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x70]
mov r15, qword [rbp + 0x98]
lea rax, [r14 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14005c576
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14005c576
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14005c49e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14005c55c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005c480
mov r8, r11
and r8d, 7
je 0x14005c4bc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14005c4bc
inc rdx
inc rcx
sub r8, 1
jne 0x14005c4a7
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005c576
test r9, r9
je 0x14005c576
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r15 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rbp - 0x70]
ja 0x14005c576
mov r14, qword [rbp + 0xa0]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp + 0x20]
add rax, 0x780
cmp rax, rcx
jb 0x14005c570
sub r11d, r9d
mov qword [rsp + 0x28], r9
inc qword [r13 + 0x10]
mov r10, r9
mov r13, qword [rbp + 0x78]
mov rcx, rax
mov dword [rbp - 0x10], r11d
mov qword [rbp - 0x20], rdx
mov qword [rsp + 0x20], rax
jmp 0x14005c598
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005c4bf
mov r13, qword [rbp + 0x78]
jmp 0x14005c593
mov r13, qword [rbp + 0x78]
mov r14, qword [rbp + 0xa0]
jmp 0x14005c58e
mov r13, qword [rbp + 0x78]
mov r15, qword [rbp + 0x98]
mov rcx, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
cmp rcx, 0x7e4
jbe 0x14005d2bd
mov dword [rbp + 0xb8], 0
mov r8, qword [rbp + 0x70]
dec r8
cmp dword [r15 + 4], 5
mov qword [rbp + 0x70], r8
jge 0x14005c5d6
lea rax, [r10 - 1]
mov r10, r8
cmp rax, r8
cmovb r10, rax
mov qword [rsp + 0x38], r10
jmp 0x14005c5dd
xor eax, eax
mov qword [rsp + 0x38], rax
mov rdx, qword [rbp - 0x40]
lea r11, [r13 + 1]
cmp r11, rdx
mov qword [rsp + 0x58], 0
mov rax, rdx
mov qword [rsp + 0x30], r11
cmovb rax, r11
mov rcx, rdx
mov qword [rbp - 0x70], rax
mov r9d, 0x7e4
mov rax, qword [rbp - 0x38]
inc rax
mov qword [rsp + 0x60], r9
add rax, r13
cmp rax, rdx
cmovb rcx, rax
mov rax, qword [r15 + 0x50]
mov qword [rbp - 0x50], rcx
mov rcx, qword [r14 + 0x40]
mov qword [rbp - 0x68], rax
call fcn.140053a70
mov qword [rbp - 0x78], rax
call fcn.140070370
mov qword [rbp - 0x80], rax
call fcn.140071e20
mov rdx, rax
mov qword [rsp + 0x40], rax
call fcn.140053b10
mov rdi, qword [rbp + 0x88]
mov r13d, r9d
mov r10, qword [rbp + 0x80]
mov r15, qword [rbp - 0x70]
mov qword [rsp + 0x78], rax
mov rax, r11
and rax, rdi
mov qword [rsp + 0x50], 0
imul r14d, dword [rax + r10], 0x1e35a7bd
lea r12, [rax + r10]
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x70], r12
mov dword [rsp + 0x68], 0
shr r14, 0x11
mov qword [rbp + 8], r14
xor esi, esi
jmp 0x14005c6be
mov r10, qword [rbp + 0x80]
mov rdi, qword [rbp + 0x88]
mov rax, qword [rbp + 0xa8]
movsxd rbx, dword [rax + rsi*4]
sub r11, rbx
test rsi, rsi
je 0x14005c6df
movzx eax, r11w
cmp byte [rax + rdx], r14b
jne 0x14005c7d0
cmp r11, qword [rsp + 0x30]
jae 0x14005c7d0
cmp rbx, r15
ja 0x14005c7d0
and r11, rdi
mov r9, r8
add r11, r10
shr r9, 3
xor ecx, ecx
mov rdx, r12
test r9, r9
je 0x14005c732
mov r10, r11
sub r10, r12
mov rax, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rax, r8
jne 0x14005c7b1
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14005c710
mov r8, qword [rbp + 0x70]
and r8d, 7
je 0x14005c753
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14005c753
inc rcx
sub r8, 1
jne 0x14005c740
mov r8, rcx
cmp r8, 2
jb 0x14005c7c2
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14005c7c2
test rsi, rsi
je 0x14005c798
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 r13, r9
jae 0x14005c7c2
mov r13, r9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], r9
jmp 0x14005c7c7
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14005c756
mov r9, qword [rsp + 0x60]
mov r8, qword [rbp + 0x70]
mov rdx, qword [rsp + 0x40]
mov rax, qword [rbp - 0x48]
lea rbx, [rsi + 1]
mov r11, qword [rsp + 0x30]
mov r10, r11
movsxd rdi, dword [rax + rsi*4]
sub r10, rdi
test rbx, rbx
je 0x14005c7fa
movzx eax, r10w
cmp byte [rax + rdx], r14b
jne 0x14005c905
cmp r10, r11
jae 0x14005c905
cmp rdi, r15
ja 0x14005c905
and r10, qword [rbp + 0x88]
mov r9, r8
add r10, qword [rbp + 0x80]
xor edx, edx
shr r9, 3
mov rcx, r12
test r9, r9
je 0x14005c862
mov r11, r10
sub r11, r12
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r8, qword [r11 + rcx]
cmp rax, r8
jne 0x14005c8ea
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14005c840
mov r8, qword [rbp + 0x70]
and r8d, 7
je 0x14005c885
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14005c885
inc rcx
inc rdx
sub r8, 1
jne 0x14005c870
mov r8, rdx
cmp r8, 2
jb 0x14005c8fb
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x14005c8fb
test rbx, rbx
je 0x14005c8c9
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 r13, r9
jae 0x14005c8fb
mov r11, qword [rsp + 0x30]
mov r13, r9
mov r10, r8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r9
jmp 0x14005c90a
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14005c888
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
add rsi, 2
mov r8, qword [rbp + 0x70]
cmp rsi, 0xa
jb 0x14005c6b0
mov rax, qword [rbp + 0xa0]
mov rsi, r11
mov r15, qword [rbp - 0x78]
xor ebx, ebx
mov r12, qword [rbp - 0x80]
mov rdi, qword [rax + 0x38]
mov eax, dword [r15 + r14*4]
movzx r14d, word [r12 + r14*2]
sub rsi, rax
test rdi, rdi
je 0x14005ca97
mov r12, qword [rsp + 0x70]
mov r15, qword [rbp - 0x70]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, r15
ja 0x14005ca8f
mov r8, qword [rbp + 0x88]
mov rcx, r11
mov rax, qword [rsp + 0x78]
sub rcx, rbx
mov rdx, qword [rbp - 0x30]
lea rax, [rax + r14*4]
movzx r14d, word [rax + 2]
and rcx, r8
movzx esi, word [rax]
add rdx, r10
cmp rdx, r8
ja 0x14005ca86
lea rax, [rcx + r10]
cmp rax, r8
ja 0x14005ca86
mov r8, qword [rbp + 0x80]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x14005ca86
lea r11, [rcx + r8]
xor eax, eax
mov rcx, qword [rbp + 0x70]
mov rdx, r12
mov r8, rcx
shr r8, 3
test r8, r8
je 0x14005ca00
mov r10, r11
sub r10, r12
mov rcx, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rcx, r9
jne 0x14005ca6b
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14005c9e2
mov rcx, qword [rbp + 0x70]
mov r8, rcx
and r8d, 7
je 0x14005ca23
sub rdx, rax
nop dword [rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x14005ca23
inc rax
sub r8, 1
jne 0x14005ca10
mov rdx, rax
mov r11, qword [rsp + 0x30]
cmp rdx, 4
jb 0x14005ca7c
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x14005ca7c
mov r13, rax
mov qword [rsp + 0x38], rdx
mov r10, rdx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rbx
mov r9, rax
mov qword [rsp + 0x60], rax
jmp 0x14005ca86
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14005ca26
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x38]
test rdi, rdi
jne 0x14005c960
mov r15, qword [rbp - 0x78]
mov r12, qword [rbp - 0x80]
mov r8, qword [rbp + 8]
mov ebx, 0xffff
mov r14, qword [rbp + 0xa0]
mov rcx, r11
mov r10, qword [rsp + 0x40]
movzx edx, word [r14 + 0x30]
lea eax, [rdx + 1]
mov word [r14 + 0x30], ax
mov eax, dword [r15 + r8*4]
sub rcx, rax
movzx eax, r11w
cmp rcx, rbx
cmova rcx, rbx
mov byte [rax + r10], r8b
mov r10, qword [rsp + 0x78]
mov word [r10 + rdx*4], cx
movzx eax, word [r12 + r8*2]
mov word [r10 + rdx*4 + 2], ax
mov dword [r15 + r8*4], r11d
mov word [r12 + r8*2], dx
cmp r9, 0x7e4
jne 0x14005cdfa
mov r13, qword [r14 + 0x48]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14005cdfa
mov r12, qword [rsp + 0x70]
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x70]
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 0x14005cc9b
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14005cc9b
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 0x14005cbbe
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 0x14005cc87
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005cba0
mov r8, r11
and r8d, 7
je 0x14005cbe3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14005cbe3
inc rcx
sub r8, 1
jne 0x14005cbd0
mov r9, rcx
mov rcx, qword [rbp + 0x98]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005cca2
test r9, r9
je 0x14005cca2
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x50]
shl rax, cl
inc rdx
add rax, rsi
mov rsi, qword [rsp + 0x60]
add rdx, rax
cmp rdx, qword [rbp - 0x68]
ja 0x14005cca7
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14005cca7
mov rsi, rax
mov qword [rsp + 0x60], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x50], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x68], r11d
mov qword [rsp + 0x58], rdx
jmp 0x14005cca7
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005cbe6
mov rsi, qword [rsp + 0x60]
jmp 0x14005ccab
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rbp + 0x70]
mov r15, qword [rbp + 0x98]
lea rax, [r14 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14005ce08
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14005ce08
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14005cd2e
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14005cde6
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005cd10
mov r8, r11
and r8d, 7
je 0x14005cd4c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14005cd4c
inc rdx
inc rcx
sub r8, 1
jne 0x14005cd37
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005ce08
test r9, r9
je 0x14005ce08
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r15 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x50]
shl rax, cl
inc rdx
add rax, rdi
add rdx, rax
cmp rdx, qword [rbp - 0x68]
ja 0x14005ce08
mov r14, qword [rbp + 0xa0]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14005ce0f
sub r11d, r9d
mov qword [rsp + 0x50], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x68], r11d
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
jmp 0x14005ce0f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005cd4f
mov rsi, qword [rsp + 0x60]
mov r15, qword [rbp + 0x98]
jmp 0x14005ce0f
mov r14, qword [rbp + 0xa0]
mov rax, qword [rsp + 0x20]
add rax, 0xaf
cmp rsi, rax
jb 0x14005ce7e
mov ecx, dword [rbp + 0xb8]
movups xmm0, xmmword [rsp + 0x50]
inc qword [rsp + 0x48]
inc ecx
mov r13, qword [rsp + 0x30]
mov qword [rbp + 0x78], r13
mov dword [rbp + 0xb8], ecx
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm1
cmp ecx, 4
jge 0x14005ce73
lea rax, [r13 + 4]
cmp rax, qword [rbp - 0x60]
jae 0x14005ce73
mov rax, qword [rbp - 0x18]
mov r10, qword [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r10
jmp 0x14005c5af
mov r11, qword [rbp - 0x28]
mov qword [rsp + 0x28], r11
jmp 0x14005ce87
mov r13, qword [rbp + 0x78]
mov r11, qword [rsp + 0x28]
mov rax, qword [rbp]
mov r9, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x20]
mov r10, qword [rbp + 0xa8]
lea r12, [rax + r11*2]
mov rax, qword [rbp - 0x38]
add rax, r13
add r12, r13
cmp rax, r9
mov qword [rbp - 0x68], r12
cmovb r9, rax
cmp rbx, r9
ja 0x14005cf40
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 0x14005cede
xor r8d, r8d
jmp 0x14005cf48
cmp rbx, r8
jne 0x14005ceeb
mov r8d, 1
jmp 0x14005cf48
cmp rdx, 7
jae 0x14005cf06
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14005cf48
cmp rcx, 7
jae 0x14005cf1e
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14005cf48
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x14005cf2f
mov r8d, 2
jmp 0x14005cf48
movsxd rax, dword [r10 + 0xc]
cmp rbx, rax
jne 0x14005cf44
mov r8d, 3
jmp 0x14005cf48
mov rdi, qword [rbp - 0x48]
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14005cf92
test r8, r8
je 0x14005cf92
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 [rbp - 0x58]
mov esi, dword [rbp - 0x10]
mov r12, qword [rsp + 0x48]
movzx eax, sil
shl eax, 0x19
or eax, r11d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov r14d, dword [r15 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x14005cfbf
xor edi, edi
jmp 0x14005d038
mov r11d, dword [r15 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x28]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp - 0x58]
lea edx, [r11 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r12, 6
jae 0x14005d066
movzx r10d, r12w
mov eax, 0x17
jmp 0x14005d0d9
cmp r12, 0x82
jae 0x14005d092
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 0x14005d0d9
cmp r12, 0x842
jae 0x14005d0b0
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14005d0d9
mov eax, 0x17
cmp r12, 0x1842
jae 0x14005d0c4
lea r10d, [rax - 2]
jmp 0x14005d0d9
cmp r12, 0x5842
jae 0x14005d0d5
mov r10d, 0x16
jmp 0x14005d0d9
movzx r10d, ax
cmp r9, 0xa
jae 0x14005d0e6
sub r9w, 2
jmp 0x14005d126
cmp r9, 0x86
jae 0x14005d10b
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 0x14005d126
cmp r9, 0x846
jae 0x14005d122
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14005d126
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 0x14005d163
cmp r10w, 8
jae 0x14005d163
cmp r9w, 0x10
jae 0x14005d163
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x14005d197
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 + 0xc8]
lea r15, [r11 + r13]
mov word [r14 + 0xc], dx
lea rsi, [r13 + 2]
add r14, 0x10
mov qword [rsp + 0x48], 0
mov qword [rbp - 0x58], r14
add qword [rax], r12
mov rax, r11
mov r14, qword [rbp - 8]
cmp r15, r14
mov qword [rbp + 0x78], r15
cmovb r14, r15
shr rax, 2
cmp rbx, rax
jae 0x14005d200
lea rax, [rbx*4]
sub r11, rax
lea rax, [r11 + r13]
cmp rsi, rax
mov eax, 2
cmova r11, rax
lea rsi, [r11 + r13]
cmp r14, rsi
cmovb rsi, r14
cmp rsi, r14
jae 0x14005d2b1
mov r15, qword [rbp + 0x80]
mov r13, qword [rbp + 0xa0]
nop word [rax + rax]
mov r10, qword [r13 + 0x40]
mov rcx, r10
call fcn.140053a70
mov r8, rax
call fcn.140070370
mov rdi, rax
call fcn.140053b10
movzx r11d, word [r13 + 0x30]
mov rbx, rax
mov rcx, rsi
and rcx, qword [rbp + 0x88]
lea edx, [r11 + 1]
imul r9d, dword [rcx + r15], 0x1e35a7bd
mov rcx, r10
mov word [r13 + 0x30], dx
mov rdx, rsi
shr r9, 0x11
mov eax, dword [r8 + r9*4]
sub rdx, rax
call fcn.140071e20
movzx ecx, si
mov byte [rax + rcx], r9b
mov eax, 0xffff
cmp rdx, rax
cmova rdx, rax
mov word [rbx + r11*4], dx
movzx eax, word [rdi + r9*2]
mov word [rbx + r11*4 + 2], ax
mov dword [r8 + r9*4], esi
inc rsi
mov word [rdi + r9*2], r11w
cmp rsi, r14
jb 0x14005d220
mov r15, qword [rbp + 0x78]
mov r13, r15
mov qword [rbp + 0x78], r15
jmp 0x14005d48a
mov r8, qword [rsp + 0x48]
inc r13
mov r12, qword [rbp - 0x68]
inc r8
mov qword [rsp + 0x48], r8
mov qword [rbp + 0x78], r13
cmp r13, r12
jbe 0x14005d48f
mov rax, qword [rbp]
mov rsi, qword [rbp - 0x60]
lea rax, [r12 + rax*4]
cmp r13, rax
jbe 0x14005d3bf
add rsi, 0xfffffffffffffffc
lea rax, [r13 + 0x10]
cmp rax, rsi
cmovb rsi, rax
cmp r13, rsi
jae 0x14005d48f
mov rax, rsi
add r8, 4
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add r8, rax
mov qword [rsp + 0x48], r8
mov r10, qword [r14 + 0x40]
mov rcx, r10
call fcn.140053a70
mov r8, rax
call fcn.140070370
mov rdi, rax
call fcn.140053b10
movzx r11d, word [r14 + 0x30]
mov rbx, rax
mov rax, qword [rbp + 0x80]
mov rcx, r13
and rcx, qword [rbp + 0x88]
lea edx, [r11 + 1]
imul r9d, dword [rcx + rax], 0x1e35a7bd
mov rcx, r10
mov word [r14 + 0x30], dx
mov rdx, r13
shr r9, 0x11
mov eax, dword [r8 + r9*4]
sub rdx, rax
call fcn.140071e20
movzx ecx, r13w
mov byte [rax + rcx], r9b
mov ecx, 0xffff
cmp rdx, rcx
cmova rdx, rcx
mov word [rbx + r11*4], dx
movzx eax, word [rdi + r9*2]
mov word [rbx + r11*4 + 2], ax
mov dword [r8 + r9*4], r13d
add r13, 4
mov word [rdi + r9*2], r11w
cmp r13, rsi
jb 0x14005d324
jmp 0x14005d486
add rsi, 0xfffffffffffffffd
lea rax, [r13 + 8]
cmp rax, rsi
cmovb rsi, rax
cmp r13, rsi
jae 0x14005d48f
mov rax, rsi
add r8, 2
sub rax, r13
dec rax
and rax, 0xfffffffffffffffe
add r8, rax
mov qword [rsp + 0x48], r8
mov r10, qword [r14 + 0x40]
mov rcx, r10
call fcn.140053a70
mov r8, rax
call fcn.140070370
mov rdi, rax
call fcn.140053b10
movzx r11d, word [r14 + 0x30]
mov rbx, rax
mov rax, qword [rbp + 0x80]
mov rcx, r13
and rcx, qword [rbp + 0x88]
lea edx, [r11 + 1]
imul r9d, dword [rcx + rax], 0x1e35a7bd
mov rcx, r10
mov word [r14 + 0x30], dx
mov rdx, r13
shr r9, 0x11
mov eax, dword [r8 + r9*4]
sub rdx, rax
call fcn.140071e20
movzx ecx, r13w
mov byte [rax + rcx], r9b
mov eax, 0xffff
cmp rdx, rax
cmova rdx, rax
mov word [rbx + r11*4], dx
movzx eax, word [rdi + r9*2]
mov word [rbx + r11*4 + 2], ax
mov dword [r8 + r9*4], r13d
add r13, 2
mov word [rdi + r9*2], r11w
cmp r13, rsi
jb 0x14005d3f0
mov qword [rbp + 0x78], r13
mov r8, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x60]
lea rax, [r13 + 4]
mov r9, qword [rbp + 0x80]
mov r10, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x98]
mov rbx, qword [rbp + 0xa8]
mov rdi, qword [rbp - 0x40]
mov r14, qword [rbp - 0x38]
cmp rax, rsi
jb 0x14005bd50
mov r15, qword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
mov r11, qword [rbp - 0x58]
mov rax, qword [rbp + 0xb0]
sub rsi, r13
sub r11, qword [rbp + 0x10]
add rsi, r8
sar r11, 4
mov qword [rax], rsi
mov rax, qword [rbp + 0xc0]
add qword [rax], r11
add rsp, 0x138
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov r13, qword [rbp + 0x98]
mov r10, rcx
mov rbx, qword [rbp + 0xb8]
mov r15, rdx
mov rax, qword [rbp + 0xa0]
mov edi, 1
add rax, 0x30
mov qword [rbp - 0x50], rbx
mov ecx, dword [r13 + 8]
mov r11, r9
mov rsi, qword [r13 + 0x10]
lea r14, [r10 + r15]
shl rdi, cl
mov r9, r8
sub rdi, 0x10
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rsi
mov qword [rbp + 0x10], rbx
mov rdx, qword [rax]
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x58], r14
cmp r10, 4
jb 0x14005dbda
lea rax, [r14 - 3]
mov qword [rbp - 0x10], rax
jmp 0x14005dbde
mov qword [rbp - 0x10], r15
mov r8, qword [rbp + 0xa8]
mov ecx, 0x40
cmp dword [r13 + 4], 9
mov eax, 0x200
cmovl eax, ecx
mov ecx, dword [r8]
mov qword [rbp - 8], rax
add rax, r15
mov qword [rbp - 0x60], 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, [r15 + 4]
cmp rax, r14
jae 0x14005f99e
lea rbx, [r8 + 8]
mov qword [rsp + 0x128], r12
mov qword [rbp], rbx
xor r12d, r12d
nop dword [rax]
mov r8, r14
mov qword [rbp - 0x38], r12
sub r8, r15
mov qword [rsp + 0x48], 0x7e4
cmp r15, rdi
mov qword [rbp + 0xb8], r8
mov rax, rdi
mov rcx, rdi
cmovb rax, r15
mov qword [rsp + 0x78], rax
lea rax, [rsi + r15]
cmp rax, rdi
cmovb rcx, rax
mov rax, qword [r13 + 0x50]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rbp - 0x68], rax
mov rcx, qword [rcx + 0x408]
call fcn.140053a80
mov qword [rsp + 0x30], rax
call fcn.140070390
mov qword [rbp - 0x80], rax
call fcn.140071e40
mov rdx, rax
mov qword [rsp + 0x28], rax
call fcn.140053b30
mov r13, qword [rsp + 0x78]
mov r14, rbx
mov qword [rbp - 0x78], rax
mov rax, r15
and rax, r11
mov qword [rbp + 0x70], r12
imul ecx, dword [rax + r9], 0x1e35a7bd
lea r15, [rax + r9]
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x28], r12d
mov r12d, 0x7e4
mov qword [rbp - 0x70], r15
shr rcx, 0x11
xor eax, eax
mov qword [rsp + 0x20], rcx
mov qword [rbp + 0xa0], rax
lea esi, [rax + 2]
jmp 0x14005dd5f
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rbp + 0xb8]
mov r9, qword [rbp + 0x80]
mov r11, qword [rbp + 0x88]
mov rax, qword [rbp + 0x78]
lea rbx, [rsi - 2]
movsxd rdi, dword [r14 - 8]
mov r10, rax
sub r10, rdi
test rbx, rbx
je 0x14005dd87
movzx eax, r10w
cmp byte [rax + rdx], cl
jne 0x14005de93
mov rax, qword [rbp + 0x78]
cmp r10, rax
jae 0x14005de93
cmp rdi, r13
ja 0x14005de93
and r10, r11
shr r8, 3
add r10, r9
xor ecx, ecx
mov rdx, r15
test r8, r8
je 0x14005ddde
mov r11, r10
sub r11, r15
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r11 + rdx]
cmp r9, rax
jne 0x14005de6a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005ddc0
mov r8, qword [rbp + 0xb8]
and r8d, 7
je 0x14005de03
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14005de03
inc rcx
sub r8, 1
jne 0x14005ddf0
mov r8, rcx
cmp r8, 2
jb 0x14005de7b
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005de7b
test rbx, rbx
je 0x14005de42
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 + 0x20]
mov rdx, qword [rsp + 0x28]
cmp r12, r9
jae 0x14005de85
mov r12, r9
mov qword [rbp + 0xa0], r8
mov qword [rbp + 0x70], r8
mov qword [rbp - 0x38], rdi
mov qword [rsp + 0x48], r9
jmp 0x14005de85
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14005de06
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov r9, qword [rbp + 0x80]
mov r8, qword [rbp + 0xb8]
mov r11, qword [rbp + 0x78]
lea rbx, [rsi - 1]
movsxd rdi, dword [r14 - 4]
mov r10, r11
sub r10, rdi
test rbx, rbx
je 0x14005deb7
movzx eax, r10w
cmp byte [rax + rdx], cl
jne 0x14005df90
cmp r10, r11
jae 0x14005df90
cmp rdi, r13
ja 0x14005df90
and r10, qword [rbp + 0x88]
xor edx, edx
add r10, r9
shr r8, 3
mov rcx, r15
test r8, r8
je 0x14005df0e
mov r11, r10
sub r11, r15
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r9, rax
jne 0x14005e1bd
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14005def0
mov r8, qword [rbp + 0xb8]
and r8d, 7
je 0x14005df35
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14005df35
inc rcx
inc rdx
sub r8, 1
jne 0x14005df20
mov r8, rdx
cmp r8, 2
jb 0x14005df90
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005df90
test rbx, rbx
je 0x14005df79
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 0x14005df90
mov r12, r9
mov qword [rbp + 0xa0], r8
mov qword [rbp + 0x70], r8
mov qword [rbp - 0x38], rdi
mov qword [rsp + 0x48], r9
mov rdi, qword [rbp + 0x78]
movsxd rbx, dword [r14]
mov r10, rdi
sub r10, rbx
test rsi, rsi
je 0x14005dfb9
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
movzx eax, r10w
cmp byte [rax + rdx], cl
jne 0x14005e098
cmp r10, rdi
jae 0x14005e098
cmp rbx, r13
ja 0x14005e098
and r10, qword [rbp + 0x88]
xor edx, edx
mov rdi, qword [rbp + 0xb8]
mov rcx, r15
add r10, qword [rbp + 0x80]
mov r8, rdi
shr r8, 3
test r8, r8
je 0x14005e01e
mov r11, r10
sub r11, r15
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r9, rax
jne 0x14005e1d1
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14005e000
mov r8, rdi
and r8d, 7
je 0x14005e03c
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14005e03c
inc rcx
inc rdx
sub r8, 1
jne 0x14005e027
mov r8, rdx
cmp r8, 2
jb 0x14005e098
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005e098
test rsi, rsi
je 0x14005e081
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 0x14005e098
mov r12, r9
mov qword [rbp + 0xa0], r8
mov qword [rbp + 0x70], r8
mov qword [rbp - 0x38], rbx
mov qword [rsp + 0x48], r9
mov r8, qword [rbp + 0x78]
lea rbx, [rsi + 1]
movsxd rdi, dword [r14 + 4]
mov r10, r8
sub r10, rdi
test rbx, rbx
je 0x14005e0c6
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
movzx eax, r10w
cmp byte [rax + rdx], cl
jne 0x14005e1f9
cmp r10, r8
jae 0x14005e1f9
cmp rdi, r13
ja 0x14005e1f9
and r10, qword [rbp + 0x88]
xor edx, edx
mov rax, qword [rbp + 0xb8]
mov rcx, r15
add r10, qword [rbp + 0x80]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14005e135
mov r11, r10
sub r11, r15
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r9, rax
jne 0x14005e1e5
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14005e110
mov rax, qword [rbp + 0xb8]
mov r8, rax
and r8d, 7
je 0x14005e155
nop
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14005e155
inc rcx
inc rdx
sub r8, 1
jne 0x14005e140
mov r8, rdx
cmp r8, 2
jb 0x14005e1f9
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005e1f9
test rbx, rbx
je 0x14005e1a1
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 0x14005e1f9
mov r12, r9
mov qword [rbp + 0xa0], r8
mov r11, r8
mov qword [rbp + 0x70], r8
mov qword [rbp - 0x38], rdi
mov qword [rsp + 0x48], r9
jmp 0x14005e200
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14005df38
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14005e03f
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14005e158
mov r11, qword [rbp + 0xa0]
add rsi, 4
add r14, 0x10
lea rax, [rsi - 2]
cmp rax, 0x10
jb 0x14005dd40
mov r9, qword [rsp + 0x20]
xor ebx, ebx
mov rax, qword [rsp + 0x38]
mov r14, r9
mov r13, qword [rsp + 0x30]
and r14d, 0x1ff
mov r10, qword [rbp + 0x78]
mov r8, qword [rbp - 0x80]
mov rsi, r10
mov rdi, qword [rax + 0x400]
mov eax, dword [r13 + r9*4]
sub rsi, rax
movzx r15d, word [r8 + r9*2]
test rdi, rdi
je 0x14005e3a6
mov r13, qword [rbp - 0x70]
nop dword [rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x78]
ja 0x14005e398
mov rdx, qword [rbp - 0x78]
mov rax, r14
mov r8, qword [rbp + 0x88]
mov rcx, r10
shl rax, 9
sub rcx, rbx
add rax, r15
and rcx, r8
movzx r15d, word [rdx + rax*4 + 2]
movzx esi, word [rdx + rax*4]
mov rax, qword [rbp - 0x48]
lea rdx, [r11 + rax]
cmp rdx, r8
ja 0x14005e38f
lea rax, [rcx + r11]
cmp rax, r8
ja 0x14005e38f
mov r8, qword [rbp + 0x80]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x14005e38f
mov rax, qword [rbp + 0xb8]
lea r11, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14005e311
mov r10, r11
sub r10, r13
nop
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14005e377
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005e2f0
mov rax, qword [rbp + 0xb8]
mov r8, rax
and r8d, 7
je 0x14005e333
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14005e333
inc rcx
sub r8, 1
jne 0x14005e320
mov rdx, rcx
mov r10, qword [rbp + 0x78]
cmp rdx, 4
jb 0x14005e388
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14005e388
mov r12, rax
mov qword [rbp + 0xa0], rdx
mov r11, rdx
mov qword [rbp + 0x70], rdx
mov qword [rbp - 0x38], rbx
mov qword [rsp + 0x48], rax
jmp 0x14005e38f
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14005e336
mov r11, qword [rbp + 0xa0]
test rdi, rdi
jne 0x14005e260
mov r13, qword [rsp + 0x30]
mov r8, qword [rbp - 0x80]
mov r9, qword [rsp + 0x20]
mov r15, qword [rbp + 0x78]
mov r12, qword [rsp + 0x38]
mov rcx, r15
mov r10, qword [rsp + 0x28]
movzx eax, word [r12 + r14*2]
mov edx, eax
inc ax
mov word [r12 + r14*2], ax
and edx, 0x1ff
mov eax, dword [r13 + r9*4]
sub rcx, rax
movzx eax, r15w
mov byte [rax + r10], r9b
mov eax, 0xffff
mov r10, qword [rbp - 0x78]
cmp rcx, rax
cmova rcx, rax
shl r14, 9
add r14, rdx
cmp qword [rsp + 0x48], 0x7e4
mov word [r10 + r14*4], cx
movzx eax, word [r8 + r9*2]
mov word [r10 + r14*4 + 2], ax
mov dword [r13 + r9*4], r15d
mov word [r8 + r9*2], dx
jne 0x14005e726
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 0x14005e722
mov r12, qword [rbp - 0x70]
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xb8]
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 0x14005e5b4
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14005e5b4
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 0x14005e4de
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14005e5a0
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005e4c0
mov r8, r11
and r8d, 7
je 0x14005e503
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x14005e503
inc rcx
sub r8, 1
jne 0x14005e4f0
mov r9, rcx
mov rcx, qword [rbp + 0x98]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005e5bb
test r9, r9
je 0x14005e5bb
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x40]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rbp - 0x68]
ja 0x14005e5c0
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x14005e5c0
mov qword [rsp + 0x48], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rbp + 0x70], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x28], r11d
mov qword [rbp - 0x38], rdx
jmp 0x14005e5c0
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005e506
mov rsi, qword [rsp + 0x40]
jmp 0x14005e5c7
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rbp + 0xb8]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x98]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14005e717
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14005e717
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 0x14005e64e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14005e703
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005e630
mov r8, r11
and r8d, 7
je 0x14005e66c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14005e66c
inc rdx
inc rcx
sub r8, 1
jne 0x14005e657
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005e717
test r9, r9
je 0x14005e717
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rbp - 0x68]
ja 0x14005e717
mov r15, qword [rbp + 0x78]
mov r12, qword [rsp + 0x38]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x14005e72d
sub r11d, r9d
mov qword [rbp - 0x38], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rbp + 0x70], rcx
mov dword [rbp - 0x28], r11d
mov qword [rsp + 0x48], rax
jmp 0x14005e731
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005e66f
mov r15, qword [rbp + 0x78]
mov r12, qword [rsp + 0x38]
jmp 0x14005e72d
mov r15, qword [rbp + 0x78]
mov r14, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x70]
cmp qword [rsp + 0x48], 0x7e4
jbe 0x14005f73a
mov dword [rbp + 0xa0], 0
mov r8, qword [rbp + 0xb8]
dec r8
cmp dword [r14 + 4], 5
mov qword [rbp + 0xb8], r8
jge 0x14005e777
lea rax, [rcx - 1]
mov r10, r8
cmp rax, r8
cmovb r10, rax
mov qword [rsp + 0x30], r10
jmp 0x14005e77e
xor eax, eax
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp - 0x20]
lea rbx, [r15 + 1]
cmp rbx, rdx
mov qword [rsp + 0x60], 0
mov rax, rdx
mov qword [rsp + 0x20], rbx
cmovb rax, rbx
mov rcx, rdx
mov qword [rsp + 0x78], rax
mov esi, 0x7e4
mov rax, qword [rbp - 0x18]
inc rax
mov qword [rsp + 0x68], rsi
add rax, r15
cmp rax, rdx
cmovb rcx, rax
mov rax, qword [r14 + 0x50]
mov qword [rbp - 0x48], rcx
mov rcx, qword [r12 + 0x408]
mov qword [rbp - 0x60], rax
call fcn.140053a80
mov qword [rbp - 0x68], rax
call fcn.140070390
mov qword [rbp - 0x70], rax
call fcn.140071e40
mov rdx, rax
mov qword [rsp + 0x40], rax
call fcn.140053b30
mov r10, qword [rbp + 0x88]
mov esi, 2
mov r9, qword [rbp + 0x80]
mov r12d, 0x7e4
mov r14, qword [rbp]
mov qword [rbp - 0x78], rax
mov rax, rbx
and rax, r10
mov qword [rsp + 0x58], 0
imul ecx, dword [rax + r9], 0x1e35a7bd
lea r15, [rax + r9]
mov qword [rbp + 8], rax
mov qword [rbp - 0x80], r15
mov dword [rsp + 0x70], 0
shr rcx, 0x11
mov qword [rsp + 0x28], rcx
jmp 0x14005e86f
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rbp + 0xb8]
mov r9, qword [rbp + 0x80]
mov r10, qword [rbp + 0x88]
movsxd rdi, dword [r14 - 8]
mov r11, rbx
sub r11, rdi
lea rbx, [rsi - 2]
test rbx, rbx
je 0x14005e88f
movzx eax, r11w
cmp byte [rax + rdx], cl
jne 0x14005e98b
mov r13, qword [rsp + 0x78]
cmp r11, qword [rsp + 0x20]
jae 0x14005e9a3
cmp rdi, r13
ja 0x14005e9a3
and r11, r10
xor ecx, ecx
add r11, r9
mov rdx, r15
mov r9, r8
shr r9, 3
test r9, r9
je 0x14005e8f5
mov r10, r11
sub r10, r15
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x14005e97a
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14005e8d0
mov r8, qword [rbp + 0xb8]
and r8d, 7
je 0x14005e913
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14005e913
inc rcx
sub r8, 1
jne 0x14005e900
mov r8, rcx
cmp r8, 2
jb 0x14005e992
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005e992
test rbx, rbx
je 0x14005e952
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 + 0x28]
mov rdx, qword [rsp + 0x40]
cmp r12, r9
jae 0x14005e99c
mov r12, r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r9
jmp 0x14005e99c
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x14005e916
mov r13, qword [rsp + 0x78]
jmp 0x14005e9a3
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov r8, qword [rbp + 0xb8]
mov r11, qword [rsp + 0x20]
lea rbx, [rsi - 1]
movsxd rdi, dword [r14 - 4]
mov r10, r11
sub r10, rdi
test rbx, rbx
je 0x14005e9c8
movzx eax, r10w
cmp byte [rax + rdx], cl
jne 0x14005eaa0
cmp r10, r11
jae 0x14005eaa0
cmp rdi, r13
ja 0x14005eaa0
and r10, qword [rbp + 0x88]
mov r9, r8
add r10, qword [rbp + 0x80]
xor edx, edx
shr r9, 3
mov rcx, r15
test r9, r9
je 0x14005ea25
mov r11, r10
sub r11, r15
nop
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x14005ecc9
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14005ea00
mov r8, qword [rbp + 0xb8]
and r8d, 7
je 0x14005ea45
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14005ea45
inc rcx
inc rdx
sub r8, 1
jne 0x14005ea30
mov r8, rdx
cmp r8, 2
jb 0x14005eaa0
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005eaa0
test rbx, rbx
je 0x14005ea89
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 0x14005eaa0
mov r12, r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r9
mov rdi, qword [rsp + 0x20]
movsxd rbx, dword [r14]
mov r10, rdi
sub r10, rbx
test rsi, rsi
je 0x14005eaca
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
movzx eax, r10w
cmp byte [rax + rdx], cl
jne 0x14005eba8
cmp r10, rdi
jae 0x14005eba8
cmp rbx, r13
ja 0x14005eba8
and r10, qword [rbp + 0x88]
xor edx, edx
mov rdi, qword [rbp + 0xb8]
mov rax, r15
add r10, qword [rbp + 0x80]
mov r9, rdi
shr r9, 3
test r9, r9
je 0x14005eb2e
mov r11, r10
sub r11, r15
nop dword [rax + rax]
mov r8, qword [rax]
mov rcx, qword [r11 + rax]
cmp r8, rcx
jne 0x14005ecdd
add rax, 8
add rdx, 8
sub r9, 1
jne 0x14005eb10
mov r8, rdi
and r8d, 7
je 0x14005eb4c
movzx ecx, byte [rax]
cmp byte [rdx + r10], cl
jne 0x14005eb4c
inc rax
inc rdx
sub r8, 1
jne 0x14005eb37
mov r8, rdx
cmp r8, 2
jb 0x14005eba8
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005eba8
test rsi, rsi
je 0x14005eb91
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 0x14005eba8
mov r12, r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r9
mov r11, qword [rsp + 0x20]
lea rbx, [rsi + 1]
movsxd rdi, dword [r14 + 4]
mov r10, r11
sub r10, rdi
test rbx, rbx
je 0x14005ebd7
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
movzx eax, r10w
cmp byte [rax + rdx], cl
jne 0x14005ed0a
cmp r10, r11
jae 0x14005ed0a
cmp rdi, r13
ja 0x14005ed0a
and r10, qword [rbp + 0x88]
xor edx, edx
mov r13, qword [rbp + 0xb8]
mov rcx, r15
add r10, qword [rbp + 0x80]
mov r9, r13
shr r9, 3
test r9, r9
je 0x14005ec3e
mov r11, r10
sub r11, r15
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x14005ecf1
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14005ec20
mov r8, r13
and r8d, 7
je 0x14005ec5c
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14005ec5c
inc rcx
inc rdx
sub r8, 1
jne 0x14005ec47
mov r8, rdx
cmp r8, 2
jb 0x14005ed05
imul r9, r8, 0x87
add r9, 0x78f
cmp r12, r9
jae 0x14005ed05
test rbx, rbx
je 0x14005eca8
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 0x14005ed05
mov r11, qword [rsp + 0x20]
mov r12, r9
mov r10, r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r9
jmp 0x14005ed14
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14005ea48
xor rcx, r8
tzcnt r8, rcx
shr r8, 3
add r8, rdx
jmp 0x14005eb4f
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14005ec5f
mov r11, qword [rsp + 0x20]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
add rsi, 4
add r14, 0x10
lea rax, [rsi - 2]
cmp rax, 0x10
jb 0x14005e850
mov rax, qword [rsp + 0x38]
mov r14, rcx
mov r13, qword [rbp - 0x68]
mov rsi, r11
mov r8, qword [rbp - 0x70]
and r14d, 0x1ff
xor ebx, ebx
mov rdi, qword [rax + 0x400]
mov eax, dword [r13 + rcx*4]
movzx r15d, word [r8 + rcx*2]
sub rsi, rax
test rdi, rdi
je 0x14005eeb7
mov r13, qword [rbp - 0x80]
nop dword [rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x78]
ja 0x14005eeaf
mov rdx, qword [rbp - 0x78]
mov rax, r14
mov r8, qword [rbp + 0x88]
mov rcx, r11
shl rax, 9
sub rcx, rbx
add rax, r15
and rcx, r8
movzx r15d, word [rdx + rax*4 + 2]
movzx esi, word [rdx + rax*4]
mov rax, qword [rbp + 8]
lea rdx, [r10 + rax]
cmp rdx, r8
ja 0x14005eea6
lea rax, [rcx + r10]
cmp rax, r8
ja 0x14005eea6
mov r8, qword [rbp + 0x80]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x14005eea6
mov rax, qword [rbp + 0xb8]
lea r11, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14005ee21
mov r10, r11
sub r10, r13
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14005ee8b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005ee00
mov rax, qword [rbp + 0xb8]
mov r8, rax
and r8d, 7
je 0x14005ee43
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14005ee43
inc rcx
sub r8, 1
jne 0x14005ee30
mov rdx, rcx
mov r11, qword [rsp + 0x20]
cmp rdx, 4
jb 0x14005ee9c
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14005ee9c
mov r12, rax
mov qword [rsp + 0x30], rdx
mov r10, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rbx
mov r9, rax
mov qword [rsp + 0x68], rax
jmp 0x14005eea6
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14005ee46
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x30]
test rdi, rdi
jne 0x14005ed70
mov r13, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov r10, qword [rsp + 0x28]
mov rcx, r11
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
movzx eax, word [rdi + r14*2]
mov edx, eax
inc ax
mov word [rdi + r14*2], ax
and edx, 0x1ff
mov eax, dword [r13 + r10*4]
sub rcx, rax
movzx eax, r11w
mov byte [rax + rbx], r10b
mov eax, 0xffff
mov rbx, qword [rbp - 0x78]
cmp rcx, rax
cmova rcx, rax
shl r14, 9
add r14, rdx
mov word [rbx + r14*4], cx
movzx eax, word [r8 + r10*2]
mov word [rbx + r14*4 + 2], ax
mov dword [r13 + r10*4], r11d
mov word [r8 + r10*2], dx
cmp r9, 0x7e4
jne 0x14005f223
mov r13, qword [rdi + 0x410]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x14005f223
mov r12, qword [rbp - 0x80]
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xb8]
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 0x14005f0cb
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14005f0cb
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 0x14005efee
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14005f0b7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005efd0
mov r8, r11
and r8d, 7
je 0x14005f013
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14005f013
inc rcx
sub r8, 1
jne 0x14005f000
mov r9, rcx
mov rcx, qword [rbp + 0x98]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005f0d2
test r9, r9
je 0x14005f0d2
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x48]
shl rax, cl
inc rdx
add rax, rsi
mov rsi, qword [rsp + 0x68]
add rdx, rax
cmp rdx, qword [rbp - 0x60]
ja 0x14005f0d7
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14005f0d7
mov rsi, rax
mov qword [rsp + 0x68], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x58], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x60], rdx
jmp 0x14005f0d7
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005f016
mov rsi, qword [rsp + 0x68]
jmp 0x14005f0de
mov rsi, qword [rsp + 0x68]
mov rdx, qword [rbp + 0xb8]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x98]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14005f22f
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14005f22f
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 0x14005f15e
mov r10, r12
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14005f20f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14005f140
mov r8, r11
and r8d, 7
je 0x14005f17c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14005f17c
inc rdx
inc rcx
sub r8, 1
jne 0x14005f167
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14005f22f
test r9, r9
je 0x14005f22f
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x48]
shl rax, cl
inc rdx
add rax, rdi
add rdx, rax
cmp rdx, qword [rbp - 0x60]
ja 0x14005f22f
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14005f22f
sub r11d, r9d
mov qword [rsp + 0x58], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rax
jmp 0x14005f22f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14005f17f
mov r14, qword [rbp + 0x98]
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
add rax, 0xaf
cmp rsi, rax
jb 0x14005f2a9
mov ecx, dword [rbp + 0xa0]
inc r12
movups xmm0, xmmword [rsp + 0x58]
mov r15, qword [rsp + 0x20]
inc ecx
mov qword [rbp + 0x78], r15
mov qword [rsp + 0x50], r12
mov dword [rbp + 0xa0], ecx
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm1
cmp ecx, 4
jge 0x14005f29f
lea rax, [r15 + 4]
cmp rax, qword [rbp - 0x58]
jae 0x14005f29f
mov r9, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x40]
mov r12, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
mov qword [rbp + 0x70], rcx
jmp 0x14005e74a
mov r11, qword [rbp - 0x40]
mov qword [rbp + 0x70], r11
jmp 0x14005f2b1
mov r15, qword [rbp + 0x78]
mov r11, qword [rbp + 0x70]
mov rax, qword [rbp - 8]
mov r9, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x38]
mov r10, qword [rbp + 0xa8]
lea r13, [rax + r11*2]
mov rax, qword [rbp - 0x18]
add rax, r15
add r13, r15
cmp rax, r9
mov qword [rbp - 0x60], r13
cmovb r9, rax
cmp rbx, r9
ja 0x14005f360
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 0x14005f300
xor r8d, r8d
jmp 0x14005f364
cmp rbx, r8
jne 0x14005f30d
mov r8d, 1
jmp 0x14005f364
cmp rdx, 7
jae 0x14005f328
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14005f364
cmp rcx, 7
jae 0x14005f340
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14005f364
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x14005f351
mov r8d, 2
jmp 0x14005f364
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14005f364
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14005f3dc
test r8, r8
je 0x14005f3dc
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 rcx, qword [rbp - 0x50]
mov r14d, dword [rbp - 0x28]
mov r13, qword [rbp + 0x98]
movzx eax, r14b
shl eax, 0x19
or eax, r11d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov esi, dword [r13 + 0x44]
lea rax, [rsi + 0x10]
cmp r8, rax
jae 0x14005f40c
xor edi, edi
jmp 0x14005f484
mov r11d, dword [r13 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, rsi
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp + 0x70]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, si
or r8w, r9w
mov rsi, qword [rbp - 0x50]
lea edx, [r11 + r14]
mov eax, 0x3ff
movsxd r9, edx
mov word [rsi + 0xe], r8w
and r8w, ax
mov dword [rsi + 8], edi
cmp r12, 6
jae 0x14005f4b1
movzx r10d, r12w
mov eax, 0x17
jmp 0x14005f524
cmp r12, 0x82
jae 0x14005f4dd
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 0x14005f524
cmp r12, 0x842
jae 0x14005f4fb
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14005f524
mov eax, 0x17
cmp r12, 0x1842
jae 0x14005f50f
lea r10d, [rax - 2]
jmp 0x14005f524
cmp r12, 0x5842
jae 0x14005f520
mov r10d, 0x16
jmp 0x14005f524
movzx r10d, ax
cmp r9, 0xa
jae 0x14005f531
sub r9w, 2
jmp 0x14005f571
cmp r9, 0x86
jae 0x14005f556
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 0x14005f571
cmp r9, 0x846
jae 0x14005f56d
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x14005f571
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 0x14005f5ae
cmp r10w, 8
jae 0x14005f5ae
cmp r9w, 0x10
jae 0x14005f5ae
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x14005f5e2
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 + 0xc8]
lea r14, [r15 + 2]
mov word [rsi + 0xc], dx
add rsi, 0x10
mov qword [rbp - 0x50], rsi
mov qword [rsp + 0x50], 0
add qword [rax], r12
lea r12, [r11 + r15]
mov r15, qword [rbp - 0x10]
mov rax, r11
cmp r12, r15
mov qword [rbp + 0xa0], r12
cmovb r15, r12
shr rax, 2
cmp rbx, rax
jae 0x14005f651
mov rcx, qword [rbp + 0x78]
lea rax, [rbx*4]
sub r11, rax
lea rax, [r11 + rcx]
cmp r14, rax
mov eax, 2
cmova r11, rax
lea r14, [rcx + r11]
cmp r15, r14
cmovb r14, r15
cmp r14, r15
jae 0x14005f729
mov r12, qword [rbp + 0x80]
mov r13, qword [rsp + 0x38]
nop word [rax + rax]
mov r11, qword [r13 + 0x408]
mov rcx, r11
call fcn.140053a80
mov r8, rax
call fcn.140070390
mov rsi, rax
call fcn.140053b30
mov rdi, rax
mov rcx, r14
and rcx, qword [rbp + 0x88]
imul ebx, dword [rcx + r12], 0x1e35a7bd
mov rcx, r11
shr rbx, 0x11
mov r9, rbx
and r9d, 0x1ff
movzx edx, word [r13 + r9*2]
mov r10d, edx
inc dx
mov word [r13 + r9*2], dx
and r10d, 0x1ff
mov eax, dword [r8 + rbx*4]
mov rdx, r14
sub rdx, rax
call fcn.140071e40
movzx ecx, r14w
mov byte [rax + rcx], bl
mov eax, 0xffff
cmp rdx, rax
cmova rdx, rax
shl r9, 9
add r9, r10
mov word [rdi + r9*4], dx
movzx eax, word [rsi + rbx*2]
mov word [rdi + r9*4 + 2], ax
mov dword [r8 + rbx*4], r14d
inc r14
mov word [rsi + rbx*2], r10w
cmp r14, r15
jb 0x14005f670
mov r12, qword [rbp + 0xa0]
mov r13, qword [rbp + 0x98]
mov rdx, qword [rsp + 0x50]
mov r15, r12
mov qword [rbp + 0x78], r12
jmp 0x14005f961
mov rdx, qword [rsp + 0x50]
inc r15
mov r13, qword [rbp - 0x60]
inc rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp + 0x78], r15
cmp r15, r13
jbe 0x14005f95a
mov rax, qword [rbp - 8]
mov r14, qword [rbp - 0x58]
lea rax, [rax*4]
add rax, r13
cmp r15, rax
jbe 0x14005f866
add r14, 0xfffffffffffffffc
lea rax, [r15 + 0x10]
cmp rax, r14
cmovb r14, rax
cmp r15, r14
jae 0x14005f95a
mov rax, r14
add rdx, 4
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add rdx, rax
mov qword [rsp + 0x50], rdx
nop dword [rax + rax]
mov r11, qword [r12 + 0x408]
mov rcx, r11
call fcn.140053a80
mov r8, rax
call fcn.140070390
mov rsi, rax
call fcn.140053b30
mov rdi, rax
mov rcx, r15
and rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x80]
imul ebx, dword [rcx + rax], 0x1e35a7bd
mov rcx, r11
shr rbx, 0x11
mov r9, rbx
and r9d, 0x1ff
movzx edx, word [r12 + r9*2]
mov r10d, edx
inc dx
mov word [r12 + r9*2], dx
and r10d, 0x1ff
mov eax, dword [r8 + rbx*4]
mov rdx, r15
sub rdx, rax
call fcn.140071e40
movzx ecx, r15w
mov byte [rax + rcx], bl
mov ecx, 0xffff
cmp rdx, rcx
cmova rdx, rcx
shl r9, 9
add r9, r10
mov word [rdi + r9*4], dx
movzx eax, word [rsi + rbx*2]
mov word [rdi + r9*4 + 2], ax
mov dword [r8 + rbx*4], r15d
add r15, 4
mov word [rsi + rbx*2], r10w
cmp r15, r14
jb 0x14005f7b0
jmp 0x14005f951
add r14, 0xfffffffffffffffd
lea rax, [r15 + 8]
cmp rax, r14
cmovb r14, rax
cmp r15, r14
jae 0x14005f95a
mov rax, r14
add rdx, 2
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add rdx, rax
mov qword [rsp + 0x50], rdx
nop word [rax + rax]
mov r11, qword [r12 + 0x408]
mov rcx, r11
call fcn.140053a80
mov r8, rax
call fcn.140070390
mov rsi, rax
call fcn.140053b30
mov rdi, rax
mov rcx, r15
and rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x80]
imul ebx, dword [rcx + rax], 0x1e35a7bd
mov rcx, r11
shr rbx, 0x11
mov r9, rbx
and r9d, 0x1ff
movzx edx, word [r12 + r9*2]
mov r10d, edx
inc dx
mov word [r12 + r9*2], dx
and r10d, 0x1ff
mov eax, dword [r8 + rbx*4]
mov rdx, r15
sub rdx, rax
call fcn.140071e40
movzx ecx, r15w
mov byte [rax + rcx], bl
mov eax, 0xffff
cmp rdx, rax
cmova rdx, rax
shl r9, 9
add r9, r10
mov word [rdi + r9*4], dx
movzx eax, word [rsi + rbx*2]
mov word [rdi + r9*4 + 2], ax
mov dword [r8 + rbx*4], r15d
add r15, 2
mov word [rsi + rbx*2], r10w
cmp r15, r14
jb 0x14005f8a0
mov rdx, qword [rsp + 0x50]
mov qword [rbp + 0x78], r15
mov r13, qword [rbp + 0x98]
mov r14, qword [rbp - 0x58]
lea rax, [r15 + 4]
mov r9, qword [rbp + 0x80]
mov r12d, 0
mov r11, qword [rbp + 0x88]
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp]
mov rsi, qword [rbp - 0x18]
cmp rax, r14
jb 0x14005dc80
mov r12, qword [rsp + 0x128]
mov rbx, qword [rbp - 0x50]
mov rax, qword [rbp + 0xb0]
sub r14, r15
sub rbx, qword [rbp + 0x10]
add r14, rdx
sar rbx, 4
mov qword [rax], r14
mov rax, qword [rbp + 0xc0]
add qword [rax], rbx
add rsp, 0x130
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r8, qword [rbp + 0x78]
mov rax, rcx
mov r14, qword [rbp + 0x98]
mov r15, rdx
mov rdx, qword [rbp + 0x90]
mov r10d, 1
mov r13, qword [rbp + 0x80]
mov r11, r9
mov ecx, dword [r8 + 8]
mov rdi, qword [rbp + 0x88]
lea r9, [rax + r15]
mov rsi, qword [rdx]
shl r10, cl
mov rcx, qword [r8 + 0x10]
sub r10, 0x10
mov qword [rbp + 0x50], r13
mov qword [rbp - 0x50], r10
mov qword [rbp - 0x78], rcx
mov qword [rsp + 0x58], r14
mov qword [rbp - 0x10], r14
mov qword [rsp + 0x50], rsi
mov qword [rbp - 0x60], r9
cmp rax, 4
jb 0x140060217
lea rax, [r9 - 3]
mov qword [rbp - 0x20], rax
jmp 0x14006021b
mov qword [rbp - 0x20], r15
cmp dword [r8 + 4], 9
mov edx, 0x40
mov eax, 0x200
cmovl eax, edx
mov edx, dword [r13 + 0x4c]
mov qword [rbp - 0x18], rax
add rax, r15
mov qword [rbp - 0x70], rax
cmp edx, 4
jle 0x140060297
mov ecx, dword [rdi]
lea eax, [rcx - 1]
mov dword [rdi + 0x10], eax
lea eax, [rcx + 1]
mov dword [rdi + 0x14], eax
lea eax, [rcx - 2]
mov dword [rdi + 0x18], eax
lea eax, [rcx + 2]
mov dword [rdi + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rdi + 0x20], eax
lea eax, [rcx + 3]
mov dword [rdi + 0x24], eax
cmp edx, 0xa
jle 0x140060293
mov ecx, dword [rdi + 4]
lea eax, [rcx - 1]
mov dword [rdi + 0x28], eax
lea eax, [rcx + 1]
mov dword [rdi + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdi + 0x30], eax
lea eax, [rcx + 2]
mov dword [rdi + 0x34], eax
lea eax, [rcx - 3]
mov dword [rdi + 0x38], eax
lea eax, [rcx + 3]
mov dword [rdi + 0x3c], eax
mov rcx, qword [rbp - 0x78]
lea rax, [r15 + 4]
cmp rax, r9
jae 0x14006170e
mov qword [rsp + 0x110], rbx
xor edx, edx
mov qword [rsp + 0x108], r12
nop word [rax + rax]
movsxd rsi, dword [r13 + 0x4c]
lea rax, [rcx + r15]
mov r14, qword [r13 + 0x60]
mov r12, r9
sub r12, r15
mov qword [rbp - 0x38], rdx
cmp r15, r10
mov qword [rbp + 0x98], r12
mov r9, r10
mov qword [rsp + 0x48], 0x7e4
cmovb r9, r15
mov qword [rbp - 0x68], r14
mov r15, qword [r13 + 0x58]
cmp rax, r10
mov rcx, r10
mov qword [rsp + 0x28], r9
cmovb rcx, rax
mov qword [rbp - 0x58], r15
mov rax, qword [r8 + 0x50]
mov rbx, rdx
mov qword [rsp + 0x60], rax
mov r10, rdx
mov rax, qword [rbp + 0x58]
mov r8, rax
mov qword [rsp + 0x40], rcx
and r8, r11
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x20], r8
mov ecx, 0x7e4
mov dword [rbp - 0x28], edx
mov qword [rsp + 0x38], rcx
mov qword [rbp + 0x80], rdx
test rsi, rsi
je 0x1400604ce
mov r14, qword [rbp + 0x60]
mov r15, r8
mov qword [rsp + 0x38], rcx
mov qword [rbp + 0x80], rdx
movsxd rdi, dword [rdi + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x1400604ae
cmp rdi, r9
ja 0x1400604ae
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x1400604ae
lea rax, [rcx + r10]
cmp rax, r11
ja 0x1400604aa
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x1400604aa
mov r8, r12
lea r11, [rcx + r14]
shr r8, 3
lea rdx, [r15 + r14]
xor ecx, ecx
test r8, r8
je 0x1400603ee
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140060486
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400603d0
mov r8, r12
and r8d, 7
je 0x140060413
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140060413
inc rcx
sub r8, 1
jne 0x140060400
mov r8, rcx
cmp r8, 3
jae 0x140060427
cmp r8, 2
jne 0x14006049a
cmp rbx, r8
jae 0x14006049a
mov r11, qword [rsp + 0x38]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14006049a
test rbx, rbx
je 0x140060467
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 0x14006049a
mov qword [rsp + 0x38], r9
mov r10, r8
mov qword [rbp + 0x80], r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x38], rdi
mov qword [rsp + 0x48], r9
jmp 0x1400604a1
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140060416
mov r10, qword [rbp + 0x80]
mov r9, qword [rsp + 0x28]
mov r11, qword [rbp + 0x68]
mov rax, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x88]
inc rbx
cmp rbx, rsi
jb 0x140060363
mov r15, qword [rbp - 0x58]
mov r14, qword [rbp - 0x68]
mov r8, qword [rsp + 0x20]
mov r12, qword [rbp + 0x60]
mov rbx, qword [rbp + 0x50]
add r12, r8
mov rcx, r12
mov edx, dword [rbx + 0x40]
call fcn.140070190
mov ecx, dword [rbx + 0x48]
mov edx, eax
shl edx, cl
mov eax, eax
lea r13, [r15 + rax*2]
mov eax, 0
mov qword [rbp - 0x68], r13
lea r14, [r14 + rdx*4]
movzx edx, word [r13]
mov esi, edx
mov edi, edx
sub rsi, qword [rbx + 0x38]
cmp rdx, qword [rbx + 0x38]
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x140060665
mov r15d, dword [rbx + 0x44]
mov r13, qword [rbp + 0x60]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x58]
dec rdi
mov rax, rdi
and rax, r15
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x140060658
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x14006064f
lea rax, [rcx + r10]
cmp rax, r11
ja 0x14006064f
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x14006064f
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rbp + 0x98]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400605c5
mov r10, r11
sub r10, r12
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140060637
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400605a0
mov rax, qword [rbp + 0x98]
mov r8, rax
and r8d, 7
je 0x1400605e4
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400605e4
inc rcx
sub r8, 1
jne 0x1400605d1
mov rdx, rcx
mov r8, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
mov r11, qword [rbp + 0x68]
cmp rdx, 4
jb 0x140060648
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x38], rax
jae 0x140060648
mov qword [rsp + 0x38], rax
mov r10, rdx
mov qword [rbp + 0x80], rdx
mov qword [rsp + 0x30], rdx
mov qword [rbp - 0x38], rbx
mov qword [rsp + 0x48], rax
jmp 0x14006064f
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400605e7
mov r10, qword [rbp + 0x80]
cmp rdi, rsi
ja 0x140060530
mov r13, qword [rbp - 0x68]
mov rbx, qword [rbp + 0x50]
movzx edx, word [r13]
mov eax, dword [rbx + 0x44]
mov r15, qword [rbp + 0x58]
and rax, rdx
mov dword [r14 + rax*4], r15d
inc word [r13]
cmp qword [rsp + 0x48], 0x7e4
jne 0x140060986
mov r13, qword [rbx + 0x50]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x140060982
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x98]
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 0x140060813
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140060813
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 0x14006073e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400607ff
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140060720
mov r8, r11
and r8d, 7
je 0x140060763
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140060763
inc rcx
sub r8, 1
jne 0x140060750
mov r9, rcx
mov rcx, qword [rbp + 0x78]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14006081a
test r9, r9
je 0x14006081a
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x40]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x60]
ja 0x14006081f
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x14006081f
mov qword [rsp + 0x48], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x30], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x28], r11d
mov qword [rbp - 0x38], rdx
jmp 0x14006081f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140060766
mov rsi, qword [rsp + 0x40]
jmp 0x140060826
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x98]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x78]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140060978
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140060978
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 0x1400608ae
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140060964
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140060890
mov r8, r11
and r8d, 7
je 0x1400608cc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400608cc
inc rdx
inc rcx
sub r8, 1
jne 0x1400608b7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140060978
test r9, r9
je 0x140060978
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x60]
ja 0x140060978
mov r15, qword [rbp + 0x58]
mov rbx, qword [rbp + 0x50]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x14006098a
sub r11d, r9d
mov qword [rbp - 0x38], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x30], rcx
mov dword [rbp - 0x28], r11d
mov qword [rsp + 0x48], rax
jmp 0x14006098f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400608cf
mov r15, qword [rbp + 0x58]
mov rbx, qword [rbp + 0x50]
jmp 0x14006098a
mov r15, qword [rbp + 0x58]
mov r14, qword [rbp + 0x78]
mov rcx, qword [rsp + 0x30]
cmp qword [rsp + 0x48], 0x7e4
jbe 0x14006157b
mov r12, qword [rbp + 0x98]
xor edi, edi
mov dword [rbp + 0x80], edi
dec r12
cmp dword [r14 + 4], 5
mov qword [rbp + 0x98], r12
jge 0x1400609ce
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x1400609d1
mov r10, rdi
mov r8, qword [rbp - 0x50]
lea rdx, [r15 + 1]
movsxd rsi, dword [rbx + 0x4c]
cmp rdx, r8
mov rax, qword [rbp - 0x78]
mov r9, r8
mov r13, qword [rbp + 0x68]
cmovb r9, rdx
inc rax
mov qword [rsp + 0x28], r10
add rax, r15
mov qword [rsp + 0x70], rdi
mov r15, qword [rbx + 0x60]
cmp rax, r8
mov rcx, r8
mov qword [rsp + 0x20], rdx
cmovb rcx, rax
mov qword [rsp + 0x38], r9
mov rax, qword [r14 + 0x50]
mov r11d, 0x7e4
mov r14, qword [rbx + 0x58]
mov r8, rdx
and r8, r13
mov qword [rbp - 0x58], rcx
mov qword [rsp + 0x78], r11
mov ecx, r11d
mov qword [rsp + 0x40], rcx
mov rbx, rdi
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x48], r15
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], rdi
mov dword [rbp - 0x80], edi
test rsi, rsi
je 0x140060bf2
mov r15, qword [rbp + 0x60]
mov r14, r8
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x40], rcx
nop dword [rax]
nop dword [rax + rax]
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x140060bd7
cmp rdi, r9
ja 0x140060bd7
and rcx, r13
lea rdx, [r10 + r14]
cmp rdx, r13
ja 0x140060bd2
lea rax, [rcx + r10]
cmp rax, r13
ja 0x140060bcb
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x140060bcb
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
xor eax, eax
test r8, r8
je 0x140060b0e
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 0x140060ba8
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140060af0
mov r8, r12
and r8d, 7
je 0x140060b33
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x140060b33
inc rax
sub r8, 1
jne 0x140060b20
mov r8, rax
cmp r8, 3
jae 0x140060b47
cmp r8, 2
jne 0x140060bbc
cmp rbx, r8
jae 0x140060bbc
mov r11, qword [rsp + 0x40]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140060bbc
test rbx, rbx
je 0x140060b87
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 0x140060bbc
mov qword [rsp + 0x40], r9
mov r10, r8
mov qword [rsp + 0x28], r8
mov r11, r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r9
jmp 0x140060bc6
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x140060b36
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0x38]
mov rax, qword [rbp + 0x88]
mov rdx, qword [rsp + 0x20]
inc rbx
cmp rbx, rsi
jb 0x140060a80
mov r14, qword [rbp - 0x68]
xor edi, edi
mov r15, qword [rbp - 0x48]
mov r8, qword [rsp + 0x60]
mov r12, qword [rbp + 0x60]
mov rbx, qword [rbp + 0x50]
add r12, r8
mov rcx, r12
mov edx, dword [rbx + 0x40]
call fcn.140070190
mov ecx, dword [rbx + 0x48]
mov edx, eax
shl edx, cl
mov eax, eax
lea r13, [r14 + rax*2]
mov qword [rbp - 0x48], r13
lea r15, [r15 + rdx*4]
movzx edx, word [r13]
mov esi, edx
sub rsi, qword [rbx + 0x38]
cmp rdx, qword [rbx + 0x38]
cmovbe rsi, rdi
mov edi, edx
cmp rdx, rsi
jbe 0x140060d96
mov r14d, dword [rbx + 0x44]
mov r13, qword [rsp + 0x20]
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 0x140060d89
and rcx, qword [rbp + 0x68]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x68]
ja 0x140060d80
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x68]
ja 0x140060d80
mov r13, qword [rbp + 0x60]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rsp + 0x20]
jne 0x140060d80
mov r11, qword [rbp + 0x60]
xor eax, eax
add r11, rcx
mov rdx, r12
mov ecx, eax
mov rax, qword [rbp + 0x98]
mov r8, rax
shr r8, 3
test r8, r8
je 0x140060cf5
mov r10, r11
sub r10, r12
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140060d65
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140060cd0
mov rax, qword [rbp + 0x98]
mov r8, rax
and r8d, 7
je 0x140060d14
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140060d14
inc rcx
sub r8, 1
jne 0x140060d01
mov rdx, rcx
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x38]
cmp rdx, 4
jb 0x140060d76
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x40], rax
jae 0x140060d76
mov qword [rsp + 0x40], rax
mov r10, rdx
mov qword [rsp + 0x28], rdx
mov r11, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rax
jmp 0x140060d80
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140060d17
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x28]
cmp rdi, rsi
ja 0x140060c50
mov r13, qword [rbp - 0x48]
mov rbx, qword [rbp + 0x50]
movzx edx, word [r13]
mov eax, dword [rbx + 0x44]
mov rcx, qword [rsp + 0x20]
and rax, rdx
mov dword [r15 + rax*4], ecx
inc word [r13]
cmp r11, 0x7e4
jne 0x1400610b6
mov r13, qword [rbx + 0x50]
mov rcx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x1400610ab
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x98]
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 0x140060f47
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140060f47
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 0x140060e6e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140060f33
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140060e50
mov r8, r11
and r8d, 7
je 0x140060e93
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140060e93
inc rcx
sub r8, 1
jne 0x140060e80
mov r9, rcx
mov rcx, qword [rbp + 0x78]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140060f4e
test r9, r9
je 0x140060f4e
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x58]
shl rax, cl
inc rdx
add rax, rsi
mov rsi, qword [rsp + 0x78]
add rdx, rax
cmp rdx, qword [rbp - 0x70]
ja 0x140060f53
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140060f53
mov rsi, rax
mov qword [rsp + 0x78], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x68], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x80], r11d
mov qword [rsp + 0x70], rdx
jmp 0x140060f53
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140060e96
mov rsi, qword [rsp + 0x78]
jmp 0x140060f5a
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rbp + 0x98]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x78]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x1400610c1
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400610c1
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 0x140060fde
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140061097
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140060fc0
mov r8, r11
and r8d, 7
je 0x140060ffc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140060ffc
inc rdx
inc rcx
sub r8, 1
jne 0x140060fe7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400610c1
test r9, r9
je 0x1400610c1
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x58]
shl rax, cl
inc rdx
add rax, rdi
add rdx, rax
cmp rdx, qword [rbp - 0x70]
ja 0x1400610c1
mov rbx, qword [rbp + 0x50]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp + 0x20]
add rax, 0x780
cmp rax, rsi
jb 0x1400610ca
sub r11d, r9d
mov qword [rsp + 0x68], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rbp - 0x80], r11d
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
jmp 0x1400610ca
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140060fff
mov rsi, qword [rsp + 0x78]
mov r14, qword [rbp + 0x78]
jmp 0x1400610c5
mov rsi, qword [rsp + 0x78]
mov r14, qword [rbp + 0x78]
jmp 0x1400610ca
mov rbx, qword [rbp + 0x50]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x48]
add rax, 0xaf
cmp rsi, rax
jb 0x140061143
movups xmm0, xmmword [rsp + 0x68]
inc qword [rsp + 0x50]
mov r15, rcx
movups xmm1, xmmword [rsp + 0x78]
mov qword [rbp + 0x58], rcx
mov ecx, dword [rbp + 0x80]
inc ecx
mov dword [rbp + 0x80], ecx
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm1
cmp ecx, 4
jge 0x140061138
lea rax, [r15 + 4]
cmp rax, qword [rbp - 0x60]
jae 0x140061138
mov r12, qword [rbp + 0x98]
mov r9, qword [rbp - 0x30]
dec r12
mov rcx, qword [rbp - 0x40]
xor edi, edi
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x30], rcx
jmp 0x1400609b0
mov rcx, qword [rbp - 0x40]
mov qword [rsp + 0x30], rcx
jmp 0x14006114c
mov r15, qword [rbp + 0x58]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbp - 0x18]
mov r10, qword [rbp - 0x50]
mov r11, qword [rbp + 0x88]
mov rbx, qword [rbp - 0x38]
lea r12, [rax + rcx*2]
mov rax, qword [rbp - 0x78]
add rax, r15
add r12, r15
cmp rax, r10
mov qword [rbp - 0x70], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rbx, r10
ja 0x140061206
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 0x1400611a5
xor r9d, r9d
mov r8d, r9d
jmp 0x14006120d
cmp rbx, r9
jne 0x1400611b2
mov r8d, 1
jmp 0x14006120a
cmp r8, 7
jae 0x1400611ce
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14006120a
cmp rcx, 7
jae 0x1400611e6
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14006120a
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x1400611f7
mov r8d, 2
jmp 0x14006120a
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14006120a
lea r8, [rbx + 0xf]
xor r9d, r9d
mov r13, qword [rbp + 0x50]
cmp rbx, r10
ja 0x140061293
test r8, r8
je 0x140061293
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 [r13 + 0x4c]
cmp edx, 4
jle 0x140061293
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 0x140061293
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 + 0x58]
mov esi, dword [rbp - 0x28]
mov r12, qword [rsp + 0x30]
mov r11, qword [rsp + 0x50]
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 0x1400612c7
mov edi, r9d
jmp 0x140061344
mov rcx, qword [rbp + 0x78]
add r8, 0xfffffffffffffff0
mov r10d, 1
mov r11d, dword [rcx + 0x40]
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x50]
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 0x140061373
movzx r10d, r11w
mov eax, 0x17
jmp 0x1400613e3
cmp r11, 0x82
jae 0x14006139d
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 0x1400613e3
cmp r11, 0x842
jae 0x1400613ba
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x1400613e3
mov eax, 0x17
cmp r11, 0x1842
jae 0x1400613ce
lea r10d, [rax - 2]
jmp 0x1400613e3
cmp r11, 0x5842
jae 0x1400613df
mov r10d, 0x16
jmp 0x1400613e3
movzx r10d, ax
cmp r9, 0xa
jae 0x1400613f0
sub r9w, 2
jmp 0x140061430
cmp r9, 0x86
jae 0x140061415
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 0x140061430
cmp r9, 0x846
jae 0x14006142c
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140061430
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 0x14006146d
cmp r10w, 8
jae 0x14006146d
cmp r9w, 0x10
jae 0x14006146d
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x1400614a1
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 + 0xa8]
lea r9, [r15 + 2]
mov r10, qword [rbp - 0x20]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x58], r14
add qword [rax], r11
xor eax, eax
lea r11, [r12 + r15]
mov qword [rsp + 0x50], rax
cmp r11, r10
mov qword [rbp + 0x58], r11
mov esi, eax
mov rax, r12
cmovb r10, r11
shr rax, 2
cmp rbx, rax
jae 0x14006150b
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + r15]
cmp r9, rax
mov eax, 2
cmova r12, rax
lea r9, [r15 + r12]
cmp r10, r9
cmovb r9, r10
cmp r9, r10
jae 0x14006156f
mov r11, qword [rbp + 0x60]
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r13 + 0x40]
mov rcx, r9
and rcx, qword [rbp + 0x68]
add rcx, r11
call fcn.140070190
mov ecx, eax
lea r8, [rcx + rcx]
mov rcx, qword [r13 + 0x58]
movzx edx, word [r8 + rcx]
mov ecx, dword [r13 + 0x44]
and rdx, rcx
mov ecx, dword [r13 + 0x48]
shl eax, cl
add rdx, rax
mov rax, qword [r13 + 0x60]
mov dword [rax + rdx*4], r9d
inc r9
mov rax, qword [r13 + 0x58]
inc word [r8 + rax]
cmp r9, r10
jb 0x140061520
mov r11, qword [rbp + 0x58]
mov r15, r11
mov qword [rbp + 0x58], r11
jmp 0x1400616d1
mov rsi, qword [rsp + 0x50]
inc r15
mov r12, qword [rbp - 0x70]
inc rsi
mov qword [rsp + 0x50], rsi
mov qword [rbp + 0x58], r15
cmp r15, r12
jbe 0x1400616c8
mov rax, qword [rbp - 0x18]
mov r9, qword [rbp - 0x60]
lea rax, [r12 + rax*4]
cmp r15, rax
jbe 0x14006163d
mov r11, qword [rbp + 0x68]
lea rax, [r15 + 0x10]
add r9, 0xfffffffffffffffc
cmp rax, r9
cmovb r9, rax
cmp r15, r9
jae 0x14006162f
mov rax, r9
add rsi, 4
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x50], rsi
mov edx, dword [rbx + 0x40]
mov rcx, r15
and rcx, r11
add rcx, qword [rbp + 0x60]
call fcn.140070190
mov ecx, eax
lea r8, [rcx + rcx]
mov rcx, qword [rbx + 0x58]
movzx edx, word [r8 + rcx]
mov ecx, dword [rbx + 0x44]
and rdx, rcx
mov ecx, dword [rbx + 0x48]
shl eax, cl
add rdx, rax
mov rax, qword [rbx + 0x60]
mov dword [rax + rdx*4], r15d
add r15, 4
mov rax, qword [rbx + 0x58]
inc word [r8 + rax]
cmp r15, r9
jb 0x1400615e2
mov qword [rbp + 0x58], r15
mov r13, qword [rbp + 0x50]
mov r14, qword [rsp + 0x58]
jmp 0x1400616d5
add r9, 0xfffffffffffffffd
lea rax, [r15 + 8]
cmp rax, r9
cmovb r9, rax
cmp r15, r9
jae 0x1400616c8
mov r11, qword [rbp + 0x68]
mov rax, r9
sub rax, r15
add rsi, 2
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x50], rsi
nop
mov edx, dword [rbx + 0x40]
mov rcx, r15
and rcx, r11
add rcx, qword [rbp + 0x60]
call fcn.140070190
mov ecx, eax
lea r8, [rcx + rcx]
mov rcx, qword [rbx + 0x58]
movzx edx, word [r8 + rcx]
mov ecx, dword [rbx + 0x44]
and rdx, rcx
mov ecx, dword [rbx + 0x48]
shl eax, cl
add rdx, rax
mov rax, qword [rbx + 0x60]
mov dword [rax + rdx*4], r15d
add r15, 2
mov rax, qword [rbx + 0x58]
inc word [r8 + rax]
cmp r15, r9
jb 0x140061670
mov r13, qword [rbp + 0x50]
mov r14, qword [rsp + 0x58]
mov qword [rbp + 0x58], r15
jmp 0x1400616d5
mov r14, qword [rsp + 0x58]
mov r13, qword [rbp + 0x50]
mov r11, qword [rbp + 0x68]
mov r9, qword [rbp - 0x60]
lea rax, [r15 + 4]
mov r8, qword [rbp + 0x78]
mov edx, 0
mov rdi, qword [rbp + 0x88]
mov r10, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x78]
cmp rax, r9
jb 0x1400602c0
mov r12, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rax, qword [rbp + 0x90]
sub r9, r15
sub r14, qword [rbp - 0x10]
add r9, rsi
sar r14, 4
mov qword [rax], r9
mov rax, qword [rbp + 0xa0]
add qword [rax], r14
add rsp, 0x118
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x88]
sub rsp, 0x188
mov rax, qword [0x140779878]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov r10, qword [rbp + 0xf8]
mov rax, rcx
mov rcx, qword [rbp + 0x128]
mov r15, rdx
mov r11, qword [rbp + 0x110]
mov ebx, 1
mov r14, qword [rbp + 0x118]
mov rdi, r9
mov r12, qword [rbp + 0x120]
mov qword [rbp - 0x20], rcx
mov ecx, dword [r10 + 8]
mov rsi, qword [r11]
shl rbx, cl
mov rcx, qword [r10 + 0x10]
sub rbx, 0x10
mov qword [rsp + 0x28], r9
mov r9, r8
mov qword [rbp - 0x28], rcx
mov rcx, r14
mov qword [rsp + 0x20], r8
mov r8, qword [rbp + 0x108]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rbp + 0x100]
mov qword [rbp - 8], r11
lea r11, [r15 + rax]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x40], r10
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], r8
mov qword [rsp + 0x68], r14
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x70], rbx
mov qword [rsp + 0x50], rsi
mov qword [rbp - 0x78], r11
cmp rax, 8
jb 0x140061d97
lea rax, [r11 - 7]
mov qword [rbp - 0x38], rax
jmp 0x140061d9b
mov qword [rbp - 0x38], r15
cmp dword [r10 + 4], 9
mov eax, 0x200
mov r13d, 0x40
cmovl eax, r13d
mov qword [rbp - 0x30], rax
add rax, r15
mov qword [rsp + 0x70], rax
lea rax, [r15 + 8]
cmp rax, r11
jae 0x140062eeb
movaps xmmword [rsp + 0x170], xmm6
mov eax, 3
movdqa xmm6, xmmword [0x14040d5a0]
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm8
movdqa xmm8, xmmword [0x14040d600]
movd xmm7, eax
nop dword [rax + rax]
xor esi, esi
mov qword [rsp + 0x60], 0x7e4
mov r13, rbx
mov qword [rsp + 0x38], rsi
mov r10, r11
mov qword [rbp - 0x58], rsi
sub r10, r15
mov r12, rdi
cmp r15, rbx
mov qword [rsp + 0x30], r10
mov rbx, qword [rdx + 0x38]
cmovb r13, r15
mov qword [rsp + 0x48], rbx
and r12, r15
add r9, r12
mov rcx, r9
movzx r14d, byte [r9]
call fcn.1400701a0
movsxd rdi, dword [r8]
mov r15d, esi
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov ecx, eax
mov dword [rbp - 0x48], esi
mov esi, 0x7e4
movq xmm1, rcx
mov rcx, qword [rsp + 0x40]
sub rcx, rdi
punpcklqdq xmm1, xmm1
cmp rcx, qword [rsp + 0x40]
jae 0x140061f56
mov ebx, r8d
and rbx, rcx
add rbx, rdx
movzx eax, byte [rbx]
cmp r14d, eax
jne 0x140061f51
mov rax, r10
xor ecx, ecx
shr rax, 3
mov rdx, r9
test rax, rax
je 0x140061ecf
mov r11, rbx
sub r11, r9
nop dword [rax]
mov r10, qword [rdx]
mov r8, qword [rdx + r11]
cmp r10, r8
jne 0x140061f3b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140061eb0
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x140061ef2
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x140061ef2
inc rcx
sub r8, 1
jne 0x140061ee0
mov rax, rcx
mov rdx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x28]
cmp rax, 4
jb 0x140061f56
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x140061f56
mov qword [rsp + 0x38], rax
mov r15, rax
add rax, rdx
mov qword [rbp - 0x58], rdi
mov qword [rsp + 0x60], rcx
mov rsi, rcx
movzx r14d, byte [rax + r12]
jmp 0x140061f56
xor r8, r10
mov r10, qword [rsp + 0x30]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140061ef5
mov rbx, qword [rsp + 0x48]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
psllq xmm0, xmm7
paddq xmm0, xmm1
andps xmm0, xmm8
movdqu xmmword [rbp + rax*8], xmm0
add rax, 2
cmp rax, 4
jb 0x140061f60
mov rdi, qword [rsp + 0x40]
mov rax, rdi
shr rax, 3
and eax, 3
mov rcx, qword [rbp + rax*8]
mov rax, qword [rbp]
mov qword [rsp + 0x58], rcx
mov ecx, dword [rbx + rax*4]
mov ebx, r8d
sub rdi, rcx
and rbx, rcx
add rbx, rdx
movzx eax, byte [r15 + rbx]
cmp r14d, eax
jne 0x140062078
test rdi, rdi
je 0x140062078
cmp rdi, r13
ja 0x140062078
mov r8, r10
xor ecx, ecx
shr r8, 3
mov rdx, r9
test r8, r8
je 0x140062013
mov r11, rbx
sub r11, r9
nop dword [rax]
mov rax, qword [rdx]
mov r10, qword [rdx + r11]
cmp rax, r10
jne 0x140062341
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140061ff0
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x140062032
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x140062032
inc rcx
sub r8, 1
jne 0x140062020
mov rdx, rcx
cmp rdx, 4
jb 0x140062078
bsr eax, edi
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x140062078
mov rax, qword [rsp + 0x20]
mov r15, rdx
add rax, rdx
mov qword [rsp + 0x38], rdx
mov rsi, r8
mov qword [rsp + 0x60], r8
mov qword [rbp - 0x58], rdi
movzx r14d, byte [rax + r12]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x28]
sub rdi, rcx
and rcx, rax
add rbx, rcx
movzx eax, byte [r15 + rbx]
cmp r14d, eax
jne 0x14006216a
test rdi, rdi
je 0x14006216a
cmp rdi, r13
ja 0x14006216a
mov r8, r10
xor edx, edx
shr r8, 3
mov rcx, r9
test r8, r8
je 0x140062103
mov r11, rbx
sub r11, r9
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r10, qword [rcx + r11]
cmp rax, r10
jne 0x14006235a
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400620e0
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x140062124
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x140062124
inc rcx
inc rdx
sub r8, 1
jne 0x140062110
mov r8, rdx
cmp r8, 4
jb 0x14006216a
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14006216a
mov rax, qword [rsp + 0x20]
mov r15, r8
add rax, r8
mov qword [rsp + 0x38], r8
mov rsi, rdx
mov qword [rsp + 0x60], rdx
mov qword [rbp - 0x58], rdi
movzx r14d, byte [rax + r12]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x28]
sub rdi, rcx
and rcx, rax
add rbx, rcx
movzx eax, byte [r15 + rbx]
cmp r14d, eax
jne 0x14006225a
test rdi, rdi
je 0x14006225a
cmp rdi, r13
ja 0x14006225a
mov r8, r10
xor edx, edx
shr r8, 3
mov rcx, r9
test r8, r8
je 0x1400621f3
mov r11, rbx
sub r11, r9
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
mov r10, qword [rcx + r11]
cmp rax, r10
jne 0x140062373
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400621d0
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x140062214
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x140062214
inc rcx
inc rdx
sub r8, 1
jne 0x140062200
mov r8, rdx
cmp r8, 4
jb 0x14006225a
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14006225a
mov rax, qword [rsp + 0x20]
mov r15, r8
add rax, r8
mov qword [rsp + 0x38], r8
mov rsi, rdx
mov qword [rsp + 0x60], rdx
mov qword [rbp - 0x58], rdi
movzx r14d, byte [rax + r12]
mov rax, qword [rbp + 0x18]
mov rdi, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x28]
mov r12, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x40]
mov ecx, dword [rdi + rax*4]
and r11, rcx
sub rbx, rcx
add r11, r12
movzx eax, byte [r15 + r11]
cmp r14d, eax
jne 0x1400623a5
xor r14d, r14d
test rbx, rbx
je 0x1400623a8
cmp rbx, r13
ja 0x1400623a8
mov rax, r10
mov ecx, r14d
shr rax, 3
test rax, rax
je 0x1400622e3
mov r10, r11
sub r10, r9
nop word [rax + rax]
mov rdx, qword [r9]
mov r8, qword [r9 + r10]
cmp rdx, r8
jne 0x14006238c
add r9, 8
add rcx, 8
sub rax, 1
jne 0x1400622c0
mov r10, qword [rsp + 0x30]
mov rdx, r10
and edx, 7
je 0x140062306
nop dword [rax + rax]
movzx eax, byte [r9]
cmp byte [rcx + r11], al
jne 0x140062306
inc r9
inc rcx
sub rdx, 1
jne 0x1400622f0
mov r8, rcx
cmp r8, 4
jb 0x1400623a8
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x1400623a8
mov rcx, r8
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x38], rcx
mov qword [rbp - 0x58], rbx
jmp 0x1400623ad
xor rax, r10
mov r10, qword [rsp + 0x30]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140062035
xor rax, r10
mov r10, qword [rsp + 0x30]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140062127
xor rax, r10
mov r10, qword [rsp + 0x30]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140062217
mov r10, qword [rsp + 0x30]
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x140062309
xor r14d, r14d
mov rcx, qword [rsp + 0x38]
cmp qword [rsp + 0x60], 0x7e4
mov rax, qword [rsp + 0x58]
mov r15, qword [rsp + 0x40]
mov dword [rdi + rax*4], r15d
jbe 0x140062d7c
mov dword [rsp + 0x48], r14d
dec r10
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x30], r10
cmp dword [rax + 4], 5
jge 0x1400623f5
lea rax, [rcx - 1]
mov rsi, r10
cmp rax, r10
cmovb rsi, rax
mov qword [rbp], rsi
jmp 0x1400623fc
mov rsi, r14
mov qword [rbp], r14
mov r13, qword [rbp - 0x70]
lea rbx, [r15 + 1]
mov r9, qword [rsp + 0x28]
mov edx, 0x7e4
mov r8, qword [rsp + 0x20]
cmp rbx, r13
mov rax, qword [rsp + 0x78]
mov r12, r9
cmovb r13, rbx
mov qword [rbp + 8], r14
and r12, rbx
mov qword [rbp + 0x10], rdx
mov qword [rsp + 0x58], rbx
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x70], rax
lea r11, [r8 + r12]
movzx r15d, byte [r11 + rsi]
mov rcx, r11
call fcn.1400701a0
mov ecx, eax
mov rax, qword [rbp - 0x80]
mov dword [rbp + 0x18], r14d
mov r14d, 0x7e4
movq xmm1, rcx
mov rcx, rbx
movsxd rdi, dword [rax]
sub rcx, rdi
punpcklqdq xmm1, xmm1
cmp rcx, rbx
jae 0x140062544
mov ebx, r9d
and rbx, rcx
add rbx, r8
movzx eax, byte [rsi + rbx]
cmp r15d, eax
jne 0x14006253f
mov rcx, r10
xor eax, eax
shr rcx, 3
mov rdx, r11
test rcx, rcx
je 0x1400624c3
mov r10, rbx
sub r10, r11
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x140062529
add rdx, 8
add rax, 8
sub rcx, 1
jne 0x1400624a4
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x1400624e2
sub rdx, rax
nop
movzx ecx, byte [rdx + rax]
cmp byte [rax + rbx], cl
jne 0x1400624e2
inc rax
sub r8, 1
jne 0x1400624d0
mov rcx, rax
mov r8, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x28]
cmp rcx, 4
jb 0x140062544
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, r14
jbe 0x140062544
mov qword [rbp + 0x10], rax
mov r14, rax
lea rax, [r8 + rcx]
mov qword [rbp], rcx
movzx r15d, byte [rax + r12]
mov rsi, rcx
mov qword [rbp + 8], rdi
jmp 0x140062544
mov r10, qword [rsp + 0x30]
xor r8, r9
tzcnt rcx, r8
shr rcx, 3
add rcx, rax
jmp 0x1400624e5
mov rbx, qword [rsp + 0x58]
xor eax, eax
nop word [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
psllq xmm0, xmm7
paddq xmm0, xmm1
andps xmm0, xmm8
movdqu xmmword [rbp + rax*8 + 0x20], xmm0
add rax, 2
cmp rax, 4
jb 0x140062550
mov rax, rbx
mov rdi, rbx
shr rax, 3
and eax, 3
mov ebx, r9d
mov rcx, qword [rbp + rax*8 + 0x20]
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x68], rcx
mov rcx, qword [rsp + 0x70]
mov ecx, dword [rcx + rax*4]
and rbx, rcx
sub rdi, rcx
add rbx, r8
movzx eax, byte [rbx + rsi]
cmp r15d, eax
jne 0x140062666
test rdi, rdi
je 0x140062666
cmp rdi, r13
ja 0x140062666
mov r8, r10
xor ecx, ecx
shr r8, 3
mov rdx, r11
test r8, r8
je 0x140062603
mov r10, rbx
sub r10, r11
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140062841
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400625e0
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x140062622
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x140062622
inc rcx
sub r8, 1
jne 0x140062610
mov rdx, rcx
cmp rdx, 4
jb 0x140062666
bsr eax, edi
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp r14, r8
jae 0x140062666
mov rax, qword [rsp + 0x20]
mov rsi, rdx
add rax, rdx
mov qword [rbp], rdx
mov r14, r8
mov qword [rbp + 0x10], r8
mov qword [rbp + 8], rdi
movzx r15d, byte [rax + r12]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x28]
sub rdi, rcx
and rcx, rax
add rbx, rcx
movzx eax, byte [rbx + rsi]
cmp r15d, eax
jne 0x140062748
test rdi, rdi
je 0x140062748
cmp rdi, r13
ja 0x140062748
mov r8, r10
xor edx, edx
shr r8, 3
mov rcx, r11
test r8, r8
je 0x1400626e3
mov r10, rbx
sub r10, r11
nop
mov rax, qword [rcx]
mov r9, qword [r10 + rcx]
cmp rax, r9
jne 0x14006285a
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400626c0
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x140062704
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x140062704
inc rcx
inc rdx
sub r8, 1
jne 0x1400626f0
mov r8, rdx
cmp r8, 4
jb 0x140062748
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp r14, rdx
jae 0x140062748
mov rax, qword [rsp + 0x20]
mov rsi, r8
add rax, r8
mov qword [rbp], r8
mov r14, rdx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 8], rdi
movzx r15d, byte [rax + r12]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x28]
sub rdi, rcx
and rcx, rax
add rbx, rcx
movzx eax, byte [rbx + rsi]
cmp r15d, eax
jne 0x140062887
test rdi, rdi
je 0x140062887
cmp rdi, r13
ja 0x140062887
mov r8, r10
xor edx, edx
shr r8, 3
mov rcx, r11
test r8, r8
je 0x1400627d3
mov r10, rbx
sub r10, r11
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [r10 + rcx]
cmp rax, r9
jne 0x140062873
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400627b0
mov r10, qword [rsp + 0x30]
mov r8, r10
and r8d, 7
je 0x1400627f4
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x1400627f4
inc rcx
inc rdx
sub r8, 1
jne 0x1400627e0
mov r8, rdx
cmp r8, 4
jb 0x140062887
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp r14, rdx
jae 0x140062887
mov rax, qword [rsp + 0x20]
mov rsi, r8
add rax, r8
mov qword [rbp], r8
mov r14, rdx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 8], rdi
movzx r15d, byte [rax + r12]
mov r12, rdx
jmp 0x14006288b
mov r10, qword [rsp + 0x30]
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140062625
mov r10, qword [rsp + 0x30]
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140062707
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400627f7
mov r12, qword [rbp + 0x10]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x20]
mov rbx, rdi
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x28]
sub rbx, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp r15d, eax
jne 0x14006295f
test rbx, rbx
je 0x14006295f
cmp rbx, r13
ja 0x14006295f
mov rsi, qword [rsp + 0x30]
xor ecx, ecx
mov rdx, rsi
shr rdx, 3
test rdx, rdx
je 0x14006290e
mov r9, r10
sub r9, r11
nop word [rax + rax]
mov rax, qword [r11]
mov r8, qword [r9 + r11]
cmp rax, r8
jne 0x1400629db
add r11, 8
add rcx, 8
sub rdx, 1
jne 0x1400628f0
mov rdx, rsi
and edx, 7
je 0x14006292c
movzx eax, byte [r11]
cmp byte [rcx + r10], al
jne 0x14006292c
inc r11
inc rcx
sub rdx, 1
jne 0x140062916
mov rdx, rcx
cmp rdx, 4
jb 0x14006295f
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r14, rax
jae 0x14006295f
mov qword [rbp], rdx
mov r12, rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 8], rbx
mov rax, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x50]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x60]
add rax, 0xaf
cmp r12, rax
jb 0x1400629f5
mov ecx, dword [rsp + 0x48]
inc r13
movups xmm0, xmmword [rbp]
inc ecx
mov r15, rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x48], ecx
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp ecx, 4
jge 0x1400629ef
lea rax, [rdi + 8]
cmp rax, qword [rbp - 0x78]
jae 0x1400629ef
mov r10, qword [rsp + 0x30]
mov rax, qword [rbp - 0x50]
dec r10
mov rcx, qword [rbp - 0x60]
xor r14d, r14d
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x38], rcx
jmp 0x1400623d2
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14006292f
mov r12, qword [rbp - 0x60]
jmp 0x1400629ff
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r10, qword [rbp - 0x70]
lea r11, [r15 + r12*2]
add r11, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x58]
add rax, r15
cmp rax, r10
mov qword [rsp + 0x70], r11
mov r11, qword [rbp - 0x80]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140062aad
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 0x140062a4c
xor r8d, r8d
jmp 0x140062ab1
cmp rbx, r9
jne 0x140062a59
mov r8d, 1
jmp 0x140062ab1
cmp r8, 7
jae 0x140062a75
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140062ab1
cmp rcx, 7
jae 0x140062a8d
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140062ab1
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140062a9e
mov r8d, 2
jmp 0x140062ab1
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140062ab1
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x140062ad1
test r8, r8
je 0x140062ad1
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 + 0x68]
mov esi, dword [rbp - 0x48]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [rcx], r13d
mov dword [rcx + 4], eax
mov rcx, qword [rbp - 0x40]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140062afe
xor edi, edi
jmp 0x140062b72
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 + 0x68]
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 0x140062ba1
movzx r10d, r13w
mov eax, 0x17
jmp 0x140062c11
cmp r13, 0x82
jae 0x140062bcb
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 0x140062c11
cmp r13, 0x842
jae 0x140062be8
lea eax, [r13 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140062c11
mov eax, 0x17
cmp r13, 0x1842
jae 0x140062bfc
lea r10d, [rax - 2]
jmp 0x140062c11
cmp r13, 0x5842
jae 0x140062c0d
mov r10d, 0x16
jmp 0x140062c11
movzx r10d, ax
cmp rdx, 0xa
jae 0x140062c1d
sub dx, 2
jmp 0x140062c5b
cmp rdx, 0x86
jae 0x140062c42
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 0x140062c5b
cmp rdx, 0x846
jae 0x140062c58
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x140062c5b
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 0x140062c9a
cmp r10w, 8
jae 0x140062c9a
cmp dx, 0x10
jae 0x140062c9a
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x140062ccc
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 - 0x20]
lea r10, [r15 + r12]
mov word [r14 + 0xc], r9w
lea r8, [r15 + 2]
mov r9, qword [rbp - 0x38]
add r14, 0x10
xor esi, esi
mov qword [rsp + 0x68], r14
add qword [rax], r13
mov rax, r12
cmp r10, r9
mov qword [rsp + 0x50], rsi
mov qword [rbp - 0x68], r10
cmovb r9, r10
shr rax, 2
cmp rbx, rax
jae 0x140062d2a
lea rax, [rbx*4]
sub r15, rax
add r15, r12
cmp r8, r15
cmova r15, r8
cmp r9, r15
mov r8, r15
cmovb r8, r9
cmp r8, r9
jae 0x140062d6f
mov r12, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x78]
nop
mov rcx, r10
and rcx, r8
add rcx, r12
call fcn.1400701a0
mov ecx, r8d
and ecx, 0x18
add eax, ecx
mov rcx, qword [r11 + 0x38]
and eax, 0xfffff
mov dword [rcx + rax*4], r8d
inc r8
cmp r8, r9
jb 0x140062d40
mov r10, qword [rbp - 0x68]
mov r15, r10
mov qword [rsp + 0x40], r10
jmp 0x140062ea2
mov rsi, qword [rsp + 0x50]
inc r15
mov r11, qword [rsp + 0x70]
inc rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], r15
cmp r15, r11
jbe 0x140062e9d
mov rax, qword [rbp - 0x30]
mov r8, qword [rbp - 0x78]
add r8, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r15, rax
jbe 0x140062e2d
mov rdi, qword [rsp + 0x28]
lea rax, [r15 + 0x10]
cmp rax, r8
cmovb r8, rax
cmp r15, r8
jae 0x140062e26
add rsi, 4
mov rax, r8
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x50], rsi
mov rsi, qword [rsp + 0x78]
nop word [rax + rax]
mov rcx, rdi
and rcx, r15
add rcx, r12
call fcn.1400701a0
mov ecx, r15d
and ecx, 0x18
add eax, ecx
mov rcx, qword [rsi + 0x38]
and eax, 0xfffff
mov dword [rcx + rax*4], r15d
add r15, 4
cmp r15, r8
jb 0x140062df0
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x40], r15
mov r14, qword [rsp + 0x68]
jmp 0x140062ea7
lea rax, [r15 + 8]
cmp rax, r8
cmovb r8, rax
cmp r15, r8
jae 0x140062e9d
mov rdi, qword [rsp + 0x28]
add rsi, 2
mov rax, r8
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x50], rsi
mov rsi, qword [rsp + 0x78]
mov rcx, rdi
and rcx, r15
add rcx, r12
call fcn.1400701a0
mov ecx, r15d
and ecx, 0x18
add eax, ecx
mov rcx, qword [rsi + 0x38]
and eax, 0xfffff
mov dword [rcx + rax*4], r15d
add r15, 2
cmp r15, r8
jb 0x140062e60
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
mov qword [rsp + 0x40], r15
jmp 0x140062ea7
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x28]
mov r11, qword [rbp - 0x78]
lea rax, [r15 + 8]
mov r9, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x80]
mov rbx, qword [rbp - 0x70]
cmp rax, r11
jb 0x140061e00
movaps xmm8, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm6, xmmword [rsp + 0x170]
mov r12, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
sub r11, r15
sub r14, rcx
add r11, rsi
sar r14, 4
mov qword [rax], r11
add qword [r12], r14
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.14000baf0
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
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 - 0x98]
sub rsp, 0x198
mov rax, qword [0x140779878]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov r10, qword [rbp + 0x108]
mov rax, rcx
mov rcx, qword [rbp + 0x138]
mov r12, r8
mov r14, qword [rbp + 0x128]
mov r13, rdx
mov rbx, qword [rbp + 0x118]
mov r11d, 1
mov rsi, qword [rbp + 0x130]
mov qword [rbp - 8], rcx
mov ecx, dword [r10 + 8]
shl r11, cl
mov rcx, qword [r10 + 0x10]
sub r11, 0x10
mov qword [rsp + 0x38], r8
mov r8, qword [rbp + 0x120]
mov qword [rbp - 0x10], rcx
mov rcx, r14
mov qword [rsp + 0x60], rdx
mov rdx, qword [rbp + 0x110]
mov rdi, qword [r8]
mov qword [rbp + 0x10], r8
lea r8, [rax + r13]
mov qword [rbp + 8], rcx
mov qword [rsp + 0x30], r9
mov qword [rbp - 0x28], r10
mov qword [rsp + 0x58], rdx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x68], r14
mov qword [rbp], rsi
mov qword [rbp - 0x50], r11
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x58], r8
cmp rax, 8
jb 0x140063493
lea rax, [r8 - 7]
mov qword [rbp - 0x20], rax
jmp 0x140063497
mov qword [rbp - 0x20], r13
cmp dword [r10 + 4], 9
mov eax, 0x200
mov r15d, 0x40
cmovl eax, r15d
mov qword [rbp - 0x18], rax
add rax, r13
mov qword [rbp - 0x78], rax
lea rax, [r13 + 8]
cmp rax, r8
jae 0x140064956
movaps xmmword [rsp + 0x180], xmm6
mov eax, 3
movdqa xmm6, xmmword [0x14040d5a0]
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm8
movdqa xmm8, xmmword [0x14040d600]
movd xmm7, eax
nop word [rax + rax]
mov r10, r8
xor edi, edi
sub r10, r13
mov qword [rbp - 0x80], rdi
cmp r13, r11
mov qword [rsp + 0x40], r10
mov r8, r11
mov qword [rbp - 0x40], rdi
cmovb r8, r13
mov r11d, 0x7e4
mov r13, qword [rdx + 0x38]
mov r15, r9
mov qword [rsp + 0x50], r11
mov r11, qword [rsp + 0x60]
and r15, r11
mov qword [rsp + 0x68], r8
movzx esi, byte [r12 + r15]
lea r9, [r12 + r15]
mov rcx, r9
mov qword [rsp + 0x48], r9
call fcn.1400701a0
movsxd rbx, dword [rbx]
mov r14d, edi
mov rdx, qword [rsp + 0x30]
mov ecx, eax
mov dword [rbp - 0x30], edi
mov edi, 0x7e4
movq xmm1, rcx
mov rcx, r11
sub rcx, rbx
punpcklqdq xmm1, xmm1
cmp rcx, r11
jae 0x14006365b
mov r11d, edx
and r11, rcx
add r11, r12
movzx eax, byte [r11]
cmp esi, eax
jne 0x140063656
mov rax, r10
xor ecx, ecx
shr rax, 3
mov rdx, r9
test rax, rax
je 0x1400635d3
mov r10, r11
sub r10, r9
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x140063640
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x1400635b0
mov r10, qword [rsp + 0x40]
mov r8, r10
and r8d, 7
je 0x1400635f3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400635f3
inc rcx
sub r8, 1
jne 0x1400635e0
mov rax, rcx
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x30]
cmp rax, 4
jb 0x14006365b
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x14006365b
mov qword [rbp - 0x80], rax
mov r14, rax
add rax, r12
mov qword [rbp - 0x40], rbx
mov qword [rsp + 0x50], rcx
mov rdi, rcx
movzx esi, byte [rax + r15]
jmp 0x14006365b
mov r10, qword [rsp + 0x40]
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x1400635f6
mov r11, qword [rsp + 0x60]
xor eax, eax
nop dword [rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
psllq xmm0, xmm7
paddq xmm0, xmm1
andps xmm0, xmm8
movdqu xmmword [rbp + rax*8 + 0x18], xmm0
add rax, 2
cmp rax, 4
jb 0x140063660
mov rax, r11
mov rbx, r11
mov r11, qword [rsp + 0x38]
shr rax, 3
and eax, 3
mov r12, qword [rbp + rax*8 + 0x18]
mov rax, qword [rbp + 0x18]
mov ecx, dword [r13 + rax*4]
mov eax, edx
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140063778
test rbx, rbx
je 0x140063778
cmp rbx, r8
ja 0x140063778
mov r8, r10
xor ecx, ecx
shr r8, 3
mov rdx, r9
test r8, r8
je 0x140063713
mov r10, r11
sub r10, r9
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140063a44
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400636f0
mov r10, qword [rsp + 0x40]
mov r8, r10
and r8d, 7
je 0x140063733
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140063733
inc rcx
sub r8, 1
jne 0x140063720
mov rdx, rcx
cmp rdx, 4
jb 0x140063778
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140063778
mov rax, qword [rsp + 0x38]
mov r14, rdx
add rax, rdx
mov qword [rbp - 0x80], rdx
mov rdi, r8
mov qword [rsp + 0x50], r8
mov qword [rbp - 0x40], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 0x20]
mov rbx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x68]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 0x30]
sub rbx, rcx
and rcx, rax
add r11, rcx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x14006386f
test rbx, rbx
je 0x14006386f
cmp rbx, rdx
ja 0x14006386f
mov rax, qword [rsp + 0x48]
mov r8, r10
shr r8, 3
xor edx, edx
mov rcx, rax
test r8, r8
je 0x140063803
mov r10, r11
sub r10, rax
nop dword [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x140063a5d
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400637e0
mov r10, qword [rsp + 0x40]
mov r8, r10
and r8d, 7
je 0x140063825
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140063825
inc rcx
inc rdx
sub r8, 1
jne 0x140063810
mov r8, rdx
cmp r8, 4
jb 0x14006386a
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x14006386a
mov rax, qword [rsp + 0x38]
mov r14, r8
add rax, r8
mov qword [rbp - 0x80], r8
mov rdi, rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x40], rbx
movzx esi, byte [rax + r15]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rbp + 0x28]
mov rbx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x38]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 0x30]
sub rbx, rcx
and rcx, rax
add r11, rcx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x14006395a
test rbx, rbx
je 0x14006395a
cmp rbx, rdx
ja 0x14006395a
mov rax, qword [rsp + 0x48]
mov r8, r10
shr r8, 3
xor edx, edx
mov rcx, rax
test r8, r8
je 0x1400638f3
mov r10, r11
sub r10, rax
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x140063a76
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400638d0
mov r10, qword [rsp + 0x40]
mov r8, r10
and r8d, 7
je 0x140063915
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140063915
inc rcx
inc rdx
sub r8, 1
jne 0x140063900
mov r8, rdx
cmp r8, 4
jb 0x14006395a
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x14006395a
mov rax, qword [rsp + 0x38]
mov r14, r8
add rax, r8
mov qword [rbp - 0x80], r8
mov rdi, rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x40], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x38]
mov ecx, dword [r13 + rax*4]
mov r15, qword [rsp + 0x68]
sub rbx, rcx
mov eax, edx
and rcx, rax
add r11, rcx
movzx eax, byte [r11 + r14]
mov r14, qword [rsp + 0x48]
cmp esi, eax
jne 0x140063aa3
test rbx, rbx
je 0x140063aa3
cmp rbx, r15
ja 0x140063aa3
mov rax, r10
xor edx, edx
shr rax, 3
mov rcx, r14
test rax, rax
je 0x1400639e3
mov r10, r11
sub r10, r14
nop dword [rax]
mov r8, qword [rcx]
mov r9, qword [rcx + r10]
cmp r8, r9
jne 0x140063a8f
add rcx, 8
add rdx, 8
sub rax, 1
jne 0x1400639c0
mov r10, qword [rsp + 0x40]
mov r8, r10
and r8d, 7
je 0x140063a05
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140063a05
inc rcx
inc rdx
sub r8, 1
jne 0x1400639f0
mov r9, rdx
mov rdx, qword [rsp + 0x30]
cmp r9, 4
jb 0x140063aa3
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140063aa3
mov qword [rbp - 0x80], r9
mov rdi, rax
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x40], rbx
jmp 0x140063aa8
mov r10, qword [rsp + 0x40]
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140063736
mov r10, qword [rsp + 0x40]
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140063828
mov r10, qword [rsp + 0x40]
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140063918
xor r8, r9
tzcnt r9, r8
shr r9, 3
add r9, rdx
jmp 0x140063a08
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov dword [r13 + r12*4], eax
mov r13, rax
mov r12, qword [rsp + 0x40]
test r13b, 3
jne 0x140063c4c
cmp r12, 0x20
jb 0x140063c4c
mov rbx, qword [r9 + 0x50]
cmp rbx, rax
ja 0x140063c44
lea rsi, [rbx + 0x20]
jmp 0x140063af5
mov rdx, qword [rsp + 0x30]
mov eax, dword [r9 + 0x60]
mov r8, rbx
mov ecx, dword [r9 + 0x40]
and r8, rdx
mov r9d, dword [r9 + 0x5c]
mov r11d, ecx
mov dword [rsp + 0x20], eax
and rdx, rsi
mov rax, qword [rsp + 0x38]
and r11d, 0x3fffffff
movzx edx, byte [rdx + rax]
movzx r8d, byte [r8 + rax]
call fcn.140070230
mov r9, qword [rsp + 0x58]
mov dword [r9 + 0x40], eax
cmp r11d, 0x1000000
jae 0x140063c33
mov rax, qword [r9 + 0x48]
mov r10d, dword [rax + r11*4]
mov dword [rax + r11*4], ebx
cmp rbx, r13
jne 0x140063c33
mov eax, 0xffffffff
cmp r10, rax
je 0x140063c33
mov edi, r13d
sub edi, r10d
cmp rdi, r15
ja 0x140063c2e
and r10, qword [rsp + 0x30]
mov r8, r12
add r10, qword [rsp + 0x38]
xor ecx, ecx
shr r8, 3
mov rdx, r14
test r8, r8
je 0x140063bae
mov r11, r10
sub r11, r14
mov rax, qword [rdx]
mov r9, qword [rdx + r11]
cmp rax, r9
jne 0x140063c1d
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140063b94
mov r8, r12
and r8d, 7
je 0x140063bd3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x140063bd3
inc rcx
sub r8, 1
jne 0x140063bc0
mov rdx, rcx
mov r9, qword [rsp + 0x58]
cmp rdx, 4
jb 0x140063c2e
cmp rdx, qword [rbp - 0x80]
jbe 0x140063c2e
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x50]
jbe 0x140063c2e
mov qword [rbp - 0x40], rdi
mov rdi, rax
mov qword [rbp - 0x80], rdx
mov qword [rsp + 0x50], rax
mov dword [rbp - 0x30], 0
jmp 0x140063c33
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140063bd6
mov rdi, qword [rsp + 0x50]
add rbx, 4
add rsi, 4
cmp rbx, r13
jbe 0x140063af0
lea rax, [r13 + 4]
mov qword [r9 + 0x50], rax
cmp rdi, 0x7e4
jbe 0x1400647ef
mov rax, qword [rbp - 0x80]
xor edi, edi
mov dword [rsp + 0x68], edi
dec r12
mov rcx, qword [rbp - 0x28]
mov qword [rsp + 0x40], r12
cmp dword [rcx + 4], 5
jge 0x140063c8d
dec rax
mov r9, r12
cmp rax, r12
cmovb r9, rax
mov qword [rsp + 0x48], r9
mov qword [rbp + 0x18], r9
jmp 0x140063c99
mov r9, rdi
mov qword [rsp + 0x48], rdi
mov qword [rbp + 0x18], rdi
mov r10, qword [rbp - 0x50]
lea r11, [r13 + 1]
mov rax, qword [rsp + 0x58]
mov r8d, 0x7e4
mov r15, qword [rsp + 0x30]
cmp r11, r10
mov qword [rbp + 0x28], r8
mov r8, qword [rsp + 0x38]
cmovb r10, r11
mov r13, qword [rax + 0x38]
and r15, r11
add r8, r15
mov qword [rbp + 0x20], rdi
mov rcx, r8
mov qword [rbp - 0x78], r11
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r8
movzx esi, byte [r8 + r9]
call fcn.1400701a0
mov ecx, eax
mov r14, r9
mov rax, qword [rbp - 0x60]
mov r9, qword [rsp + 0x30]
mov dword [rbp + 0x30], edi
mov edi, 0x7e4
movq xmm1, rcx
mov rcx, r11
movsxd rbx, dword [rax]
sub rcx, rbx
punpcklqdq xmm1, xmm1
cmp rcx, r11
jae 0x140063dfd
mov r11, qword [rsp + 0x38]
mov eax, r9d
and rcx, rax
add r11, rcx
movzx eax, byte [r14 + r11]
cmp esi, eax
jne 0x140063df9
mov rdx, r8
xor ecx, ecx
mov r8, r12
shr r8, 3
test r8, r8
je 0x140063d6e
mov r10, r11
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140063de8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140063d50
mov r8, r12
and r8d, 7
je 0x140063d93
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140063d93
inc rcx
sub r8, 1
jne 0x140063d80
mov rax, rcx
mov r11, qword [rbp - 0x78]
mov r8, qword [rsp + 0x78]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
cmp rax, 4
jb 0x140063dfd
mov rdx, qword [rsp + 0x38]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140063e02
mov qword [rsp + 0x48], rax
mov r14, rax
mov qword [rbp + 0x18], rax
mov rdi, rcx
add rax, rdx
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rcx
movzx esi, byte [rax + r15]
jmp 0x140063e02
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140063d96
mov r11, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x38]
xor eax, eax
nop dword [rax]
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
psllq xmm0, xmm7
paddq xmm0, xmm1
andps xmm0, xmm8
movdqu xmmword [rbp + rax*8 + 0x38], xmm0
add rax, 2
cmp rax, 4
jb 0x140063e10
mov rax, r11
mov rbx, r11
shr rax, 3
and eax, 3
mov r11d, r9d
mov r12, qword [rbp + rax*8 + 0x38]
mov rax, qword [rbp + 0x38]
mov ecx, dword [r13 + rax*4]
and r11, rcx
sub rbx, rcx
add r11, rdx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140063f2c
test rbx, rbx
je 0x140063f2c
cmp rbx, r10
ja 0x140063f2c
mov rax, qword [rsp + 0x40]
mov rdx, r8
mov r8, rax
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x140063ec3
mov r10, r11
sub r10, qword [rsp + 0x78]
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400641f9
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140063ea0
mov rax, qword [rsp + 0x40]
mov r8, rax
and r8d, 7
je 0x140063ee3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140063ee3
inc rcx
sub r8, 1
jne 0x140063ed0
mov rdx, rcx
cmp rdx, 4
jb 0x140063f2c
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140063f2c
mov rax, qword [rsp + 0x38]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x48], rdx
mov qword [rbp + 0x18], rdx
mov rdi, r8
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x20], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 0x40]
mov r11, qword [rsp + 0x38]
mov rbx, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x70]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 0x30]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140064023
test rbx, rbx
je 0x140064023
cmp rbx, rdx
ja 0x140064023
mov r8, qword [rsp + 0x40]
xor edx, edx
mov rax, qword [rsp + 0x78]
shr r8, 3
mov rcx, rax
test r8, r8
je 0x140063fae
mov r10, r11
sub r10, rax
nop dword [rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x14006420d
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140063f90
mov r8, qword [rsp + 0x40]
and r8d, 7
je 0x140063fd5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140063fd5
inc rcx
inc rdx
sub r8, 1
jne 0x140063fc0
mov r8, rdx
cmp r8, 4
jb 0x14006401e
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x14006401e
mov rax, qword [rsp + 0x38]
mov r14, r8
add rax, r8
mov qword [rsp + 0x48], r8
mov qword [rbp + 0x18], r8
mov rdi, rdx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x20], rbx
movzx esi, byte [rax + r15]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rbp + 0x48]
mov r11, qword [rsp + 0x38]
mov rbx, qword [rbp - 0x78]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 0x30]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x14006410e
test rbx, rbx
je 0x14006410e
cmp rbx, rdx
ja 0x14006410e
mov r8, qword [rsp + 0x40]
xor edx, edx
mov rax, qword [rsp + 0x78]
shr r8, 3
mov rcx, rax
test r8, r8
je 0x14006409e
mov r10, r11
sub r10, rax
nop
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x140064221
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140064080
mov r8, qword [rsp + 0x40]
and r8d, 7
je 0x1400640c5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400640c5
inc rcx
inc rdx
sub r8, 1
jne 0x1400640b0
mov r8, rdx
cmp r8, 4
jb 0x14006410e
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x14006410e
mov rax, qword [rsp + 0x38]
mov r14, r8
add rax, r8
mov qword [rsp + 0x48], r8
mov qword [rbp + 0x18], r8
mov rdi, rdx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x20], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 0x50]
mov rdx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r15, qword [rbp - 0x78]
mov ecx, dword [r13 + rax*4]
mov rbx, r15
mov eax, edx
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140064249
test rbx, rbx
je 0x140064249
cmp rbx, qword [rsp + 0x70]
ja 0x140064249
mov rsi, qword [rsp + 0x40]
xor edx, edx
mov rax, qword [rsp + 0x78]
mov r8, rsi
shr r8, 3
mov rcx, rax
test r8, r8
je 0x14006419e
mov r10, r11
sub r10, rax
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x140064235
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140064180
mov r8, rsi
and r8d, 7
je 0x1400641bc
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400641bc
inc rcx
inc rdx
sub r8, 1
jne 0x1400641a7
mov r8, rdx
mov rdx, qword [rsp + 0x30]
cmp r8, 4
jb 0x140064249
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x140064249
mov r14, r8
mov qword [rbp + 0x18], r8
mov rdi, rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x20], rbx
jmp 0x140064252
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140063ee6
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140063fd8
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400640c8
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400641bf
mov r14, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x28]
mov dword [r13 + r12*4], r15d
mov r12, qword [rsp + 0x40]
test r15b, 3
jne 0x1400643f1
cmp r12, 0x20
jb 0x1400643f1
mov r9, qword [rsp + 0x58]
mov rbx, qword [r9 + 0x50]
cmp rbx, r15
ja 0x1400643e9
mov r13, qword [rsp + 0x38]
lea rsi, [rbx + 0x20]
jmp 0x140064295
mov rdx, qword [rsp + 0x30]
mov ecx, dword [r9 + 0x40]
mov r8, rdx
mov eax, dword [r9 + 0x60]
mov r11d, ecx
mov r9d, dword [r9 + 0x5c]
and r8, rbx
and rdx, rsi
mov dword [rsp + 0x20], eax
and r11d, 0x3fffffff
movzx r8d, byte [r8 + r13]
movzx edx, byte [rdx + r13]
call fcn.140070230
mov r9, qword [rsp + 0x58]
mov dword [r9 + 0x40], eax
cmp r11d, 0x1000000
jae 0x1400643d8
mov rax, qword [r9 + 0x48]
mov r8d, dword [rax + r11*4]
mov dword [rax + r11*4], ebx
cmp rbx, r15
jne 0x1400643d8
mov eax, 0xffffffff
cmp r8, rax
je 0x1400643d8
mov edi, r15d
sub edi, r8d
cmp rdi, qword [rsp + 0x70]
ja 0x1400643d4
mov r11, qword [rsp + 0x30]
xor eax, eax
mov rcx, qword [rsp + 0x78]
and r11, r8
mov r8, r12
add r11, r13
shr r8, 3
mov rdx, rcx
test r8, r8
je 0x14006435a
mov r10, r11
sub r10, rcx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x1400643c3
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140064340
mov r8, r12
and r8d, 7
je 0x140064379
sub rdx, rax
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x140064379
inc rax
sub r8, 1
jne 0x140064366
mov rdx, rax
mov r9, qword [rsp + 0x58]
cmp rdx, 4
jb 0x1400643d4
cmp rdx, r14
jbe 0x1400643d4
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rbp + 0x28]
jbe 0x1400643d4
mov qword [rbp + 0x20], rdi
mov r14, rdx
mov rdi, rax
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x30], 0
jmp 0x1400643d8
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14006437c
mov rdi, qword [rbp + 0x28]
add rbx, 4
add rsi, 4
cmp rbx, r15
jbe 0x140064290
lea rax, [r15 + 4]
mov qword [r9 + 0x50], rax
mov rax, qword [rsp + 0x50]
add rax, 0xaf
cmp rdi, rax
jb 0x140064457
mov ecx, dword [rsp + 0x68]
mov r13, r15
movups xmm0, xmmword [rbp + 0x18]
inc qword [rbp - 0x70]
inc ecx
mov qword [rsp + 0x60], r15
mov dword [rsp + 0x68], ecx
movups xmm1, xmmword [rbp + 0x28]
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm1
cmp ecx, 4
jge 0x140064451
lea rax, [r15 + 8]
cmp rax, qword [rbp - 0x58]
jae 0x140064451
mov rax, qword [rbp - 0x38]
dec r12
mov qword [rsp + 0x50], rax
xor edi, edi
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x80], rax
jmp 0x140063c66
mov r15, qword [rbp - 0x48]
jmp 0x140064460
mov r13, qword [rsp + 0x60]
mov r15, qword [rbp - 0x80]
mov r10, qword [rbp - 0x50]
lea r11, [r15*2]
mov rax, qword [rbp - 0x10]
add r11, r13
add r11, qword [rbp - 0x18]
add rax, r13
mov rbx, qword [rbp - 0x40]
cmp rax, r10
mov qword [rbp - 0x78], r11
mov r11, qword [rbp - 0x60]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x140064514
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 0x1400644b3
xor r8d, r8d
jmp 0x140064518
cmp rbx, r9
jne 0x1400644c0
mov r8d, 1
jmp 0x140064518
cmp r8, 7
jae 0x1400644dc
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140064518
cmp rcx, 7
jae 0x1400644f4
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140064518
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140064505
mov r8d, 2
jmp 0x140064518
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140064518
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x140064538
test r8, r8
je 0x140064538
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdx], eax
mov dword [r11], ebx
mov rcx, qword [rbp - 0x68]
mov esi, dword [rbp - 0x30]
mov r12, qword [rbp - 0x70]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov rcx, qword [rbp - 0x28]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140064568
xor edi, edi
jmp 0x1400645dc
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 [rbp - 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 0x14006460a
movzx r10d, r12w
mov eax, 0x17
jmp 0x14006467d
cmp r12, 0x82
jae 0x140064636
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 0x14006467d
cmp r12, 0x842
jae 0x140064654
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14006467d
mov eax, 0x17
cmp r12, 0x1842
jae 0x140064668
lea r10d, [rax - 2]
jmp 0x14006467d
cmp r12, 0x5842
jae 0x140064679
mov r10d, 0x16
jmp 0x14006467d
movzx r10d, ax
cmp r9, 0xa
jae 0x14006468a
sub r9w, 2
jmp 0x1400646ca
cmp r9, 0x86
jae 0x1400646af
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 0x1400646ca
cmp r9, 0x846
jae 0x1400646c6
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1400646ca
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 0x140064707
cmp r10w, 8
jae 0x140064707
cmp r9w, 0x10
jae 0x140064707
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x14006473b
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 - 8]
lea r10, [r15 + r13]
mov r9, qword [rbp - 0x20]
lea r8, [r13 + 2]
xor edi, edi
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp - 0x70], rdi
add qword [rax], r12
mov rax, r15
cmp r10, r9
mov qword [rbp - 0x68], r14
mov qword [rsp + 0x78], r10
cmovb r9, r10
shr rax, 2
cmp rbx, rax
jae 0x140064798
lea rax, [rbx*4]
sub r13, rax
add r13, r15
cmp r8, r13
cmova r13, r8
cmp r9, r13
mov r8, r13
cmovb r8, r9
cmp r8, r9
jae 0x1400647e2
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
and rcx, r8
add rcx, r10
call fcn.1400701a0
mov ecx, r8d
and ecx, 0x18
add eax, ecx
mov rcx, qword [r11 + 0x38]
and eax, 0xfffff
mov dword [rcx + rax*4], r8d
inc r8
cmp r8, r9
jb 0x1400647b0
mov r10, qword [rsp + 0x78]
mov r13, r10
mov qword [rsp + 0x60], r10
jmp 0x14006490d
mov rdi, qword [rbp - 0x70]
inc r13
mov r11, qword [rbp - 0x78]
inc rdi
mov qword [rbp - 0x70], rdi
mov qword [rsp + 0x60], r13
cmp r13, r11
jbe 0x140064909
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 0x58]
add r8, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r13, rax
jbe 0x140064899
mov r12, qword [rsp + 0x38]
lea rax, [r13 + 0x10]
cmp rax, r8
cmovb r8, rax
cmp r13, r8
jae 0x140064893
mov rax, r8
add rdi, 4
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rbp - 0x70], rdi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
and rcx, r13
add rcx, r12
call fcn.1400701a0
mov ecx, r13d
and ecx, 0x18
add eax, ecx
mov rcx, qword [r9 + 0x38]
and eax, 0xfffff
mov dword [rcx + rax*4], r13d
add r13, 4
cmp r13, r8
jb 0x140064860
mov qword [rsp + 0x60], r13
mov r14, qword [rbp - 0x68]
jmp 0x140064912
lea rax, [r13 + 8]
cmp rax, r8
cmovb r8, rax
cmp r13, r8
jae 0x140064909
mov r12, qword [rsp + 0x38]
mov rax, r8
sub rax, r13
add rdi, 2
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rbp - 0x70], rdi
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
and rcx, r13
add rcx, r12
call fcn.1400701a0
mov ecx, r13d
and ecx, 0x18
add eax, ecx
mov rcx, qword [r9 + 0x38]
and eax, 0xfffff
mov dword [rcx + rax*4], r13d
add r13, 2
cmp r13, r8
jb 0x1400648d0
mov r14, qword [rbp - 0x68]
mov qword [rsp + 0x60], r13
jmp 0x140064912
mov r14, qword [rbp - 0x68]
mov r12, qword [rsp + 0x38]
mov r8, qword [rbp - 0x58]
lea rax, [r13 + 8]
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x30]
mov rbx, qword [rbp - 0x60]
mov r11, qword [rbp - 0x50]
cmp rax, r8
jb 0x140063500
movaps xmm8, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
movaps xmm6, xmmword [rsp + 0x180]
mov rsi, qword [rbp]
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
sub r8, r13
sub r14, rcx
add r8, rdi
sar r14, 4
mov qword [rax], r8
add qword [rsi], r14
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.14000baf0
add rsp, 0x198
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 0x140064f8d
lea rax, [rbx - 7]
mov qword [rbp - 0x31], rax
jmp 0x140064f91
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 0x14006501d
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 0x140065018
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 0x1400664bd
mov qword [rsp + 0xf0], r12
xor edx, edx
mov qword [rsp + 0xe8], r14
nop dword [rax]
movsxd rsi, dword [rdi + 0x58]
lea rax, [rcx + r15]
mov r14, qword [rdi + 0x70]
mov r12, rbx
sub r12, r15
mov qword [rbp - 0x49], rdx
cmp r15, r10
mov qword [rbp + 0x87], r12
mov r9, r10
mov qword [rsp + 0x30], 0x7e4
cmovb r9, r15
mov qword [rsp + 0x70], r14
mov r15, qword [rdi + 0x68]
cmp rax, r10
mov rcx, r10
mov qword [rbp + 0x3f], r9
cmovb rcx, rax
mov qword [rbp - 0x71], r15
mov rax, qword [r8 + 0x50]
mov rbx, rdx
mov qword [rsp + 0x38], rax
mov r10, rdx
mov rax, qword [rbp + 0x47]
mov r8, rax
mov qword [rsp + 0x28], rcx
and r8, r11
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], r8
mov ecx, 0x7e4
mov dword [rbp - 0x39], edx
mov qword [rsp + 0x18], rcx
mov qword [rbp + 0x6f], rdx
test rsi, rsi
je 0x140065242
mov r14, qword [rbp + 0x4f]
mov r15, r8
mov qword [rsp + 0x18], rcx
mov qword [rbp + 0x6f], rdx
nop dword [rax]
movsxd rdi, dword [r13 + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x140065224
cmp rdi, r9
ja 0x140065224
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x140065224
lea rax, [rcx + r10]
cmp rax, r11
ja 0x140065220
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x140065220
mov r8, r12
lea r11, [rcx + r14]
shr r8, 3
lea rdx, [r15 + r14]
xor ecx, ecx
test r8, r8
je 0x14006516e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140065203
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140065150
mov r8, r12
and r8d, 7
je 0x140065193
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140065193
inc rcx
sub r8, 1
jne 0x140065180
mov r8, rcx
cmp r8, 3
jae 0x1400651a7
cmp r8, 2
jne 0x140065214
cmp rbx, r8
jae 0x140065214
mov r11, qword [rsp + 0x18]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140065214
test rbx, rbx
je 0x1400651e7
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 0x140065214
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 0x140065218
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140065196
mov r10, qword [rbp + 0x6f]
mov r9, qword [rbp + 0x3f]
mov r11, qword [rbp + 0x57]
mov rax, qword [rbp + 0x47]
inc rbx
cmp rbx, rsi
jb 0x1400650e0
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 rdx, qword [rdi + 0x48]
mov r12, qword [rbp + 0x4f]
add r12, r8
and rdx, qword [r12]
imul rdx, rax
shr rdx, cl
mov ecx, dword [rdi + 0x54]
mov eax, edx
shl eax, cl
lea r14, [r14 + rax*4]
mov eax, edx
movzx edx, word [r15 + rax*2]
mov esi, edx
sub rsi, qword [rdi + 0x38]
cmp rdx, qword [rdi + 0x38]
lea r13, [r15 + rax*2]
mov eax, 0
mov qword [rsp + 0x70], r13
cmovbe rsi, rax
mov edi, edx
cmp rdx, rsi
jbe 0x1400653db
mov rax, qword [rsp]
mov r13, qword [rbp + 0x4f]
mov r15d, dword [rax + 0x50]
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 0x1400653d1
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x1400653c8
lea rax, [rcx + r10]
cmp rax, r11
ja 0x1400653c8
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x1400653c8
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 0x140065345
mov r10, r11
sub r10, r12
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400653b3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140065320
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x140065364
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140065364
inc rcx
sub r8, 1
jne 0x140065351
mov rdx, rcx
mov r8, qword [rsp + 0x10]
mov r9, qword [rbp + 0x3f]
mov r11, qword [rbp + 0x57]
cmp rdx, 4
jb 0x1400653c4
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x18], rax
jae 0x1400653c4
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 0x1400653c8
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140065367
mov r10, qword [rbp + 0x6f]
cmp rdi, rsi
ja 0x1400652b0
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 0x140065706
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 0x140065702
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 0x140065593
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140065593
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 0x1400654be
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 0x14006557f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400654a0
mov r8, r11
and r8d, 7
je 0x1400654e3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x1400654e3
inc rcx
sub r8, 1
jne 0x1400654d0
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14006559a
test r9, r9
je 0x14006559a
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x28]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x38]
ja 0x14006559f
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x30]
jb 0x14006559f
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], rdx
jmp 0x14006559f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400654e6
mov rsi, qword [rsp + 0x28]
jmp 0x1400655a6
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 0x1400656f8
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400656f8
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 0x14006562e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400656e4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140065610
mov r8, r11
and r8d, 7
je 0x14006564c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14006564c
inc rdx
inc rcx
sub r8, 1
jne 0x140065637
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400656f8
test r9, r9
je 0x1400656f8
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x38]
ja 0x1400656f8
mov r15, qword [rbp + 0x47]
mov rsi, qword [rsp]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x30]
jb 0x14006570a
sub r11d, r9d
mov qword [rbp - 0x49], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 8], rcx
mov dword [rbp - 0x39], r11d
mov qword [rsp + 0x30], rax
jmp 0x14006570f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14006564f
mov r15, qword [rbp + 0x47]
mov rsi, qword [rsp]
jmp 0x14006570a
mov r15, qword [rbp + 0x47]
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp + 8]
cmp qword [rsp + 0x30], 0x7e4
jbe 0x1400662fe
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 0x14006574b
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x14006574e
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 0x14006595d
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 0x140065943
cmp rdi, r9
ja 0x140065943
and rcx, r13
lea rdx, [r10 + r14]
cmp rdx, r13
ja 0x14006593f
lea rax, [rcx + r10]
cmp rax, r13
ja 0x14006593b
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x14006593b
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
xor eax, eax
test r8, r8
je 0x14006587e
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 0x140065918
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140065860
mov r8, r12
and r8d, 7
je 0x1400658a3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x1400658a3
inc rax
sub r8, 1
jne 0x140065890
mov r8, rax
cmp r8, 3
jae 0x1400658b7
cmp r8, 2
jne 0x14006592c
cmp rbx, r8
jae 0x14006592c
mov r11, qword [rsp + 0x28]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14006592c
test rbx, rbx
je 0x1400658f7
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 0x14006592c
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 0x140065936
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x1400658a6
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 0x1400657f0
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 [rbx + 0x48]
and rdx, qword [r12]
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 0x140065b16
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 0x140065b09
and rcx, qword [rbp + 0x57]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x57]
ja 0x140065b00
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x140065b00
mov r13, qword [rbp + 0x4f]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rbp + 0x3f]
jne 0x140065b00
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 0x140065a75
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140065ae5
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140065a50
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x140065a94
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140065a94
inc rcx
sub r8, 1
jne 0x140065a81
mov rdx, rcx
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x18]
cmp rdx, 4
jb 0x140065af6
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x28], rax
jae 0x140065af6
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 0x140065b00
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140065a97
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x10]
cmp rdi, rsi
ja 0x1400659d0
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 0x140065ea1
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 0x140065e28
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 0x140065cc9
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140065cc9
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 0x140065bee
mov r10, r12
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140065cb5
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140065bd0
mov r8, r11
and r8d, 7
je 0x140065c13
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140065c13
inc rcx
sub r8, 1
jne 0x140065c00
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140065cd0
test r9, r9
je 0x140065cd0
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x71]
shl rax, cl
inc rdx
add rax, rsi
mov rsi, qword [rsp + 0x50]
add rdx, rax
cmp rdx, qword [rsp + 0x68]
ja 0x140065cd5
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140065cd5
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], rdx
jmp 0x140065cd5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140065c16
mov rsi, qword [rsp + 0x50]
jmp 0x140065cdc
mov rsi, qword [rsp + 0x50]
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 0x140065e31
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140065e31
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 0x140065d5e
mov r10, r12
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140065e14
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140065d40
mov r8, r11
and r8d, 7
je 0x140065d7c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140065d7c
inc rdx
inc rcx
sub r8, 1
jne 0x140065d67
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140065e31
test r9, r9
je 0x140065e31
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x71]
shl rax, cl
inc rdx
add rax, rdi
add rdx, rax
cmp rdx, qword [rsp + 0x68]
ja 0x140065e31
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rbp + 0x3f]
add rax, 0x780
cmp rax, rsi
jb 0x140065e35
sub r11d, r9d
mov qword [rsp + 0x40], r9
inc qword [r13 + 0x10]
mov rsi, rax
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rax
jmp 0x140065e35
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140065d7f
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 0x140065eb7
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 0x140065eac
lea rax, [r15 + 8]
cmp rax, qword [rbp - 0x69]
jae 0x140065eac
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 0x14006572d
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
jmp 0x140065e35
mov rcx, qword [rbp - 0x51]
mov qword [rsp + 8], rcx
jmp 0x140065ec0
mov r15, qword [rbp + 0x47]
mov rcx, 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 + rcx*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 0x140065f79
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 0x140065f18
xor r9d, r9d
mov r8d, r9d
jmp 0x140065f80
cmp rdi, r9
jne 0x140065f25
mov r8d, 1
jmp 0x140065f7d
cmp r8, 7
jae 0x140065f41
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140065f7d
cmp rcx, 7
jae 0x140065f59
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140065f7d
movsxd rax, dword [r11 + 8]
cmp rdi, rax
jne 0x140065f6a
mov r8d, 2
jmp 0x140065f7d
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x140065f7d
lea r8, [rdi + 0xf]
xor r9d, r9d
mov r13, qword [rsp]
cmp rdi, r10
ja 0x140066006
test r8, r8
je 0x140066006
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 0x140066006
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 0x140066006
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 0x140066039
mov ebx, r9d
jmp 0x1400660b6
mov rcx, qword [rbp + 0x67]
add r8, 0xfffffffffffffff0
mov r10d, 1
mov r11d, dword [rcx + 0x40]
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [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 0x1400660e4
movzx r10d, r11w
mov eax, 0x17
jmp 0x140066154
cmp r11, 0x82
jae 0x14006610e
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 0x140066154
cmp r11, 0x842
jae 0x14006612b
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140066154
mov eax, 0x17
cmp r11, 0x1842
jae 0x14006613f
lea r10d, [rax - 2]
jmp 0x140066154
cmp r11, 0x5842
jae 0x140066150
mov r10d, 0x16
jmp 0x140066154
movzx r10d, ax
cmp r9, 0xa
jae 0x140066161
sub r9w, 2
jmp 0x1400661a1
cmp r9, 0x86
jae 0x140066186
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 0x1400661a1
cmp r9, 0x846
jae 0x14006619d
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1400661a1
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 0x1400661de
cmp r10w, 8
jae 0x1400661de
cmp r9w, 0x10
jae 0x1400661de
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x140066212
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 0x140066279
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 0x1400662f2
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 0x140066290
mov r14, qword [rbp + 0x47]
mov r15, r14
mov qword [rbp + 0x47], r14
jmp 0x140066475
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 0x14006647a
mov rax, qword [rbp - 0x29]
mov rbx, qword [rbp - 0x69]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp r15, rax
jbe 0x1400663d6
lea rax, [r15 + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x14006647a
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 0x140066370
jmp 0x140066471
lea rax, [r15 + 8]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x14006647a
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 0x140066410
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 edx, 0
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 0x140065040
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 - 0x28]
sub rsp, 0x128
mov rsi, qword [rbp + 0xa8]
mov rax, rcx
mov r13, qword [rbp + 0x90]
mov rdi, rdx
mov rdx, qword [rbp + 0xa0]
mov r9, r8
mov r8, qword [rbp + 0x88]
mov ebx, 1
mov r10, qword [rbp + 0x98]
lea r12, [rax + rdi]
mov qword [rbp - 0x78], r13
mov r11, qword [rdx]
mov ecx, dword [r8 + 8]
shl rbx, cl
mov rcx, qword [r8 + 0x10]
sub rbx, 0x10
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x50], rsi
mov qword [rbp], rsi
mov qword [rsp + 0x58], r11
mov qword [rbp - 0x28], r12
cmp rax, 8
jb 0x140066b08
lea rax, [r12 - 7]
mov qword [rbp - 0x18], rax
jmp 0x140066b0c
mov qword [rbp - 0x18], rdi
cmp dword [r8 + 4], 9
mov edx, 0x40
mov eax, 0x200
cmovl eax, edx
mov edx, dword [r13 + 0x58]
mov qword [rbp - 0x10], rax
add rax, rdi
mov qword [rbp - 0x58], rax
cmp edx, 4
jle 0x140066b96
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 0x140066b92
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 [rbp - 0x60]
lea rax, [rdi + 8]
cmp rax, r12
jae 0x140068389
mov qword [rsp + 0x120], r14
xor edx, edx
mov qword [rsp + 0x118], r15
nop word [rax + 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 + 0xa8], r12
cmovb r11, rdi
mov qword [rbp - 0x40], rdx
cmp rax, rbx
mov qword [rsp + 0x30], r11
mov rcx, rbx
mov qword [rsp + 0x48], 0x7e4
cmovb rcx, rax
mov qword [rbp + 0x90], r14
mov rax, qword [r8 + 0x50]
mov rbx, rdx
mov qword [rbp - 0x70], rax
mov r8, rdi
mov rax, qword [rbp + 0x78]
mov r10, rdx
and r8, rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x40], r8
mov ecx, 0x7e4
mov qword [rsp + 0x50], rdx
mov dword [rbp - 0x30], edx
mov qword [rsp + 0x38], rcx
mov qword [rbp + 0x60], rdx
test rsi, rsi
je 0x140066dc5
mov r15, qword [rbp + 0x98]
mov r14, r8
mov qword [rbp + 0x60], rdx
mov rdx, qword [rbp + 0x68]
mov qword [rsp + 0x38], rcx
nop
movsxd rdi, dword [r15 + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x140066da9
cmp rdi, r11
ja 0x140066da9
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x140066da5
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x78]
ja 0x140066da1
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x140066da1
mov r8, r12
lea r11, [rcx + r9]
shr r8, 3
lea rdx, [r14 + r9]
xor ecx, ecx
test r8, r8
je 0x140066cee
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140066d83
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140066cd0
mov r8, r12
and r8d, 7
je 0x140066d13
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140066d13
inc rcx
sub r8, 1
jne 0x140066d00
mov r8, rcx
cmp r8, 3
jae 0x140066d27
cmp r8, 2
jne 0x140066d94
cmp rbx, r8
jae 0x140066d94
mov r11, qword [rsp + 0x38]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140066d94
test rbx, rbx
je 0x140066d67
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 0x140066d94
mov qword [rsp + 0x38], r9
mov r10, r8
mov qword [rbp + 0x60], r8
mov qword [rsp + 0x50], r8
mov qword [rbp - 0x40], rdi
mov qword [rsp + 0x48], r9
jmp 0x140066d98
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140066d16
mov r10, qword [rbp + 0x60]
mov r9, qword [rbp + 0x70]
mov r11, qword [rsp + 0x30]
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x68]
inc rbx
cmp rbx, rsi
jb 0x140066c60
mov r14, qword [rbp + 0x90]
mov r15, qword [r13 + 0x70]
mov r8, qword [rsp + 0x40]
mov ecx, dword [r13 + 0x40]
add r9, r8
movabs rax, 0x1fe35a7bd3579bd3
mov qword [rbp + 0x90], 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 [rbp - 0x78]
mov esi, r13d
mov eax, 0
mov qword [rbp - 0x68], r12
mov edi, r13d
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rax
cmp r13, rsi
jbe 0x140066f71
mov r14d, dword [rdx + 0x50]
mov r13, qword [rbp + 0x70]
mov r12, qword [rbp + 0xa8]
nop dword [rax]
mov rbx, qword [rbp + 0x68]
dec rdi
mov rax, rdi
and rax, r14
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r11
ja 0x140066f64
and rcx, qword [rbp + 0x78]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x78]
ja 0x140066f5b
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x78]
ja 0x140066f5b
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x140066f5b
xor eax, eax
lea r11, [rcx + r13]
mov r8, r12
mov rdx, r9
shr r8, 3
mov ecx, eax
test r8, r8
je 0x140066ece
mov r10, r11
sub r10, r9
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140066f46
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140066eb0
mov r8, r12
and r8d, 7
je 0x140066ef3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140066ef3
inc rcx
sub r8, 1
jne 0x140066ee0
mov rdx, rcx
mov r8, qword [rsp + 0x40]
mov r9, qword [rbp + 0x90]
mov r11, qword [rsp + 0x30]
cmp rdx, 4
jb 0x140066f57
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x38], rax
jae 0x140066f57
mov qword [rsp + 0x38], rax
mov r10, rdx
mov qword [rbp + 0x60], rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x40], rbx
mov qword [rsp + 0x48], rax
jmp 0x140066f5b
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140066ef6
mov r10, qword [rbp + 0x60]
cmp rdi, rsi
ja 0x140066e40
mov r12, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x78]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
mov rcx, qword [rbp + 0x68]
and rax, r13
mov dword [r15 + rax*4], ecx
inc word [r12]
cmp qword [rsp + 0x48], 0x7e4
jne 0x14006729b
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 0x14006729b
imul ebx, dword [r9], 0x1e35a7bd
lea r14, [rcx + 1]
mov r12, qword [rbp + 0x88]
mov rdx, qword [rbp + 0xa8]
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 0x14006713d
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14006713d
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 0x140067055
mov r10, r9
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14006711b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140067030
mov r9, qword [rbp + 0x90]
mov r8, r11
and r8d, 7
je 0x140067074
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r9], al
jne 0x140067074
inc rcx
sub r8, 1
jne 0x140067061
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14006712f
test r9, r9
je 0x14006712f
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r12 + 0x68]
mov r12, qword [rsp + 0x60]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
lea rdx, [r12 + 1]
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x70]
ja 0x14006710b
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x14006710b
mov qword [rsp + 0x48], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x50], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x30], r11d
mov qword [rbp - 0x40], rdx
mov r9, qword [rbp + 0x90]
mov rdx, qword [rbp + 0xa8]
jmp 0x140067142
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140067077
mov rdx, qword [rbp + 0xa8]
mov r9, qword [rbp + 0x90]
mov r12, qword [rsp + 0x60]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x88]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x14006729b
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14006729b
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 0x1400671ce
mov r10, r9
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140067280
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400671b0
mov rsi, qword [rbp + 0x90]
mov r8, r11
and r8d, 7
je 0x1400671f4
nop
movzx eax, byte [rdx]
cmp byte [rcx + rsi], al
jne 0x1400671f4
inc rdx
inc rcx
sub r8, 1
jne 0x1400671e0
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400672a2
test r9, r9
je 0x1400672a2
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, r12
cmp rdx, qword [rbp - 0x70]
ja 0x1400672a2
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jb 0x1400672a2
sub r11d, r9d
mov qword [rsp + 0x50], r9
inc qword [r13 + 0x10]
mov dword [rbp - 0x30], r11d
mov qword [rbp - 0x40], rdx
mov qword [rsp + 0x48], rax
jmp 0x1400672a2
mov rsi, qword [rbp + 0x90]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400671f7
mov rsi, qword [rbp + 0x90]
mov r12, qword [rbp + 0xa8]
mov r13, qword [rbp - 0x78]
mov r15, qword [rbp + 0x68]
cmp r12, 0x20
jb 0x140067446
mov rbx, qword [r13 + 0x88]
cmp rbx, r15
ja 0x140067428
mov r14, qword [rsp + 0x30]
lea rdi, [rbx + 0x20]
mov r15, qword [rbp + 0x70]
nop dword [rax + rax]
mov ecx, dword [r13 + 0x78]
mov r8, rbx
mov eax, dword [r13 + 0x98]
mov r11d, ecx
and r8, qword [rbp + 0x78]
mov rdx, rdi
and rdx, qword [rbp + 0x78]
and r11d, 0x3fffffff
mov r9d, dword [r13 + 0x94]
mov dword [rsp + 0x20], eax
movzx r8d, byte [r8 + r15]
movzx edx, byte [rdx + r15]
call fcn.1400701f0
mov dword [r13 + 0x78], eax
cmp r11d, 0x1000000
jae 0x140067414
mov rax, qword [r13 + 0x80]
mov r8d, dword [rax + r11*4]
mov dword [rax + r11*4], ebx
mov rax, qword [rbp + 0x68]
cmp rbx, rax
jne 0x140067414
mov ecx, 0xffffffff
cmp r8, rcx
je 0x140067414
sub eax, r8d
mov r11d, eax
cmp r11, r14
ja 0x140067414
and r8, qword [rbp + 0x78]
xor eax, eax
mov r9, r12
add r8, r15
shr r9, 3
mov rdx, rsi
mov ecx, eax
test r9, r9
je 0x1400673ae
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x140067435
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140067390
mov r9, r12
and r9d, 7
je 0x1400673d3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r8], al
jne 0x1400673d3
inc rcx
sub r9, 1
jne 0x1400673c0
mov rdx, rcx
cmp rdx, 4
jb 0x140067414
cmp rdx, qword [rsp + 0x50]
jbe 0x140067414
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x48]
jbe 0x140067414
mov qword [rsp + 0x48], rax
xor eax, eax
mov dword [rbp - 0x30], eax
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x40], r11
inc rbx
inc rdi
cmp rbx, qword [rbp + 0x68]
jbe 0x1400672e0
mov r15, qword [rbp + 0x68]
lea rax, [r15 + 1]
mov qword [r13 + 0x88], rax
jmp 0x14006744a
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400673d6
lea rax, [r15 + 1]
cmp qword [rsp + 0x48], 0x7e4
jbe 0x1400681ce
mov rax, qword [rsp + 0x50]
xor edi, edi
mov dword [rbp + 0x90], edi
dec r12
mov r8, qword [rbp + 0x88]
mov qword [rbp + 0xa8], r12
cmp dword [r8 + 4], 5
jge 0x14006748d
dec rax
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x140067490
mov r10, rdi
mov rbx, qword [rbp - 0x20]
lea rdx, [r15 + 1]
mov rax, qword [rbp - 0x60]
cmp rdx, rbx
movsxd rsi, dword [r13 + 0x58]
mov r9, rbx
mov r14, qword [r13 + 0x68]
cmovb r9, rdx
inc rax
mov qword [rsp + 0x30], r10
add rax, r15
mov qword [rsp + 0x70], rdi
mov r15, qword [r13 + 0x70]
cmp rax, rbx
mov rcx, rbx
mov qword [rbp + 0x60], rdx
cmovb rcx, rax
mov qword [rsp + 0x40], r9
mov rax, qword [r8 + 0x50]
mov r11d, 0x7e4
mov qword [rbp - 0x58], rax
mov r8, rdx
mov rax, qword [rbp + 0x78]
mov rbx, rdi
and r8, rax
mov qword [rbp - 0x70], rcx
mov qword [rsp + 0x78], r11
mov ecx, r11d
mov qword [rsp + 0x38], r14
mov qword [rbp - 0x68], r8
mov qword [rsp + 0x68], rdi
mov dword [rbp - 0x80], edi
mov qword [rsp + 0x60], rcx
test rsi, rsi
je 0x1400676a2
mov r15, qword [rbp + 0x70]
mov r14, r8
mov qword [rsp + 0x60], rcx
nop word [rax + rax]
mov rcx, qword [rbp + 0x98]
movsxd rdi, dword [rcx + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x140067683
cmp rdi, r9
ja 0x140067683
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x14006767f
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x78]
ja 0x14006767b
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x14006767b
xor eax, eax
lea r11, [rcx + r15]
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
mov ecx, eax
test r8, r8
je 0x1400675be
mov r10, r11
sub r10, rdx
nop
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140067658
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400675a0
mov r8, r12
and r8d, 7
je 0x1400675e3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400675e3
inc rcx
sub r8, 1
jne 0x1400675d0
mov r8, rcx
cmp r8, 3
jae 0x1400675f7
cmp r8, 2
jne 0x14006766c
cmp rbx, r8
jae 0x14006766c
mov r11, qword [rsp + 0x60]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x14006766c
test rbx, rbx
je 0x140067637
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 0x14006766c
mov qword [rsp + 0x60], r9
mov r10, r8
mov qword [rsp + 0x30], r8
mov r11, r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r9
jmp 0x140067676
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x1400675e6
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x60]
inc rbx
cmp rbx, rsi
jb 0x140067530
mov r13, qword [rbp - 0x78]
xor edi, edi
mov r14, qword [rsp + 0x38]
mov r8, qword [rbp - 0x68]
mov r15, qword [r13 + 0x70]
mov ecx, dword [r13 + 0x40]
movabs rax, 0x1fe35a7bd3579bd3
mov r9, qword [rbp + 0x70]
add r9, r8
mov qword [rsp + 0x38], 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 [rbp - 0x78]
mov esi, r13d
mov qword [rbp - 8], r12
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rdi
mov edi, r13d
cmp r13, rsi
jbe 0x140067865
mov r14d, dword [rdx + 0x50]
mov r13, qword [rbp + 0x60]
mov r12, qword [rsp + 0x40]
nop dword [rax]
nop word [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 0x140067858
and rcx, qword [rbp + 0x78]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x78]
ja 0x14006784f
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x78]
ja 0x14006784f
mov r13, qword [rbp + 0x70]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rbp + 0x60]
jne 0x14006784f
mov r11, qword [rbp + 0x70]
xor eax, eax
add r11, rcx
mov rdx, r9
mov ecx, eax
mov rax, qword [rbp + 0xa8]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400677c5
mov r10, r11
sub r10, r9
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140067834
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400677a0
mov rax, qword [rbp + 0xa8]
mov r8, rax
and r8d, 7
je 0x1400677e4
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400677e4
inc rcx
sub r8, 1
jne 0x1400677d1
mov rdx, rcx
mov r8, qword [rbp - 0x68]
mov r9, qword [rsp + 0x38]
cmp rdx, 4
jb 0x140067845
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x60], rax
jae 0x140067845
mov qword [rsp + 0x60], rax
mov r10, rdx
mov qword [rsp + 0x30], rdx
mov r11, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rax
jmp 0x14006784f
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400677e7
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x30]
cmp rdi, rsi
ja 0x140067720
mov r12, qword [rbp - 8]
mov rdx, qword [rbp - 0x78]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
mov r14, qword [rbp + 0x60]
and rax, r13
mov dword [r15 + rax*4], r14d
inc word [r12]
mov r12, qword [rsp + 0x38]
cmp r11, 0x7e4
jne 0x140067b89
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 0x140067b89
imul ebx, dword [r12], 0x1e35a7bd
lea r14, [rcx + 1]
mov r8, qword [rbp + 0x88]
mov rdx, qword [rbp + 0xa8]
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 0x140067a15
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140067a15
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 0x14006793e
mov r10, r12
sub r10, rdx
mov rax, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rax, r8
jne 0x140067a01
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140067920
mov r8, r11
and r8d, 7
je 0x140067963
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140067963
inc rcx
sub r8, 1
jne 0x140067950
mov r9, rcx
mov rcx, qword [rbp + 0x88]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140067a1b
test r9, r9
je 0x140067a1b
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rbp - 0x70]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rbp - 0x58]
ja 0x140067a1f
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x78]
jb 0x140067a1f
mov qword [rsp + 0x78], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x68], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x80], r11d
mov qword [rsp + 0x70], rdx
jmp 0x140067a1f
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140067966
mov rsi, qword [rbp - 0x70]
jmp 0x140067a26
mov rsi, qword [rbp - 0x70]
mov rdx, qword [rbp + 0xa8]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x88]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x140067b85
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140067b7a
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 0x140067aae
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140067b66
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140067a90
mov r8, r11
and r8d, 7
je 0x140067acc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140067acc
inc rdx
inc rcx
sub r8, 1
jne 0x140067ab7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140067b7a
test r9, r9
je 0x140067b7a
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
mov rsi, qword [rsp + 0x78]
cmp rdx, qword [rbp - 0x58]
ja 0x140067b7f
mov r14, qword [rbp + 0x60]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140067b8e
sub r11d, r9d
mov qword [rsp + 0x68], r9
inc qword [r13 + 0x10]
mov r15, r9
mov dword [rbp - 0x80], r11d
mov rsi, rax
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
jmp 0x140067b93
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140067acf
mov rsi, qword [rsp + 0x78]
mov r14, qword [rbp + 0x60]
jmp 0x140067b8e
mov r14, qword [rbp + 0x60]
mov rsi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x68]
cmp qword [rbp + 0xa8], 0x20
mov r13, qword [rbp - 0x78]
jb 0x140067d12
mov rbx, qword [r13 + 0x88]
cmp rbx, r14
ja 0x140067d07
lea rdi, [rbx + 0x20]
nop dword [rax]
mov eax, dword [r13 + 0x98]
mov r8, rbx
mov ecx, dword [r13 + 0x78]
mov rdx, rdi
and r8, qword [rbp + 0x78]
mov r11d, ecx
and rdx, qword [rbp + 0x78]
and r11d, 0x3fffffff
mov r9d, dword [r13 + 0x94]
mov dword [rsp + 0x20], eax
mov rax, qword [rbp + 0x70]
movzx r8d, byte [r8 + rax]
movzx edx, byte [rdx + rax]
call fcn.1400701f0
mov dword [r13 + 0x78], eax
cmp r11d, 0x1000000
jae 0x140067cee
mov rax, qword [r13 + 0x80]
mov r9d, dword [rax + r11*4]
mov dword [rax + r11*4], ebx
cmp rbx, r14
jne 0x140067cee
mov eax, 0xffffffff
cmp r9, rax
je 0x140067cee
mov r11d, r14d
sub r11d, r9d
cmp r11, qword [rsp + 0x40]
ja 0x140067cee
and r9, qword [rbp + 0x78]
xor eax, eax
mov rcx, qword [rbp + 0xa8]
mov rdx, r12
add r9, qword [rbp + 0x70]
mov r8, rcx
shr r8, 3
test r8, r8
je 0x140067c95
nop dword [rax + rax]
mov r10, qword [rdx]
mov rcx, qword [rax + r9]
cmp r10, rcx
jne 0x140067d80
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140067c70
mov rcx, qword [rbp + 0xa8]
mov r8, rcx
and r8d, 7
je 0x140067cb4
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r9], cl
jne 0x140067cb4
inc rax
sub r8, 1
jne 0x140067ca1
mov rdx, rax
cmp rdx, 4
jb 0x140067cee
cmp rdx, r15
jbe 0x140067cee
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jbe 0x140067cee
mov rsi, rax
mov qword [rsp + 0x70], r11
xor eax, eax
mov r15, rdx
mov dword [rbp - 0x80], eax
inc rbx
inc rdi
cmp rbx, r14
jbe 0x140067bc0
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x68], r15
lea rax, [r14 + 1]
mov qword [r13 + 0x88], rax
mov rax, qword [rsp + 0x48]
add rax, 0xaf
cmp rsi, rax
jb 0x140067d9f
mov ecx, dword [rbp + 0x90]
mov r15, r14
movups xmm0, xmmword [rsp + 0x68]
inc qword [rsp + 0x58]
inc ecx
mov qword [rbp + 0x68], r14
mov dword [rbp + 0x90], ecx
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm1
cmp ecx, 4
jge 0x140067d94
lea rax, [r14 + 8]
cmp rax, qword [rbp - 0x28]
jae 0x140067d94
mov rax, qword [rbp - 0x38]
mov r12, qword [rbp + 0xa8]
mov qword [rsp + 0x48], rax
dec r12
mov rax, qword [rbp - 0x48]
xor edi, edi
mov qword [rsp + 0x50], rax
jmp 0x140067469
xor rcx, r10
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140067cb7
mov r11, qword [rbp - 0x48]
mov qword [rsp + 0x50], r11
jmp 0x140067da8
mov r15, qword [rbp + 0x68]
mov r11, qword [rsp + 0x50]
mov rax, qword [rbp - 0x10]
mov r10, qword [rbp - 0x20]
mov rbx, qword [rbp + 0x98]
mov rdi, qword [rbp - 0x40]
lea r12, [rax + r11*2]
mov rax, qword [rbp - 0x60]
add rax, r15
add r12, r15
cmp rax, r10
mov qword [rbp - 0x58], r12
lea rdx, [rbx + 4]
cmovb r10, rax
cmp rdi, r10
ja 0x140067e62
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 0x140067e01
xor r9d, r9d
mov r8d, r9d
jmp 0x140067e69
cmp rdi, r9
jne 0x140067e0e
mov r8d, 1
jmp 0x140067e66
cmp r8, 7
jae 0x140067e2a
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140067e66
cmp rcx, 7
jae 0x140067e42
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140067e66
movsxd rax, dword [rbx + 8]
cmp rdi, rax
jne 0x140067e53
mov r8d, 2
jmp 0x140067e66
movsxd rax, dword [rbx + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x140067e66
lea r8, [rdi + 0xf]
xor r9d, r9d
cmp rdi, r10
ja 0x140067eda
test r8, r8
je 0x140067eda
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 0x140067eda
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 0x140067eda
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 - 0x50]
mov esi, dword [rbp - 0x30]
mov r12, qword [rsp + 0x58]
movzx eax, sil
shl eax, 0x19
or eax, r11d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov rcx, qword [rbp + 0x88]
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x140067f0f
mov ebx, r9d
jmp 0x140067f88
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 + 0x50]
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 - 0x50]
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 0x140067fb6
movzx r10d, r12w
mov eax, 0x17
jmp 0x140068029
cmp r12, 0x82
jae 0x140067fe2
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 0x140068029
cmp r12, 0x842
jae 0x140068000
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140068029
mov eax, 0x17
cmp r12, 0x1842
jae 0x140068014
lea r10d, [rax - 2]
jmp 0x140068029
cmp r12, 0x5842
jae 0x140068025
mov r10d, 0x16
jmp 0x140068029
movzx r10d, ax
cmp r9, 0xa
jae 0x140068036
sub r9w, 2
jmp 0x140068076
cmp r9, 0x86
jae 0x14006805b
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 0x140068076
cmp r9, 0x846
jae 0x140068072
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140068076
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 0x1400680b3
cmp r10w, 8
jae 0x1400680b3
cmp r9w, 0x10
jae 0x1400680b3
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x1400680e7
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 + 0xb8]
lea rbx, [r15 + 2]
mov rsi, qword [rbp - 0x18]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp - 0x50], r14
lea r14, [r11 + r15]
add qword [rax], r12
xor eax, eax
cmp r14, rsi
mov qword [rsp + 0x58], rax
mov rax, r11
mov qword [rbp + 0x68], r14
cmovb rsi, r14
shr rax, 2
cmp rdi, rax
jae 0x14006814e
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 0x1400681c2
mov r14, qword [rbp + 0x70]
nop word [rax + rax]
mov ecx, dword [r13 + 0x40]
mov rax, rbx
and rax, qword [rbp + 0x78]
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 0x140068160
mov r14, qword [rbp + 0x68]
mov rdi, r14
mov qword [rbp + 0x68], r14
jmp 0x140068347
mov r11, qword [rsp + 0x58]
mov rdi, rax
mov r12, qword [rbp - 0x58]
inc r11
mov qword [rsp + 0x58], r11
mov qword [rbp + 0x68], rax
cmp rax, r12
jbe 0x14006834c
mov rax, qword [rbp - 0x10]
mov rbx, qword [rbp - 0x28]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp rdi, rax
jbe 0x1400682a8
lea rax, [rdi + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp rdi, rbx
jae 0x14006834c
mov rax, rbx
add r11, 4
sub rax, rdi
dec rax
and rax, 0xfffffffffffffffc
add r11, rax
mov qword [rsp + 0x58], r11
nop word [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, rdi
and rax, qword [rbp + 0x78]
mov r8d, dword [r13 + 0x50]
mov rcx, qword [rbp + 0x70]
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]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], edi
add rdi, 4
cmp rdi, rbx
jb 0x140068240
jmp 0x140068343
lea rax, [rdi + 8]
cmp rax, rbx
cmovb rbx, rax
cmp rdi, rbx
jae 0x14006834c
mov rax, rbx
add r11, 2
sub rax, rdi
dec rax
and rax, 0xfffffffffffffffe
add r11, rax
mov qword [rsp + 0x58], r11
nop word [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, rdi
and rax, qword [rbp + 0x78]
mov r8d, dword [r13 + 0x50]
mov rcx, qword [rbp + 0x70]
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]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], edi
add rdi, 2
cmp rdi, rbx
jb 0x1400682e0
mov qword [rbp + 0x68], rdi
mov r11, qword [rsp + 0x58]
mov r12, qword [rbp - 0x28]
lea rax, [rdi + 8]
mov r9, qword [rbp + 0x70]
mov edx, 0
mov r8, qword [rbp + 0x88]
mov rbx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x60]
cmp rax, r12
jb 0x140066bc0
mov r15, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov rsi, qword [rbp - 0x50]
mov rax, qword [rbp + 0xa0]
sub r12, rdi
sub rsi, qword [rbp]
add r12, r11
sar rsi, 4
mov qword [rax], r12
mov rax, qword [rbp + 0xb0]
add qword [rax], rsi
add rsp, 0x128
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret