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

Disassembly:
sub rsp, 0x68
mov r11, qword [rsp + 0x98]
mov eax, dword [r11 + 0x28]
add eax, 0xfffffffe
cmp eax, 0x3f
ja case.0x18007a3e2.14
mov qword [rsp + 0x60], rbx
lea rbx, [0x180000000]
cdqe
movzx eax, byte [rbx + rax + 0x7a4ec]
mov r10d, dword [rbx + rax*4 + 0x7a4b8]
add r10, rbx
mov rbx, qword [rsp + 0x60]
jmp r10
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x18007a530
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x18007b3f0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x18007d3d0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1800838b0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1800875f0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x18007e990
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x180080310
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x180081ae0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x180084e40
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x18007c240
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x180086080
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x180088bd0
add rsp, 0x68
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push r12
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r12, qword [rbp + 0x5f]
mov r15, rdx
mov r10, qword [rbp + 0x77]
mov rax, rcx
mov r14, qword [rbp + 0x7f]
mov edx, 1
mov r11, r9
mov qword [rbp - 0x29], r14
mov ecx, dword [r12 + 8]
mov r9, r8
mov r10, qword [r10]
lea r8, [rax + r15]
shl rdx, cl
mov rcx, qword [r12 + 0x10]
sub rdx, 0x10
mov qword [rbp - 0x79], rdx
mov qword [rbp - 0x71], rcx
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x58], r8
cmp rax, 8
jb 0x18007a5ae
lea rax, [r8 - 7]
mov qword [rbp - 0x49], rax
jmp 0x18007a5b2
mov qword [rbp - 0x49], r15
cmp dword [r12 + 4], 9
mov eax, 0x200
mov ebx, 0x40
cmovl eax, ebx
mov qword [rbp - 0x41], rax
add rax, r15
mov qword [rsp + 8], rax
lea rax, [r15 + 8]
cmp rax, r8
jae 0x18007b3b7
mov qword [rsp + 0xd8], rsi
mov eax, r11d
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], r13
mov dword [rbp + 0x37], eax
mov dword [rsp + 0x50], eax
mov rsi, qword [rbp + 0x67]
lea rax, [rcx + r15]
mov rcx, qword [rbp + 0x3f]
sub r8, r15
cmp r15, rdx
mov qword [rsp], r8
mov r14, rdx
mov qword [rsp + 0x10], 0x7e4
mov rsi, qword [rsi + 0x38]
cmovb r14, r15
cmp rax, rdx
mov dword [rbp - 0x51], 0
mov r13, rdx
cmovb r13, rax
xor eax, eax
mov qword [rsp + 0x18], rax
mov qword [rbp - 0x61], rax
mov rax, qword [r12 + 0x50]
mov r12, r11
and r12, r15
mov qword [rsp + 0x28], rax
add r12, r9
movabs rax, 0xbd1e35a7bd000000
mov rbx, qword [r12]
movzx edi, byte [r12]
imul rbx, rax
mov rax, qword [rbp + 0x6f]
shr rbx, 0x30
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, qword [rbp + 0x3f]
jae 0x18007a763
mov r11d, dword [rbp + 0x37]
and r11, rcx
add r11, r9
cmp dil, byte [r11]
jne 0x18007a763
mov rax, r8
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x18007a6e2
mov r10, r11
sub r10, r12
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rdx + r10]
cmp r9, r8
jne 0x18007a749
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007a6c0
mov r8, qword [rsp]
and r8d, 7
je 0x18007a703
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x18007a703
inc rcx
sub r8, 1
jne 0x18007a6f0
mov rax, rcx
cmp rax, 4
jb 0x18007a75a
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x18007a75a
mov rdi, qword [rsp]
mov r8, rax
mov r12, qword [rbp + 0x5f]
mov qword [rbp - 0x61], r15
mov r15, qword [rbp + 0x3f]
mov dword [rsi + rbx*4], r15d
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x10], rcx
jmp 0x18007a9ed
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x18007a706
mov r10, qword [rsp + 0x20]
mov r9, qword [rbp + 0x47]
mov ecx, dword [rsi + rbx*4]
mov r15, qword [rbp + 0x3f]
mov r11d, ecx
mov eax, dword [rbp + 0x37]
mov dword [rsi + rbx*4], r15d
and r11, rax
add r11, r9
mov rbx, r15
sub rbx, rcx
cmp dil, byte [r11]
jne 0x18007b26b
test rbx, rbx
je 0x18007b26b
cmp rbx, r14
ja 0x18007b26b
mov rdi, qword [rsp]
xor ecx, ecx
mov rax, rdi
mov rdx, r12
shr rax, 3
test rax, rax
je 0x18007a7da
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rdx + r10]
cmp r9, r8
jne 0x18007a83a
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007a7c0
mov r8, rdi
and r8d, 7
je 0x18007a7f9
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x18007a7f9
inc rcx
sub r8, 1
jne 0x18007a7e6
mov rdx, rcx
cmp rdx, 4
jb 0x18007a84b
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x18007a84b
mov r12, qword [rbp + 0x5f]
mov r8, rdx
mov qword [rsp + 0x18], rdx
mov qword [rbp - 0x61], rbx
mov qword [rsp + 0x10], rax
jmp 0x18007a9ed
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x18007a7fc
mov r8, qword [rbp + 0x67]
mov rbx, qword [r8 + 0x30]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x18007b257
imul ecx, dword [r12], 0x1e35a7bd
lea rax, [rdx + 1]
mov r8, qword [rbp + 0x5f]
mov qword [rbx + 8], rax
mov rax, qword [r8 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x18007a9e5
mov rax, qword [r8 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x18007a9e5
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 0x18007a8fe
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x18007a9c4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007a8e0
mov r8, r11
and r8d, 7
je 0x18007a923
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x18007a923
inc rcx
sub r8, 1
jne 0x18007a910
mov r9, rcx
mov r12, qword [rbp + 0x5f]
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007a9df
test r9, r9
je 0x18007a9df
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 0x18007a9df
mov rdi, qword [rsp]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp + 0x10]
add rax, 0x780
cmp rax, rcx
jb 0x18007a9d8
mov qword [rsp + 0x10], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x18], r9
mov qword [rbx + 0x10], rax
mov r8, r9
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
jmp 0x18007a9ed
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007a926
mov r8, qword [rsp + 0x18]
jmp 0x18007a9f2
mov rdi, qword [rsp]
jmp 0x18007a9e8
mov r12, r8
mov r8, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
cmp rcx, 0x7e4
jbe 0x18007b262
mov ebx, dword [rsp + 0x50]
lea rdx, [r15 + 1]
mov qword [rsp + 8], rdx
mov dword [rsp + 0x28], 0
mov dword [rbp + 0x37], ebx
dec rdi
cmp dword [r12 + 4], 5
mov qword [rsp], rdi
jge 0x18007aa36
lea rax, [r8 - 1]
mov r11, rdi
cmp rax, rdi
cmovb r11, rax
jmp 0x18007aa39
xor r11d, r11d
mov r8, qword [rbp - 0x79]
mov rax, qword [rbp - 0x71]
cmp rdx, r8
mov r12, r8
mov qword [rsp + 0x30], r11
cmovb r12, rdx
mov qword [rsp + 0x38], 0
add rax, rdx
mov qword [rsp + 0x40], 0x7e4
cmp rax, r8
mov dword [rsp + 0x48], 0
mov rcx, r8
mov r8, qword [rbp + 0x5f]
cmovb rcx, rax
mov qword [rbp - 0x39], rcx
mov rcx, qword [rbp + 0x4f]
mov rax, qword [r8 + 0x50]
and rcx, rdx
mov r8, qword [rbp + 0x47]
mov rdi, qword [rcx + r8]
lea r13, [rcx + r8]
mov qword [rbp - 0x31], rax
mov rax, qword [rbp + 0x67]
mov rsi, qword [rax + 0x38]
lea rax, [rcx + r11]
movzx r14d, byte [rax + r8]
mov rcx, rdx
movabs rax, 0xbd1e35a7bd000000
imul rdi, rax
mov rax, qword [rbp + 0x6f]
shr rdi, 0x30
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, rdx
jae 0x18007ac31
mov eax, ebx
and rcx, rax
lea rax, [rcx + r11]
cmp r14b, byte [rax + r8]
jne 0x18007ac31
mov rax, qword [rsp]
lea rbx, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x18007ab32
mov r10, rbx
sub r10, r13
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x18007ac1d
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007ab10
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x18007ab52
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x18007ab52
inc rcx
sub r8, 1
jne 0x18007ab40
mov rax, rcx
mov rdx, qword [rsp + 8]
cmp rax, 4
jb 0x18007ac31
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x18007ac31
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], rcx
mov dword [rsi + rdi*4], edx
mov rdi, qword [rsp]
mov r12, qword [rbp + 0x5f]
mov rax, qword [rsp + 0x10]
mov r15, qword [rbp + 0x3f]
add rax, 0xaf
mov r13, qword [rsp + 0x20]
cmp qword [rsp + 0x40], rax
jb 0x18007aec5
mov ecx, dword [rsp + 0x28]
inc r15
movups xmm0, xmmword [rsp + 0x30]
inc ecx
inc rdx
movups xmm1, xmmword [rsp + 0x40]
inc r13
mov qword [rbp + 0x3f], r15
mov qword [rsp + 8], rdx
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x28], ecx
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x18007aeba
lea rax, [rdx + 7]
cmp rax, qword [rsp + 0x58]
jae 0x18007aeba
mov r15, qword [rbp - 0x59]
mov r8, qword [rbp - 0x69]
mov ebx, dword [rbp + 0x37]
mov qword [rsp + 0x10], r15
mov qword [rsp + 0x18], r8
jmp 0x18007aa17
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x18007ab55
mov ecx, dword [rsi + rdi*4]
mov rbx, rdx
mov eax, dword [rbp + 0x37]
mov r8d, ecx
and r8, rax
mov dword [rsi + rdi*4], edx
sub rbx, rcx
mov rcx, qword [rbp + 0x47]
lea rax, [r8 + r11]
cmp r14b, byte [rax + rcx]
jne 0x18007ab91
test rbx, rbx
je 0x18007ab91
mov rdi, qword [rsp]
cmp rbx, r12
ja 0x18007ab95
lea r11, [r8 + rcx]
xor eax, eax
mov r8, rdi
mov rdx, r13
shr r8, 3
test r8, r8
je 0x18007acaa
mov r10, r11
sub r10, r13
nop dword [rax]
mov rcx, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rcx, r9
jne 0x18007ad09
add rdx, 8
add rax, 8
sub r8, 1
jne 0x18007ac90
mov r8, rdi
and r8d, 7
je 0x18007acc9
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x18007acc9
inc rax
sub r8, 1
jne 0x18007acb6
mov rdx, rax
cmp rdx, 4
jb 0x18007ad1a
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x18007ad1a
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 8]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
jmp 0x18007ab95
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x18007accc
mov rax, qword [rbp + 0x67]
mov r12, qword [rbp + 0x5f]
mov rbx, qword [rax + 0x30]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x18007ae8e
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 0x18007ae8e
mov rax, qword [r12 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x18007ae8e
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 0x18007adce
mov r10, r13
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x18007ae98
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007adb0
mov r8, r11
and r8d, 7
je 0x18007adf3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r13], al
jne 0x18007adf3
inc rcx
sub r8, 1
jne 0x18007ade0
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007aeac
test r9, r9
je 0x18007aeac
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 [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x39]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x31]
ja 0x18007aeac
mov rdi, qword [rsp]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x18007ae8e
mov qword [rsp + 0x40], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x30], r9
mov qword [rbx + 0x10], rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 8]
jmp 0x18007ab99
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007adf6
mov rdx, qword [rsp + 8]
mov rdi, qword [rsp]
jmp 0x18007ab99
mov rax, qword [rbp - 0x69]
mov qword [rsp + 0x18], rax
jmp 0x18007aeca
mov rax, qword [rsp + 0x18]
mov r10, qword [rbp - 0x79]
mov rcx, qword [rbp - 0x41]
mov rbx, qword [rbp - 0x61]
lea r11, [rcx + rax*2]
mov rax, qword [rbp - 0x71]
add r11, r15
add rax, r15
cmp rax, r10
mov qword [rsp + 8], r11
mov r11, qword [rbp + 0x6f]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x18007af7b
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 0x18007af1a
xor r8d, r8d
jmp 0x18007af7f
cmp rbx, r9
jne 0x18007af27
mov r8d, 1
jmp 0x18007af7f
cmp r8, 7
jae 0x18007af43
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x18007af7f
cmp rcx, 7
jae 0x18007af5b
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x18007af7f
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x18007af6c
mov r8d, 2
jmp 0x18007af7f
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x18007af7f
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x18007af9f
test r8, r8
je 0x18007af9f
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdx], eax
mov dword [r11], ebx
mov rcx, qword [rbp + 0x7f]
mov esi, dword [rbp - 0x51]
mov r11, qword [rsp + 0x18]
movzx eax, sil
shl eax, 0x19
or eax, r11d
mov dword [rcx], r13d
mov dword [rcx + 4], eax
mov r14d, dword [r12 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x18007afcd
xor edi, edi
jmp 0x18007b047
mov r11d, dword [r12 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x18]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x7f]
lea edx, [r11 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r13, 6
jae 0x18007b075
movzx r10d, r13w
mov ecx, 0x17
jmp 0x18007b0e6
cmp r13, 0x82
jae 0x18007b09f
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x18007b0e6
mov ecx, 0x17
cmp r13, 0x842
jae 0x18007b0bc
lea eax, [r13 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x18007b0e6
cmp r13, 0x1842
jae 0x18007b0cd
mov r10d, 0x15
jmp 0x18007b0e6
mov r10d, 0x16
cmp r13, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp r9, 0xa
jae 0x18007b0f3
sub r9w, 2
jmp 0x18007b133
cmp r9, 0x86
jae 0x18007b118
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 0x18007b133
cmp r9, 0x846
jae 0x18007b12f
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x18007b133
movzx r9d, cx
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x18007b16b
cmp r10w, 8
jae 0x18007b16b
cmp r9w, 0x10
jae 0x18007b16b
cmp r9w, 8
jb 0x18007b19f
or dx, 0x40
jmp 0x18007b19f
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x8f]
xor r10d, r10d
mov r8, qword [rbp - 0x49]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp + 0x7f], r14
lea rdx, [r15 + 2]
add qword [rax], r13
lea rax, [r11 + r15]
cmp rax, r8
mov qword [rsp + 0x20], r10
cmovb r8, rax
mov rax, r11
shr rax, 2
cmp rbx, rax
jae 0x18007b206
lea rax, [rbx*4]
mov rcx, r11
sub rcx, rax
lea rax, [rcx + r15]
cmp rdx, rax
mov eax, 2
cmova rcx, rax
lea rdx, [r15 + rcx]
cmp r8, rdx
cmovb rdx, r8
cmp rdx, r8
jae 0x18007b24b
mov r9, qword [rbp + 0x47]
movabs r14, 0xbd1e35a7bd000000
mov r12, qword [rbp + 0x67]
mov rbx, qword [rbp + 0x4f]
mov rax, rdx
and rax, rbx
mov rcx, qword [rax + r9]
mov rax, qword [r12 + 0x38]
imul rcx, r14
shr rcx, 0x30
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x18007b221
mov r12, qword [rbp + 0x5f]
mov r14, qword [rbp + 0x7f]
add r15, r11
mov qword [rbp + 0x3f], r15
jmp 0x18007b37d
mov r9, qword [rbp + 0x47]
mov r10, qword [rsp + 0x20]
jmp 0x18007b26f
mov r9, qword [rbp + 0x47]
mov r10, qword [rsp + 0x20]
mov r8, qword [rbp + 0x67]
mov r11, qword [rsp + 8]
inc r10
inc r15
mov qword [rsp + 0x20], r10
mov qword [rbp + 0x3f], r15
cmp r15, r11
jbe 0x18007b375
mov rax, qword [rbp - 0x41]
mov rdx, qword [rsp + 0x58]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
mov r11, qword [rbp + 0x4f]
cmp r15, rax
jbe 0x18007b316
lea rax, [r15 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x18007b30c
add r10, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax]
mov rax, r11
and rax, r15
mov rcx, qword [rax + r9]
mov rax, qword [r8 + 0x38]
imul rcx, r10
shr rcx, 0x30
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x18007b2e0
mov r10, qword [rsp + 0x20]
mov qword [rbp + 0x3f], r15
mov r12, qword [rbp + 0x5f]
mov r14, qword [rbp + 0x7f]
jmp 0x18007b381
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x18007b30c
add r10, 2
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax]
mov rax, r11
and rax, r15
mov rcx, qword [rax + r9]
mov rax, qword [r8 + 0x38]
imul rcx, r10
shr rcx, 0x30
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x18007b350
jmp 0x18007b303
mov r12, qword [rbp + 0x5f]
mov r14, qword [rbp + 0x7f]
mov r11, qword [rbp + 0x4f]
mov r8, qword [rsp + 0x58]
lea rax, [r15 + 8]
mov r9, qword [rbp + 0x47]
mov rdx, qword [rbp - 0x79]
mov rcx, qword [rbp - 0x71]
cmp rax, r8
jb 0x18007a600
mov r13, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xd8]
mov rax, qword [rbp + 0x77]
sub r8, r15
sub r14, qword [rbp - 0x29]
add r8, r10
sar r14, 4
mov qword [rax], r8
mov rax, qword [rbp + 0x87]
add qword [rax], r14
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r13
lea rbp, [rsp - 7]
sub rsp, 0xe8
mov r11, qword [rbp + 0x57]
mov rax, rcx
mov r10, qword [rbp + 0x6f]
mov rbx, r9
mov r9, r8
mov r13, rdx
add rdx, rax
mov r8d, 1
mov ecx, dword [r11 + 8]
mov r10, qword [r10]
shl r8, cl
mov rcx, qword [r11 + 0x10]
sub r8, 0x10
mov qword [rbp - 0x31], rcx
mov rcx, qword [rbp + 0x77]
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x79], r8
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x60], rdx
cmp rax, 8
jb 0x18007b469
lea rax, [rdx - 7]
mov qword [rbp - 0x71], rax
jmp 0x18007b46d
mov qword [rbp - 0x71], r13
cmp dword [r11 + 4], 9
mov eax, 0x200
mov edi, 0x40
cmovl eax, edi
mov qword [rbp - 0x69], rax
add rax, r13
mov qword [rsp + 0x20], rax
lea rax, [r13 + 8]
cmp rax, rdx
jae 0x18007c0d8
movdqa xmm4, xmmword [0x180b985c0]
movabs rdi, 0xbd1e35a7bd000000
movdqa xmm3, xmmword [0x180b985d0]
movdqa xmm2, xmm4
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xd0], r14
psllq xmm2, 3
mov qword [rsp + 0xc8], r15
mov dword [rbp + 0x2f], ebx
mov dword [rsp + 0x58], ebx
mov rcx, qword [rbp + 0x37]
mov r10, rdx
mov rax, qword [rbp + 0x5f]
sub r10, r13
cmp rcx, r8
mov qword [rsp], r10
mov r13, r8
mov r15, rbx
cmovb r13, rcx
mov edx, 0x7e4
mov rax, qword [rax + 0x38]
and r15, rcx
movzx r14d, byte [r15 + r9]
lea r8, [r15 + r9]
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov rax, qword [r8]
xor r12d, r12d
imul rax, rdi
mov qword [rsp + 8], r11
mov esi, edx
shr rax, 0x30
mov qword [rbp - 0x49], r11
mov qword [rsp + 0x18], rdx
mov dword [rbp - 0x39], r11d
movq xmm0, rax
mov rax, qword [rbp + 0x67]
punpcklqdq xmm0, xmm0
movsxd rdi, dword [rax]
sub rcx, rdi
cmp rcx, qword [rbp + 0x37]
jae 0x18007b630
mov ebx, dword [rbp + 0x2f]
and rbx, rcx
add rbx, r9
movzx eax, byte [rbx]
cmp r14d, eax
jne 0x18007b630
mov rax, r10
xor ecx, ecx
shr rax, 3
mov rdx, r8
test rax, rax
je 0x18007b5ae
mov r11, rbx
sub r11, r8
nop dword [rax]
mov r10, qword [rdx]
mov r9, qword [rdx + r11]
cmp r10, r9
jne 0x18007b610
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007b590
mov r10, qword [rsp]
mov r9, r10
and r9d, 7
je 0x18007b5d2
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x18007b5d2
inc rcx
sub r9, 1
jne 0x18007b5c0
mov rax, rcx
mov r11, qword [rbp + 0x3f]
cmp rax, 4
jb 0x18007b634
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x18007b634
mov qword [rsp + 8], rax
mov r12, rax
add rax, r15
mov qword [rbp - 0x49], rdi
mov qword [rsp + 0x18], rcx
mov rsi, rcx
movzx r14d, byte [rax + r11]
jmp 0x18007b634
xor r9, r10
mov r10, qword [rsp]
tzcnt rax, r9
shr rax, 3
add rax, rcx
jmp 0x18007b5d5
mov r11, qword [rbp + 0x3f]
mov rdi, qword [rbp + 0x37]
paddq xmm0, xmm2
mov rcx, qword [rsp + 0x30]
mov rax, rdi
shr rax, 3
andps xmm0, xmm3
and eax, 1
movdqu xmmword [rbp - 0x61], xmm0
mov rax, qword [rbp + rax*8 - 0x61]
mov qword [rsp + 0x28], rax
movq rax, xmm0
mov r9d, dword [rcx + rax*4]
mov eax, dword [rbp + 0x2f]
sub rdi, r9
and r9, rax
lea rax, [r9 + r12]
movzx ecx, byte [rax + r11]
cmp r14d, ecx
jne 0x18007b762
test rdi, rdi
je 0x18007b762
cmp rdi, r13
ja 0x18007b762
mov rbx, qword [rbp + 0x3f]
xor ecx, ecx
add rbx, r9
mov rdx, r8
mov r9, r10
shr r9, 3
test r9, r9
je 0x18007b6e2
mov r11, rbx
sub r11, r8
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [rdx + r11]
cmp r10, rax
jne 0x18007b74d
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x18007b6c0
mov r10, qword [rsp]
mov r9, r10
and r9d, 7
je 0x18007b702
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x18007b702
inc rcx
sub r9, 1
jne 0x18007b6f0
mov rdx, rcx
cmp rdx, 4
jb 0x18007b762
bsr eax, edi
imul r9, rdx, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp rsi, r9
jae 0x18007b762
mov r11, qword [rbp + 0x3f]
lea rax, [rdx + r15]
mov r12, rdx
mov qword [rsp + 8], rdx
mov rsi, r9
mov qword [rsp + 0x18], r9
mov r15, r9
mov qword [rbp - 0x49], rdi
movzx r14d, byte [rax + r11]
jmp 0x18007b767
xor rax, r10
mov r10, qword [rsp]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007b705
mov r15, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rbp + 0x37]
mov r9, qword [rbp + 0x3f]
psrldq xmm0, 8
movq rax, xmm0
mov edx, dword [rdi + rax*4]
mov eax, dword [rbp + 0x2f]
sub rbx, rdx
and rdx, rax
lea rax, [rdx + r12]
movzx ecx, byte [rax + r9]
cmp r14d, ecx
jne 0x18007b85f
test rbx, rbx
je 0x18007b85f
cmp rbx, r13
ja 0x18007b85f
mov rax, r10
lea r11, [rdx + r9]
shr rax, 3
xor ecx, ecx
test rax, rax
je 0x18007b7ee
mov r10, r11
sub r10, r8
nop word [rax + rax]
mov r9, qword [r8]
mov rdx, qword [r8 + r10]
cmp r9, rdx
jne 0x18007b84a
add r8, 8
add rcx, 8
sub rax, 1
jne 0x18007b7d0
mov r10, qword [rsp]
mov rdx, r10
and edx, 7
je 0x18007b80c
movzx eax, byte [r8]
cmp byte [rcx + r11], al
jne 0x18007b80c
inc r8
inc rcx
sub rdx, 1
jne 0x18007b7f6
mov r8, rcx
mov r9, qword [rbp + 0x3f]
cmp r8, 4
jb 0x18007b85f
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x18007b85f
mov rcx, r8
mov qword [rsp + 0x18], rax
mov qword [rsp + 8], rcx
mov r15, rax
mov qword [rbp - 0x49], rbx
jmp 0x18007b864
mov r10, qword [rsp]
xor rdx, r9
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x18007b80f
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x28]
mov r13, qword [rbp + 0x37]
mov dword [rdi + rax*4], r13d
lea rdi, [r13 + 1]
mov qword [rsp + 0x28], rdi
cmp r15, 0x7e4
jbe 0x18007c101
mov r11d, dword [rsp + 0x58]
movdqa xmm2, xmm4
psllq xmm2, 3
mov dword [rbp + 0x37], 0
mov dword [rbp + 0x2f], r11d
mov rax, qword [rbp + 0x57]
dec r10
mov qword [rsp], r10
cmp dword [rax + 4], 5
jge 0x18007b8c1
lea rax, [rcx - 1]
mov rsi, r10
cmp rax, r10
cmovb rsi, rax
jmp 0x18007b8c3
xor esi, esi
mov rax, qword [rbp + 0x5f]
mov edx, 0x7e4
mov r12, qword [rbp + 0x47]
movabs rcx, 0xbd1e35a7bd000000
mov qword [rsp + 0x48], rdx
mov r14d, 0x7e4
mov rdx, qword [rbp - 0x79]
mov rax, qword [rax + 0x38]
cmp rdi, rdx
mov qword [rsp + 0x30], rax
cmovb rdx, rdi
mov qword [rsp + 0x38], rsi
and r12, rdi
mov qword [rsp + 0x40], 0
lea r8, [r12 + r9]
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x50], 0
lea rax, [r12 + rsi]
movzx r15d, byte [rax + r9]
mov rax, qword [r8]
mov r9, qword [rsp + 0x28]
imul rax, rcx
shr rax, 0x30
movq xmm0, rax
mov rax, qword [rbp + 0x67]
punpcklqdq xmm0, xmm0
movsxd rdi, dword [rax]
sub r9, rdi
cmp r9, qword [rsp + 0x28]
jae 0x18007ba30
mov eax, r11d
mov r11, qword [rbp + 0x3f]
and r9, rax
lea rax, [r9 + rsi]
movzx ecx, byte [rax + r11]
cmp r15d, ecx
jne 0x18007ba34
mov rbx, r11
xor eax, eax
add rbx, r9
mov rdx, r8
mov r9, r10
shr r9, 3
test r9, r9
je 0x18007b9ae
mov r11, rbx
sub r11, r8
nop dword [rax + rax]
mov rcx, qword [rdx]
mov r10, qword [rdx + r11]
cmp rcx, r10
jne 0x18007ba16
add rdx, 8
add rax, 8
sub r9, 1
jne 0x18007b990
mov r10, qword [rsp]
mov r9, r10
and r9d, 7
je 0x18007b9d2
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + rbx], cl
jne 0x18007b9d2
inc rax
sub r9, 1
jne 0x18007b9c0
mov rcx, rax
mov rdx, qword [rsp + 0x20]
cmp rcx, 4
jb 0x18007ba30
mov r11, qword [rbp + 0x3f]
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, r14
jbe 0x18007ba34
mov qword [rsp + 0x48], rax
mov r14, rax
lea rax, [rcx + r12]
mov qword [rsp + 0x38], rcx
movzx r15d, byte [rax + r11]
mov rsi, rcx
mov qword [rsp + 0x40], rdi
jmp 0x18007ba34
xor rcx, r10
mov r10, qword [rsp]
tzcnt rcx, rcx
shr rcx, 3
add rcx, rax
jmp 0x18007b9d5
mov r11, qword [rbp + 0x3f]
mov rdi, qword [rsp + 0x28]
paddq xmm0, xmm2
mov rcx, qword [rsp + 0x30]
mov rax, rdi
shr rax, 3
andps xmm0, xmm3
and eax, 1
movdqu xmmword [rbp - 0x61], xmm0
mov rax, qword [rbp + rax*8 - 0x61]
mov qword [rbp - 0x61], rax
movq rax, xmm0
mov r9d, dword [rcx + rax*4]
mov eax, dword [rbp + 0x2f]
sub rdi, r9
and r9, rax
lea rax, [r9 + rsi]
movzx ecx, byte [rax + r11]
cmp r15d, ecx
jne 0x18007bb63
test rdi, rdi
je 0x18007bb63
cmp rdi, rdx
ja 0x18007bb63
mov rbx, qword [rbp + 0x3f]
xor ecx, ecx
add rbx, r9
mov rdx, r8
mov r9, r10
shr r9, 3
test r9, r9
je 0x18007bae2
mov r11, rbx
sub r11, r8
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r10, qword [rdx + r11]
cmp rax, r10
jne 0x18007bb4e
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x18007bac0
mov r10, qword [rsp]
mov r9, r10
and r9d, 7
je 0x18007bb02
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x18007bb02
inc rcx
sub r9, 1
jne 0x18007baf0
mov rdx, rcx
cmp rdx, 4
jb 0x18007bb63
bsr eax, edi
imul r9, rdx, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp r14, r9
jae 0x18007bb63
mov r11, qword [rbp + 0x3f]
lea rax, [rdx + r12]
mov rsi, rdx
mov qword [rsp + 0x38], rdx
mov r14, r9
mov qword [rsp + 0x48], r9
mov r12, r9
mov qword [rsp + 0x40], rdi
movzx r15d, byte [rax + r11]
jmp 0x18007bb68
xor rax, r10
mov r10, qword [rsp]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007bb05
mov r12, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
mov r11d, dword [rbp + 0x2f]
mov rbx, rdi
mov r9, qword [rbp + 0x3f]
psrldq xmm0, 8
movq rax, xmm0
mov edx, dword [rcx + rax*4]
sub rbx, rdx
and rdx, r11
lea rax, [rdx + rsi]
movzx ecx, byte [rax + r9]
cmp r15d, ecx
jne 0x18007bc54
test rbx, rbx
je 0x18007bc54
cmp rbx, qword [rsp + 0x20]
ja 0x18007bc54
lea r11, [rdx + r9]
xor ecx, ecx
mov rdx, r10
shr rdx, 3
test rdx, rdx
je 0x18007bbf2
mov r10, r11
sub r10, r8
nop
mov rax, qword [r8]
mov r9, qword [r8 + r10]
cmp rax, r9
jne 0x18007bcc9
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x18007bbd0
mov r10, qword [rsp]
mov rdx, r10
and edx, 7
je 0x18007bc16
nop word [rax + rax]
movzx eax, byte [r8]
cmp byte [rcx + r11], al
jne 0x18007bc16
inc r8
inc rcx
sub rdx, 1
jne 0x18007bc00
mov rdx, rcx
mov r9, qword [rbp + 0x3f]
mov r11d, dword [rbp + 0x2f]
cmp rdx, 4
jb 0x18007bc54
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r14, rax
jae 0x18007bc54
mov qword [rsp + 0x38], rdx
mov r12, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rbp - 0x61]
mov rcx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x10]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x18]
add rax, 0xaf
cmp r12, rax
jb 0x18007bcec
mov ecx, dword [rbp + 0x37]
inc rdi
movups xmm0, xmmword [rsp + 0x38]
inc ecx
inc r15
movups xmm1, xmmword [rsp + 0x48]
inc r13
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x10], r15
mov dword [rbp + 0x37], ecx
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm1
cmp ecx, 4
jge 0x18007bce1
lea rax, [rdi + 7]
cmp rax, qword [rsp + 0x60]
jae 0x18007bce1
mov r15, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x51]
mov qword [rsp + 0x18], r15
mov qword [rsp + 8], rcx
jmp 0x18007b8a0
mov r10, qword [rsp]
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007bc19
mov r12, qword [rbp - 0x51]
mov qword [rsp + 8], r12
jmp 0x18007bcf1
mov r12, qword [rsp + 8]
mov rax, qword [rbp - 0x69]
mov r10, qword [rbp - 0x79]
mov rbx, qword [rbp - 0x49]
lea r11, [rax + r12*2]
mov rax, qword [rbp - 0x31]
add r11, r13
add rax, r13
cmp rax, r10
mov qword [rsp + 0x20], r11
mov r11, qword [rbp + 0x67]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x18007bda2
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 0x18007bd41
xor r8d, r8d
jmp 0x18007bda6
cmp rbx, r9
jne 0x18007bd4e
mov r8d, 1
jmp 0x18007bda6
cmp r8, 7
jae 0x18007bd6a
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x18007bda6
cmp rcx, 7
jae 0x18007bd82
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x18007bda6
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x18007bd93
mov r8d, 2
jmp 0x18007bda6
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x18007bda6
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x18007bdc6
test r8, r8
je 0x18007bdc6
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdx], eax
mov dword [r11], ebx
mov r11, qword [rbp + 0x77]
mov esi, dword [rbp - 0x39]
mov rcx, qword [rbp + 0x57]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [r11], r15d
mov dword [r11 + 4], eax
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x18007bdf3
xor edi, edi
jmp 0x18007be6b
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp + 0x77]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea edx, [r12 + rsi]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r15, 6
jae 0x18007be95
movzx r10d, r15w
mov eax, 0x17
jmp 0x18007bf07
cmp r15, 0x82
jae 0x18007bebf
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 0x18007bf07
cmp r15, 0x842
jae 0x18007bedc
lea eax, [r15 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x18007bf07
mov eax, 0x17
cmp r15, 0x1842
jae 0x18007bef2
mov r10d, 0x15
jmp 0x18007bf07
cmp r15, 0x5842
jae 0x18007bf03
mov r10d, 0x16
jmp 0x18007bf07
movzx r10d, ax
cmp r9, 0xa
jae 0x18007bf14
sub r9w, 2
jmp 0x18007bf54
cmp r9, 0x86
jae 0x18007bf39
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 0x18007bf54
cmp r9, 0x846
jae 0x18007bf50
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x18007bf54
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 0x18007bf8c
cmp r10w, 8
jae 0x18007bf8c
cmp r9w, 0x10
jae 0x18007bf8c
cmp r9w, 8
jb 0x18007bfc0
or dx, 0x40
jmp 0x18007bfc0
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x87]
xor r10d, r10d
mov r8, qword [rbp - 0x71]
mov word [r11 + 0xc], dx
add r11, 0x10
mov qword [rbp + 0x77], r11
lea rdx, [r13 + 2]
add qword [rax], r15
lea rax, [r12 + r13]
cmp rax, r8
mov qword [rsp + 0x10], r10
cmovb r8, rax
mov rax, r12
shr rax, 2
cmp rbx, rax
jae 0x18007c027
lea rax, [rbx*4]
mov rcx, r12
sub rcx, rax
lea rax, [rcx + r13]
cmp rdx, rax
mov eax, 2
cmova rcx, rax
lea rdx, [rcx + r13]
cmp r8, rdx
cmovb rdx, r8
cmp rdx, r8
jae 0x18007c085
mov r11, qword [rbp + 0x3f]
movabs r12, 0xbd1e35a7bd000000
mov r9, qword [rbp + 0x47]
mov r10, qword [rbp + 0x5f]
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
and rax, r9
mov rcx, qword [rax + r11]
mov eax, edx
imul rcx, r12
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [r10 + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x18007c050
mov r10, qword [rsp + 0x10]
mov r12, qword [rsp + 8]
add r13, r12
mov qword [rbp + 0x37], r13
mov rbx, qword [rbp + 0x47]
movabs rdi, 0xbd1e35a7bd000000
mov rdx, qword [rsp + 0x60]
lea rax, [r13 + 8]
mov r9, qword [rbp + 0x3f]
mov r8, qword [rbp - 0x79]
cmp rax, rdx
jb 0x18007b4e2
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x6f]
sub rdx, r13
sub rcx, qword [rbp - 0x29]
add rdx, r10
sar rcx, 4
mov qword [rax], rdx
mov rax, qword [rbp + 0x7f]
add qword [rax], rcx
add rsp, 0xe8
pop r13
pop rdi
pop rbx
pop rbp
ret
mov r10, qword [rsp + 0x10]
mov r13, rdi
mov r11, qword [rsp + 0x20]
inc r10
mov qword [rsp + 0x10], r10
mov qword [rbp + 0x37], rdi
cmp rdi, r11
jbe 0x18007c08c
mov rax, qword [rbp - 0x69]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rbp + 0x47]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp rdi, rax
jbe 0x18007c1bc
lea rax, [rdi + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp rdi, rdx
jae 0x18007c090
add r10, 4
mov rax, rdx
sub rax, rdi
movabs rdi, 0xbd1e35a7bd000000
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x10], r10
mov r10, qword [rbp + 0x5f]
nop dword [rax + rax]
mov rax, rbx
and rax, r13
mov rcx, qword [rax + r9]
mov eax, r13d
imul rcx, rdi
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [r10 + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r13d
add r13, 4
cmp r13, rdx
jb 0x18007c180
mov r10, qword [rsp + 0x10]
mov qword [rbp + 0x37], r13
jmp 0x18007c09a
lea rax, [rdi + 8]
cmp rax, rdx
cmovb rdx, rax
cmp rdi, rdx
jae 0x18007c090
add r10, 2
mov rax, rdx
sub rax, rdi
movabs rdi, 0xbd1e35a7bd000000
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x10], r10
mov r10, qword [rbp + 0x5f]
nop word [rax + rax]
mov rax, rbx
and rax, r13
mov rcx, qword [rax + r9]
mov eax, r13d
imul rcx, rdi
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [r10 + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r13d
add r13, 2
cmp r13, rdx
jb 0x18007c200
mov r10, qword [rsp + 0x10]
mov qword [rbp + 0x37], r13
jmp 0x18007c09a
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov rbx, qword [rbp + 0x57]
mov rax, rcx
mov r10, qword [rbp + 0x6f]
mov r11, r8
mov r8d, 1
mov r15, rdx
add rdx, rax
mov ecx, dword [rbx + 8]
mov r10, qword [r10]
shl r8, cl
mov rcx, qword [rbx + 0x10]
sub r8, 0x10
mov qword [rbp - 0x41], rcx
mov rcx, qword [rbp + 0x77]
mov qword [rbp - 0x39], rcx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x60], rdx
cmp rax, 8
jb 0x18007c2b6
lea rax, [rdx - 7]
mov qword [rbp - 0x51], rax
jmp 0x18007c2ba
mov qword [rbp - 0x51], r15
cmp dword [rbx + 4], 9
mov eax, 0x200
mov edi, 0x40
cmovl eax, edi
mov qword [rbp - 0x49], rax
add rax, r15
mov qword [rsp + 0x30], rax
lea rax, [r15 + 8]
cmp rax, rdx
jae 0x18007d3a4
movdqa xmm4, xmmword [0x180b985c0]
mov eax, r9d
movdqa xmm3, xmmword [0x180b985d0]
movdqa xmm2, xmm4
mov rbx, qword [rbp + 0x5f]
movabs rcx, 0xbd1e35a7bd000000
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xe0], r13
psllq xmm2, 3
mov qword [rsp + 0xd8], r14
mov dword [rbp + 0x2f], eax
mov dword [rsp + 0x5c], eax
nop word [rax + rax]
mov r12, qword [rbp + 0x37]
mov r10, rdx
mov r13, qword [rbx + 0x38]
sub r10, r15
cmp r15, r8
mov qword [rsp + 0x10], r10
mov rdx, r8
mov r14, r9
cmovb rdx, r15
mov r8d, 0x7e4
xor edi, edi
mov qword [rsp + 0x18], rdx
and r14, r15
mov qword [rsp + 0x28], rdi
mov rax, qword [r14 + r11]
lea r9, [r14 + r11]
movzx esi, byte [r9]
xor r15d, r15d
imul rax, rcx
mov rcx, r12
mov qword [rbp - 0x69], rdi
shr rax, 0x30
mov dword [rbp - 0x59], edi
mov edi, r8d
mov qword [rsp], r8
mov qword [rsp + 8], r9
movq xmm0, rax
mov rax, qword [rbp + 0x67]
punpcklqdq xmm0, xmm0
movsxd rbx, dword [rax]
sub rcx, rbx
cmp rcx, r12
jae 0x18007c494
mov eax, dword [rbp + 0x2f]
and rax, rcx
add r11, rax
movzx eax, byte [r11]
cmp esi, eax
jne 0x18007c490
mov r8, r10
xor ecx, ecx
shr r8, 3
mov rdx, r9
test r8, r8
je 0x18007c40f
mov r10, r11
sub r10, r9
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18007c47a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007c3f0
mov r10, qword [rsp + 0x10]
mov r8, r10
and r8d, 7
je 0x18007c433
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x18007c433
inc rcx
sub r8, 1
jne 0x18007c420
mov rax, rcx
mov r9, qword [rsp + 8]
mov rdx, qword [rsp + 0x18]
cmp rax, 4
jb 0x18007c490
mov r11, qword [rbp + 0x3f]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x18007c494
mov qword [rsp + 0x28], rax
mov r15, rax
add rax, r14
mov qword [rbp - 0x69], rbx
mov qword [rsp], rcx
mov rdi, rcx
movzx esi, byte [rax + r11]
jmp 0x18007c494
mov r10, qword [rsp + 0x10]
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x18007c436
mov r11, qword [rbp + 0x3f]
mov rbx, qword [rbp + 0x37]
mov rax, r12
shr rax, 3
paddq xmm0, xmm2
and eax, 1
andps xmm0, xmm3
movdqu xmmword [rsp + 0x70], xmm0
mov r12, qword [rsp + rax*8 + 0x70]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x2f]
sub rbx, r8
and r8, rax
lea rax, [r8 + r15]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x18007c598
test rbx, rbx
je 0x18007c598
cmp rbx, rdx
ja 0x18007c598
add r11, r8
xor ecx, ecx
mov r8, r10
mov rdx, r9
shr r8, 3
test r8, r8
je 0x18007c533
mov r10, r11
sub r10, r9
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x18007c67f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007c510
mov r10, qword [rsp + 0x10]
mov r8, r10
and r8d, 7
je 0x18007c553
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x18007c553
inc rcx
sub r8, 1
jne 0x18007c540
mov rdx, rcx
mov r11, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x18007c598
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x18007c598
lea rax, [rdx + r14]
mov qword [rsp + 0x28], rdx
movzx esi, byte [rax + r11]
mov r15, rdx
mov rdi, r8
mov qword [rsp], r8
mov qword [rbp - 0x69], rbx
mov edx, dword [rbp + 0x2f]
mov rbx, qword [rbp + 0x37]
mov r14, qword [rsp + 8]
psrldq xmm0, 8
movq rax, xmm0
mov ecx, dword [r13 + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rdx + r15]
mov r15, qword [rsp + 0x18]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x18007c6a9
test rbx, rbx
je 0x18007c6a9
cmp rbx, r15
ja 0x18007c6a9
add r11, rdx
mov rax, r10
shr rax, 3
xor edx, edx
mov rcx, r14
test rax, rax
je 0x18007c623
mov r10, r11
sub r10, r14
nop dword [rax + rax]
mov r9, qword [rcx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x18007c698
add rcx, 8
add rdx, 8
sub rax, 1
jne 0x18007c600
mov r10, qword [rsp + 0x10]
mov r8, r10
and r8d, 7
je 0x18007c645
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x18007c645
inc rcx
inc rdx
sub r8, 1
jne 0x18007c630
mov r9, rdx
mov r11, qword [rbp + 0x3f]
cmp r9, 4
jb 0x18007c6a9
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x18007c6a9
mov qword [rsp + 0x28], r9
mov r10, rax
mov qword [rsp], rax
mov qword [rbp - 0x69], rbx
jmp 0x18007c6ad
mov r10, qword [rsp + 0x10]
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007c556
xor r8, r9
tzcnt r9, r8
shr r9, 3
add r9, rdx
jmp 0x18007c648
mov r10, qword [rsp]
mov rax, qword [rbp + 0x37]
mov rdi, qword [rbp + 0x5f]
mov dword [r13 + r12*4], eax
mov r12, rax
mov r13, qword [rsp + 0x10]
test r12b, 3
jne 0x18007c851
cmp r13, 0x20
jb 0x18007c851
mov rbx, qword [rdi + 0x50]
cmp rbx, rax
ja 0x18007c843
lea rsi, [rbx + 0x20]
nop word [rax + rax]
mov r8d, dword [rdi + 0x40]
mov rax, rbx
and rax, qword [rbp + 0x47]
mov r9d, r8d
imul r8d, dword [rdi + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, qword [rbp + 0x47]
inc edx
imul edx, dword [rdi + 0x60]
and rax, rsi
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x40], eax
cmp r9d, 0x1000000
jae 0x18007c832
mov rax, qword [rdi + 0x48]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r12
jne 0x18007c82e
mov eax, 0xffffffff
cmp r10, rax
je 0x18007c82e
mov edi, r12d
sub edi, r10d
cmp rdi, r15
ja 0x18007c82a
and r10, qword [rbp + 0x47]
mov r8, r13
add r10, r11
shr r8, 3
xor ecx, ecx
mov rdx, r14
test r8, r8
je 0x18007c7aa
mov r11, r10
sub r11, r14
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r11]
cmp rax, r9
jne 0x18007c819
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007c790
mov r8, r13
and r8d, 7
je 0x18007c7c9
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x18007c7c9
inc rcx
sub r8, 1
jne 0x18007c7b6
mov rdx, rcx
mov r11, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x18007c82a
mov r10, qword [rsp]
cmp rdx, qword [rsp + 0x28]
jbe 0x18007c813
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r10
jbe 0x18007c813
mov qword [rsp + 0x28], rdx
mov r10, rax
mov qword [rbp - 0x69], rdi
mov qword [rsp], rax
mov dword [rbp - 0x59], 0
mov rdi, qword [rbp + 0x5f]
jmp 0x18007c832
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007c7cc
mov rdi, qword [rbp + 0x5f]
mov r10, qword [rsp]
add rbx, 4
add rsi, 4
cmp rbx, r12
jbe 0x18007c6f0
mov r15, qword [rbp + 0x37]
lea rax, [r15 + 4]
mov qword [rdi + 0x50], rax
jmp 0x18007c855
mov r15, qword [rbp + 0x37]
lea r12, [r15 + 1]
mov qword [rsp + 0x70], r12
cmp r10, 0x7e4
jbe 0x18007d210
mov ecx, dword [rsp + 0x5c]
movdqa xmm2, xmm4
mov rax, qword [rsp + 0x28]
psllq xmm2, 3
mov dword [rsp + 0x58], 0
mov dword [rbp + 0x2f], ecx
mov rdx, qword [rbp + 0x57]
dec r13
mov qword [rsp + 0x10], r13
cmp dword [rdx + 4], 5
jge 0x18007c8a9
dec rax
mov r9, r13
cmp rax, r13
cmovb r9, rax
jmp 0x18007c8ac
xor r9d, r9d
mov r10, qword [rsp + 0x68]
mov r8d, 0x7e4
mov r15, qword [rbp + 0x47]
cmp r12, r10
mov r13, qword [rdi + 0x38]
mov r14, r9
cmovb r10, r12
mov qword [rsp + 0x48], r8
and r15, r12
mov qword [rsp + 0x38], r9
lea rdx, [r15 + r11]
mov qword [rsp + 8], r9
movabs r8, 0xbd1e35a7bd000000
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x30], r10
mov edi, 0x7e4
lea rax, [r15 + r9]
mov qword [rsp + 0x18], rdx
movzx esi, byte [rax + r11]
mov rax, qword [rdx]
imul rax, r8
mov r8, r12
mov dword [rsp + 0x50], 0
shr rax, 0x30
movq xmm0, rax
mov rax, qword [rbp + 0x67]
punpcklqdq xmm0, xmm0
movsxd rbx, dword [rax]
sub r8, rbx
cmp r8, r12
jae 0x18007ca10
mov eax, ecx
and r8, rax
lea rax, [r9 + r8]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x18007ca10
mov rdi, qword [rsp + 0x10]
add r11, r8
mov r8, rdi
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x18007c98e
mov r10, r11
sub r10, rdx
nop
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x18007cc0b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007c970
mov r8, rdi
and r8d, 7
je 0x18007c9b3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x18007c9b3
inc rcx
sub r8, 1
jne 0x18007c9a0
mov rax, rcx
mov r11, qword [rbp + 0x3f]
mov edi, 0x7e4
mov rdx, qword [rsp + 0x18]
mov r10, qword [rsp + 0x30]
cmp rax, 4
jb 0x18007ca10
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x18007ca10
mov qword [rsp + 8], rax
mov r14, rax
mov qword [rsp + 0x38], rax
mov rdi, rcx
add rax, r15
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
movzx esi, byte [rax + r11]
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rbp + 0x2f]
mov rax, r12
mov rbx, qword [rsp + 0x70]
paddq xmm0, xmm2
shr rax, 3
andps xmm0, xmm3
and eax, 1
movdqu xmmword [rbp - 0x31], xmm0
mov r12, qword [rbp + rax*8 - 0x31]
movq rax, xmm0
mov ecx, dword [r13 + rax*4]
and r8, rcx
sub rbx, rcx
lea rax, [r8 + r14]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x18007cb1f
test rbx, rbx
je 0x18007cb1f
cmp rbx, r10
ja 0x18007cb1f
mov rax, qword [rsp + 0x10]
add r11, r8
mov r8, rax
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x18007cab3
mov r10, r11
sub r10, qword [rsp + 0x18]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x18007cc1f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007ca90
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x18007cad3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x18007cad3
inc rcx
sub r8, 1
jne 0x18007cac0
mov rdx, rcx
mov r11, qword [rbp + 0x3f]
cmp rdx, 4
jb 0x18007cb1f
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x18007cb1f
lea rax, [rdx + r15]
mov qword [rsp + 8], rdx
movzx esi, byte [rax + r11]
mov r14, rdx
mov qword [rsp + 0x38], rdx
mov rdi, r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rbx
mov edx, dword [rbp + 0x2f]
mov r15, qword [rsp + 0x70]
psrldq xmm0, 8
mov rbx, r15
movq rax, xmm0
mov ecx, dword [r13 + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rdx + r14]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x18007cc44
test rbx, rbx
je 0x18007cc44
cmp rbx, qword [rsp + 0x30]
ja 0x18007cc44
mov rsi, qword [rsp + 0x10]
add r11, rdx
mov rax, qword [rsp + 0x18]
mov r8, rsi
shr r8, 3
xor edx, edx
mov rcx, rax
test r8, r8
je 0x18007cbae
mov r10, r11
sub r10, rax
nop dword [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x18007cc33
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x18007cb90
mov r8, rsi
and r8d, 7
je 0x18007cbcc
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x18007cbcc
inc rcx
inc rdx
sub r8, 1
jne 0x18007cbb7
mov r8, rdx
mov r11, qword [rbp + 0x3f]
cmp r8, 4
jb 0x18007cc44
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x18007cc44
mov r14, r8
mov qword [rsp + 0x38], r8
mov r10, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
jmp 0x18007cc4e
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x18007c9b6
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007cad6
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x18007cbcf
mov r14, qword [rsp + 8]
mov r10, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x5f]
mov dword [r13 + r12*4], r15d
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x10]
test r12b, 3
jne 0x18007cdf3
cmp r13, 0x20
jb 0x18007cdf3
mov rbx, qword [rdi + 0x50]
cmp rbx, r12
ja 0x18007cdea
mov r15, qword [rbp + 0x47]
lea rsi, [rbx + 0x20]
nop word [rax + rax]
mov r8d, dword [rdi + 0x40]
mov rax, r15
and rax, rbx
mov r9d, r8d
imul r8d, dword [rdi + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, r15
and rax, rsi
inc edx
imul edx, dword [rdi + 0x60]
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x40], eax
cmp r9d, 0x1000000
jae 0x18007cdd9
mov rax, qword [rdi + 0x48]
mov r11d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r12
jne 0x18007cdcb
mov eax, 0xffffffff
cmp r11, rax
je 0x18007cdcb
mov edi, r12d
sub edi, r11d
cmp rdi, qword [rsp + 0x30]
ja 0x18007cdd1
mov rcx, qword [rsp + 0x18]
and r11, r15
add r11, qword [rbp + 0x3f]
mov r8, r13
shr r8, 3
xor eax, eax
mov rdx, rcx
test r8, r8
je 0x18007cd4a
mov r10, r11
sub r10, rcx
nop
mov r9, qword [rdx]
mov rcx, qword [rdx + r10]
cmp r9, rcx
jne 0x18007cdba
add rdx, 8
add rax, 8
sub r8, 1
jne 0x18007cd30
mov r8, r13
and r8d, 7
je 0x18007cd69
sub rdx, rax
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x18007cd69
inc rax
sub r8, 1
jne 0x18007cd56
mov rdx, rax
mov r10, qword [rsp + 0x48]
cmp rdx, 4
jb 0x18007cdd1
cmp rdx, r14
jbe 0x18007cdd1
mov r11, qword [rbp + 0x3f]
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r10
jbe 0x18007cdd5
mov r14, rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rdi
mov r10, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0
jmp 0x18007cdd5
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x18007cd6c
mov r11, qword [rbp + 0x3f]
jmp 0x18007cdd9
mov r11, qword [rbp + 0x3f]
mov rdi, qword [rbp + 0x5f]
add rbx, 4
add rsi, 4
cmp rbx, r12
jbe 0x18007cc90
lea rax, [r12 + 4]
mov qword [rdi + 0x50], rax
mov rax, qword [rsp]
mov r15, qword [rbp + 0x37]
add rax, 0xaf
cmp r10, rax
jb 0x18007ce66
mov ecx, dword [rsp + 0x58]
inc r15
movups xmm0, xmmword [rsp + 0x38]
inc qword [rsp + 0x20]
inc ecx
movups xmm1, xmmword [rsp + 0x48]
inc r12
mov qword [rbp + 0x37], r15
mov qword [rsp + 0x70], r12
mov dword [rsp + 0x58], ecx
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm1
cmp ecx, 4
jge 0x18007ce60
lea rax, [r12 + 7]
cmp rax, qword [rsp + 0x60]
jae 0x18007ce60
mov rax, qword [rbp - 0x61]
mov ecx, dword [rbp + 0x2f]
mov qword [rsp], rax
mov rax, qword [rbp - 0x71]
mov qword [rsp + 0x28], rax
jmp 0x18007c888
mov r12, qword [rbp - 0x71]
jmp 0x18007ce6b
mov r12, qword [rsp + 0x28]
mov rax, qword [rbp - 0x49]
mov r10, qword [rsp + 0x68]
mov rbx, qword [rbp - 0x69]
lea r11, [rax + r12*2]
mov rax, qword [rbp - 0x41]
add r11, r15
add rax, r15
cmp rax, r10
mov qword [rsp + 0x30], r11
mov r11, qword [rbp + 0x67]
cmovb r10, rax
lea rdx, [r11 + 4]
cmp rbx, r10
ja 0x18007cf1d
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 0x18007cebc
xor r8d, r8d
jmp 0x18007cf21
cmp rbx, r9
jne 0x18007cec9
mov r8d, 1
jmp 0x18007cf21
cmp r8, 7
jae 0x18007cee5
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x18007cf21
cmp rcx, 7
jae 0x18007cefd
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x18007cf21
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x18007cf0e
mov r8d, 2
jmp 0x18007cf21
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x18007cf21
lea r8, [rbx + 0xf]
cmp rbx, r10
ja 0x18007cf41
test r8, r8
je 0x18007cf41
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdx], eax
mov dword [r11], ebx
mov r11, qword [rbp + 0x77]
mov esi, dword [rbp - 0x59]
mov rcx, qword [rbp + 0x57]
mov r13, qword [rsp + 0x20]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [r11], r13d
mov dword [r11 + 4], eax
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x18007cf73
xor edi, edi
jmp 0x18007cfeb
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp + 0x77]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea edx, [r12 + rsi]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r13, 6
jae 0x18007d015
movzx r10d, r13w
mov eax, 0x17
jmp 0x18007d087
cmp r13, 0x82
jae 0x18007d03f
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 0x18007d087
cmp r13, 0x842
jae 0x18007d05c
lea eax, [r13 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x18007d087
mov eax, 0x17
cmp r13, 0x1842
jae 0x18007d072
mov r10d, 0x15
jmp 0x18007d087
cmp r13, 0x5842
jae 0x18007d083
mov r10d, 0x16
jmp 0x18007d087
movzx r10d, ax
cmp r9, 0xa
jae 0x18007d094
sub r9w, 2
jmp 0x18007d0d4
cmp r9, 0x86
jae 0x18007d0b9
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 0x18007d0d4
cmp r9, 0x846
jae 0x18007d0d0
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x18007d0d4
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 0x18007d10c
cmp r10w, 8
jae 0x18007d10c
cmp r9w, 0x10
jae 0x18007d10c
cmp r9w, 8
jb 0x18007d140
or dx, 0x40
jmp 0x18007d140
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x87]
xor r10d, r10d
mov r8, qword [rbp - 0x51]
mov word [r11 + 0xc], dx
add r11, 0x10
mov qword [rbp + 0x77], r11
lea rdx, [r15 + 2]
add qword [rax], r13
lea rax, [r12 + r15]
cmp rax, r8
mov qword [rsp + 0x20], r10
cmovb r8, rax
mov rax, r12
shr rax, 2
cmp rbx, rax
jae 0x18007d1a7
lea rax, [rbx*4]
mov rcx, r12
sub rcx, rax
lea rax, [rcx + r15]
cmp rdx, rax
mov eax, 2
cmova rcx, rax
lea rdx, [r15 + rcx]
cmp r8, rdx
cmovb rdx, r8
mov rbx, qword [rbp + 0x5f]
cmp rdx, r8
jae 0x18007d204
mov r9, qword [rbp + 0x3f]
movabs r15, 0xbd1e35a7bd000000
mov r10, qword [rbp + 0x47]
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
and rax, r10
mov rcx, qword [rax + r9]
mov eax, edx
imul rcx, r15
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rbx + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x18007d1d0
mov r15, qword [rbp + 0x37]
mov r10, qword [rsp + 0x20]
add r15, r12
mov qword [rbp + 0x37], r15
jmp 0x18007d357
mov r10, qword [rsp + 0x20]
mov r15, r12
mov r11, qword [rsp + 0x30]
inc r10
mov qword [rsp + 0x20], r10
mov qword [rbp + 0x37], r12
cmp r12, r11
jbe 0x18007d353
mov rax, qword [rbp - 0x49]
mov rdx, qword [rsp + 0x60]
mov r9, qword [rbp + 0x47]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
mov r11, qword [rbp + 0x3f]
cmp r12, rax
jbe 0x18007d2d0
lea rax, [r12 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r12, rdx
jae 0x18007d34d
add r10, 4
mov rax, rdx
sub rax, r12
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax]
mov rax, r9
and rax, r15
mov rcx, qword [rax + r11]
mov eax, r15d
imul rcx, r10
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rdi + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x18007d290
mov rbx, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x20]
mov qword [rbp + 0x37], r15
jmp 0x18007d35f
lea rax, [r12 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r12, rdx
jae 0x18007d34d
add r10, 2
mov rax, rdx
sub rax, r12
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x20], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax]
nop dword [rax + rax]
mov rax, r9
and rax, r15
mov rcx, qword [rax + r11]
mov eax, r15d
imul rcx, r10
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rdi + 0x38]
movzx ecx, cx
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x18007d310
mov rbx, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x20]
mov qword [rbp + 0x37], r15
jmp 0x18007d35f
mov rbx, qword [rbp + 0x5f]
jmp 0x18007d35f
mov rbx, qword [rbp + 0x5f]
mov r9, qword [rbp + 0x47]
mov r11, qword [rbp + 0x3f]
mov rdx, qword [rsp + 0x60]
lea rax, [r15 + 8]
mov r8, qword [rsp + 0x68]
movabs rcx, 0xbd1e35a7bd000000
cmp rax, rdx
jb 0x18007c340
mov r14, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x6f]
sub rdx, r15
sub rcx, qword [rbp - 0x39]
add rdx, r10
sar rcx, 4
mov qword [rax], rdx
mov rax, qword [rbp + 0x7f]
add qword [rax], rcx
add rsp, 0xf8
pop r15
pop rdi
pop rbx
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rax, qword [0x180c61100]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r10, qword [rbp + 0xd8]
mov rax, rcx
mov rcx, qword [rbp + 0xe8]
mov r11, rdx
mov rsi, qword [rbp + 0xc0]
mov rdi, r9
mov r15, qword [rbp + 0xe0]
mov rbx, r8
mov r8, qword [rbp + 0xc8]
mov r13d, 1
mov qword [rsp + 0x18], r9
lea r14, [r11 + rax]
mov r9, qword [rbp + 0xd0]
mov qword [rbp - 0x30], rcx
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0xb8]
mov qword [rbp - 0x20], r9
mov r9, qword [r9]
mov qword [rsp], rbx
mov ecx, dword [rdx + 8]
shl r13, cl
mov rcx, qword [rdx + 0x10]
sub r13, 0x10
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], r10
mov qword [rbp - 0x28], r15
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x18], r10
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x78], r14
cmp rax, 8
jb 0x18007d4a4
lea rax, [r14 - 7]
mov qword [rbp - 0x50], rax
jmp 0x18007d4a8
mov qword [rbp - 0x50], r11
cmp dword [rdx + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x48], rax
add rax, r11
mov qword [rsp + 0x60], rax
lea rax, [r11 + 8]
cmp rax, r14
jae 0x18007e952
movdqa xmm2, xmmword [0x180b985c0]
movdqa xmm3, xmmword [0x180b985e0]
nop dword [rax]
nop dword [rax + rax]
lea rax, [r11 + rcx]
mov qword [rsp + 0x28], 0x7e4
mov r9, r14
mov r15, r13
sub r9, r11
mov rcx, r13
cmp r11, r13
mov qword [rsp + 8], r9
mov r14, rdi
cmovb r15, r11
cmp rax, r13
mov r13, qword [rsp + 0x30]
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
mov rdx, qword [rsp]
xor r10d, r10d
and r14, r11
mov qword [rsp + 0x50], rcx
movsxd r11, dword [r8]
lea r12, [rbx + r14]
movzx edi, byte [r12]
movabs rcx, 0xbd1e35a7bd000000
mov r8, qword [rsp + 0x18]
mov ebx, 0x7e4
mov qword [rbp - 0x78], rax
mov rax, qword [r12]
imul rax, rcx
mov qword [rsp + 0x20], r10
mov rcx, r13
shr rax, 0x2f
sub rcx, r11
mov qword [rbp - 0x68], r10
mov r10, qword [rsi + 0x38]
xor esi, esi
mov qword [rsp + 0x40], r10
mov dword [rbp - 0x58], esi
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r13
jae 0x18007d666
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10]
cmp edi, eax
jne 0x18007d661
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x18007d5df
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x18007d64b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007d5c0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007d603
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x18007d603
inc rcx
sub r8, 1
jne 0x18007d5f0
mov rax, rcx
mov rdx, qword [rsp]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x18]
cmp rax, 4
jb 0x18007d666
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x18007d666
mov qword [rsp + 0x20], rax
mov rsi, rax
add rax, rdx
mov qword [rbp - 0x68], r11
mov qword [rsp + 0x28], rcx
mov rbx, rcx
movzx edi, byte [rax + r14]
jmp 0x18007d666
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x18007d606
mov r10, qword [rsp + 0x40]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 - 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x18007d670
mov r11, qword [rsp + 0x30]
mov rax, r13
shr rax, 3
and eax, 3
mov r13, qword [rbp + rax*8 - 0x10]
mov rax, qword [rbp - 0x10]
mov ecx, dword [r10 + rax*4]
mov r10d, r8d
sub r11, rcx
and r10, rcx
add r10, rdx
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x18007d789
test r11, r11
je 0x18007d789
cmp r11, r15
ja 0x18007d789
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x18007d723
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x18007da21
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007d700
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007d743
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x18007d743
inc rcx
sub r8, 1
jne 0x18007d730
mov rdx, rcx
cmp rdx, 4
jb 0x18007d789
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x18007d789
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rbx, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x68], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 8]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x18007d86b
test r11, r11
je 0x18007d86b
cmp r11, r15
ja 0x18007d86b
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x18007d803
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x18007da3a
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007d7e0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007d825
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x18007d825
inc rdx
inc rcx
sub r8, 1
jne 0x18007d810
mov rdx, rcx
cmp rdx, 4
jb 0x18007d86b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x18007d86b
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rbx, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x68], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x18007d94b
test r11, r11
je 0x18007d94b
cmp r11, r15
ja 0x18007d94b
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x18007d8e3
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x18007da53
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007d8c0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007d905
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x18007d905
inc rdx
inc rcx
sub r8, 1
jne 0x18007d8f0
mov rdx, rcx
cmp rdx, 4
jb 0x18007d94b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x18007d94b
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov rbx, r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x68], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x18]
mov r14, qword [rsp]
mov r11, qword [rsp + 0x30]
mov ecx, dword [rcx + rax*4]
and r10, rcx
sub r11, rcx
add r10, r14
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x18007da85
test r11, r11
je 0x18007da85
cmp r11, r15
ja 0x18007da85
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x18007d9c3
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x18007da6c
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18007d9a0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007d9e5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x18007d9e5
inc rdx
inc rcx
sub r8, 1
jne 0x18007d9d0
mov rdx, rcx
cmp rdx, 4
jb 0x18007da85
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rbx, rax
jae 0x18007da85
mov qword [rsp + 0x20], rdx
mov r15, rax
mov qword [rsp + 0x28], rax
mov qword [rbp - 0x68], r11
jmp 0x18007da8a
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x18007d746
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x18007d828
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x18007d908
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x18007d9e8
mov r15, qword [rsp + 0x28]
mov r8, qword [rsp + 0x10]
mov r10, qword [rsp + 0x38]
cmp r15, 0x7e4
jne 0x18007dc39
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 0x18007dc35
imul ecx, dword [r12], 0x1e35a7bd
lea rax, [rdx + 1]
mov qword [rbx + 8], rax
mov rax, qword [r10 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x18007dc35
mov rax, qword [r10 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, r9
ja 0x18007dc35
mov rdi, qword [r10 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x18007db53
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18007dc17
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007db30
mov r10, qword [rsp + 0x38]
mov r8, r11
and r8d, 7
je 0x18007db73
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x18007db73
inc rcx
sub r8, 1
jne 0x18007db60
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007dc30
test r9, r9
je 0x18007dc30
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r10 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rsp + 0x50]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x78]
ja 0x18007dc30
mov r8, qword [rsp + 0x10]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r15
jb 0x18007dc35
mov qword [rsp + 0x28], rax
mov rcx, r9
mov r15, qword [rsp + 0x28]
lea rax, [r14 + 1]
mov r14, qword [rsp]
sub r11d, r9d
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x58], r11d
mov qword [rbp - 0x68], rdx
jmp 0x18007dc3e
mov r10, qword [rsp + 0x38]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007db76
mov r8, qword [rsp + 0x10]
mov r14, qword [rsp]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
mov dword [rax + r13*4], r11d
cmp r15, 0x7e4
jbe 0x18007e7e7
mov r9, qword [rsp + 8]
xor edi, edi
mov dword [rsp + 0x40], edi
dec r9
cmp dword [r10 + 4], 5
mov qword [rsp + 8], r9
jge 0x18007dc83
lea rax, [rcx - 1]
mov rbx, r9
cmp rax, r9
cmovb rbx, rax
jmp 0x18007dc86
mov rbx, rdi
mov rdx, qword [rsp + 0x58]
lea r10, [r11 + 1]
mov rax, qword [rbp - 0x80]
cmp r10, rdx
mov r15, rdx
mov qword [rbp - 8], rdi
cmovb r15, r10
mov dword [rbp + 8], edi
inc rax
mov qword [rbp - 0x10], rbx
add rax, r11
mov qword [rsp + 0x50], r10
cmp rax, rdx
mov rcx, rdx
mov rdx, qword [rsp + 0x38]
mov r12d, 0x7e4
cmovb rcx, rax
mov qword [rbp], r12
mov qword [rbp - 0x78], rcx
mov edi, r12d
movabs rcx, 0xbd1e35a7bd000000
mov rax, qword [rdx + 0x50]
mov rdx, qword [rsp]
mov qword [rbp - 0x40], rax
mov rax, qword [r8 + 0x38]
mov r8, qword [rsp + 0x18]
mov qword [rsp + 0x60], rax
mov r14, r8
and r14, r10
mov rax, qword [rdx + r14]
lea r13, [rdx + r14]
movzx esi, byte [rbx + r13]
imul rax, rcx
mov rcx, r10
shr rax, 0x2f
movq xmm1, rax
mov rax, qword [rsp + 0x68]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x18007de02
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x18007ddfd
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x18007dd7f
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x18007dde7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007dd60
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007dda3
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x18007dda3
inc rcx
sub r8, 1
jne 0x18007dd90
mov rax, rcx
mov r8, qword [rsp]
mov r10, qword [rsp + 0x50]
cmp rax, 4
jb 0x18007de05
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x18007de05
mov qword [rbp - 0x10], rax
mov rbx, rax
add rax, r8
mov qword [rbp - 8], r11
mov r12, rcx
mov qword [rbp], rcx
mov rdi, rcx
movzx esi, byte [rax + r14]
jmp 0x18007de05
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x18007dda6
mov r10, qword [rsp + 0x50]
mov r8, rdx
xor eax, eax
nop word [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 + 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x18007de10
mov rdx, qword [rsp + 0x60]
mov rax, r10
shr rax, 3
mov r11, r10
mov r10d, dword [rsp + 0x18]
and eax, 3
mov rcx, qword [rbp + rax*8 + 0x10]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rcx
mov ecx, dword [rdx + rax*4]
and r10, rcx
sub r11, rcx
add r10, r8
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x18007df2a
test r11, r11
je 0x18007df2a
cmp r11, r15
ja 0x18007df2a
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x18007dec3
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x18007e346
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007dea0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007dee3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x18007dee3
inc rcx
sub r8, 1
jne 0x18007ded0
mov rdx, rcx
cmp rdx, 4
jb 0x18007df2a
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x18007df2a
mov rax, qword [rsp]
mov rbx, rdx
add rax, rdx
mov qword [rbp - 0x10], rdx
mov rdi, r8
mov qword [rbp], r8
mov r12, r8
mov qword [rbp - 8], r11
movzx esi, byte [rax + r14]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x60]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x50]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x18007e00c
test r11, r11
je 0x18007e00c
cmp r11, r15
ja 0x18007e00c
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x18007dfa3
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x18007e35f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007df80
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007dfc5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x18007dfc5
inc rdx
inc rcx
sub r8, 1
jne 0x18007dfb0
mov rdx, rcx
cmp rdx, 4
jb 0x18007e00c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x18007e00c
mov rax, qword [rsp]
mov rbx, rdx
add rax, rdx
mov qword [rbp - 0x10], rdx
mov rdi, r8
mov qword [rbp], r8
mov r12, r8
mov qword [rbp - 8], r11
movzx esi, byte [rax + r14]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x18007e0ec
test r11, r11
je 0x18007e0ec
cmp r11, r15
ja 0x18007e0ec
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x18007e083
nop
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x18007e378
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007e060
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007e0a5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x18007e0a5
inc rdx
inc rcx
sub r8, 1
jne 0x18007e090
mov rdx, rcx
cmp rdx, 4
jb 0x18007e0ec
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x18007e0ec
mov rax, qword [rsp]
mov rbx, rdx
add rax, rdx
mov qword [rbp - 0x10], rdx
mov rdi, r8
mov qword [rbp], r8
mov r12, r8
mov qword [rbp - 8], r11
movzx esi, byte [rax + r14]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x18]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rbx]
cmp esi, eax
jne 0x18007e1b9
test r11, r11
je 0x18007e1b9
cmp r11, r15
ja 0x18007e1b9
mov rcx, r9
xor eax, eax
shr rcx, 3
mov rdx, r13
test rcx, rcx
je 0x18007e163
nop
mov r9, qword [rdx]
mov r8, qword [rax + r10]
cmp r9, r8
jne 0x18007e391
add rdx, 8
add rax, 8
sub rcx, 1
jne 0x18007e140
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x18007e185
nop dword [rax]
movzx ecx, byte [rdx]
cmp byte [rax + r10], cl
jne 0x18007e185
inc rdx
inc rax
sub r8, 1
jne 0x18007e170
mov rdx, rax
cmp rdx, 4
jb 0x18007e1b9
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x18007e1b9
mov qword [rbp - 0x10], rdx
mov r12, rax
mov qword [rbp], rax
mov qword [rbp - 8], r11
mov r8, qword [rsp + 0x10]
mov r10, qword [rsp + 0x38]
cmp r12, 0x7e4
jne 0x18007e3c8
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 0x18007e3c8
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 0x18007e3c8
mov rax, qword [r10 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, r9
ja 0x18007e3c8
mov rdi, qword [r10 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x18007e283
mov r10, r13
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18007e3aa
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007e260
mov r10, qword [rsp + 0x38]
mov r8, r11
and r8d, 7
je 0x18007e2a3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r13], al
jne 0x18007e2a3
inc rcx
sub r8, 1
jne 0x18007e290
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007e3c3
test r9, r9
je 0x18007e3c3
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r10 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rbp - 0x78]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rbp - 0x40]
ja 0x18007e3c3
mov r8, qword [rsp + 0x10]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x18007e3c8
mov r12, rax
mov qword [rbp], rax
lea rax, [r14 + 1]
mov qword [rbp - 0x10], r9
sub r11d, r9d
mov qword [rbx + 0x10], rax
mov dword [rbp + 8], r11d
mov qword [rbp - 8], rdx
jmp 0x18007e3c8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007dee6
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007dfc8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007e0a8
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rdx, r8
shr rdx, 3
add rdx, rax
jmp 0x18007e188
mov r10, qword [rsp + 0x38]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007e2a6
mov r8, qword [rsp + 0x10]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov dword [rdx + rax*4], ecx
mov rax, qword [rsp + 0x28]
add rax, 0xaf
cmp r12, rax
mov r12, qword [rsp + 0x48]
jb 0x18007e44f
movups xmm0, xmmword [rbp - 0x10]
mov r11, rcx
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x40]
inc r12
movups xmm1, xmmword [rbp]
inc ecx
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x40], ecx
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm1
cmp ecx, 4
jge 0x18007e449
lea rax, [r11 + 8]
cmp rax, qword [rsp + 0x78]
jae 0x18007e449
mov r9, qword [rsp + 8]
mov rax, qword [rbp - 0x60]
dec r9
mov rcx, qword [rbp - 0x70]
xor edi, edi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
jmp 0x18007dc67
mov r15, qword [rbp - 0x70]
jmp 0x18007e459
mov r11, qword [rsp + 0x30]
mov r15, qword [rsp + 0x20]
mov rax, qword [rbp - 0x80]
lea r13, [r11 + r15*2]
add r13, qword [rbp - 0x48]
add rax, r11
mov rbx, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x60], r13
mov r13, qword [rsp + 0x58]
cmp rax, r13
mov r9, r13
cmovb r9, rax
cmp rbx, r9
ja 0x18007e508
movsxd rax, dword [rdi]
lea rcx, [rbx + 3]
movsxd r8, dword [rdi + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x18007e4a8
xor r8d, r8d
jmp 0x18007e50c
cmp rbx, r8
jne 0x18007e4b5
mov r8d, 1
jmp 0x18007e50c
cmp rdx, 7
jae 0x18007e4d0
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x18007e50c
cmp rcx, 7
jae 0x18007e4e8
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x18007e50c
movsxd rax, dword [rdi + 8]
cmp rbx, rax
jne 0x18007e4f9
mov r8d, 2
jmp 0x18007e50c
movsxd rax, dword [rdi + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x18007e50c
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x18007e529
test r8, r8
je 0x18007e529
mov eax, dword [rdi + 8]
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 4]
mov dword [rdi + 8], eax
mov eax, dword [rdi]
mov dword [rdi + 4], eax
mov dword [rdi], ebx
mov rcx, qword [rsp + 0x70]
mov esi, dword [rbp - 0x58]
movzx eax, sil
shl eax, 0x19
or eax, r15d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov r14d, dword [r10 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x18007e552
xor edi, edi
jmp 0x18007e5cb
mov r11d, dword [r10 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x30]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov 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 0x18007e5fa
movzx r10d, r12w
mov eax, 0x17
jmp 0x18007e66f
cmp r12, 0x82
jae 0x18007e626
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 0x18007e66f
cmp r12, 0x842
jae 0x18007e644
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x18007e66f
mov eax, 0x17
cmp r12, 0x1842
jae 0x18007e65a
mov r10d, 0x15
jmp 0x18007e66f
cmp r12, 0x5842
jae 0x18007e66b
mov r10d, 0x16
jmp 0x18007e66f
movzx r10d, ax
cmp r9, 0xa
jae 0x18007e67c
sub r9w, 2
jmp 0x18007e6bc
cmp r9, 0x86
jae 0x18007e6a1
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 0x18007e6bc
cmp r9, 0x846
jae 0x18007e6b8
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x18007e6bc
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 0x18007e6f4
cmp r10w, 8
jae 0x18007e6f4
cmp r9w, 0x10
jae 0x18007e6f4
cmp r9w, 8
jb 0x18007e728
or dx, 0x40
jmp 0x18007e728
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp - 0x30]
xor r9d, r9d
mov r8, qword [rbp - 0x50]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rsp + 0x70], r14
lea rdx, [r11 + 2]
add qword [rax], r12
lea rax, [r11 + r15]
cmp rax, r8
mov qword [rsp + 0x48], r9
cmovb r8, rax
mov rax, r15
shr rax, 2
cmp rbx, rax
jae 0x18007e786
lea rax, [rbx*4]
mov rcx, r11
sub rcx, rax
add rcx, r15
cmp rdx, rcx
cmova rcx, rdx
cmp r8, rcx
mov rdx, rcx
cmovb rdx, r8
mov rsi, qword [rsp + 0x10]
cmp rdx, r8
jae 0x18007e7da
mov r11, qword [rsp]
movabs r13, 0xbd1e35a7bd000000
nop
mov rax, qword [rsp + 0x18]
and rax, rdx
mov rcx, qword [rax + r11]
mov eax, edx
imul rcx, r13
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [rsi + 0x38]
and ecx, 0x1ffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x18007e7a0
mov r11, qword [rsp + 0x30]
mov r13, qword [rsp + 0x58]
add r11, r15
mov qword [rsp + 0x30], r11
jmp 0x18007e920
mov r9, qword [rsp + 0x48]
inc r11
mov r13, qword [rsp + 0x60]
inc r9
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x30], r11
cmp r11, r13
jbe 0x18007e916
mov rax, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x18]
add rdx, 0xfffffffffffffff9
lea rax, [rax*4]
add rax, r13
cmp r11, rax
jbe 0x18007e8a7
lea rax, [r11 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r11, rdx
jae 0x18007e89b
add r9, 4
mov rax, rdx
sub rax, r11
dec rax
and rax, 0xfffffffffffffffc
add r9, rax
mov qword [rsp + 0x48], r9
movabs r9, 0xbd1e35a7bd000000
nop
mov rax, rdi
and rax, r11
mov rcx, qword [rax + r14]
mov eax, r11d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [r8 + 0x38]
and ecx, 0x1ffff
mov dword [rax + rcx*4], r11d
add r11, 4
cmp r11, rdx
jb 0x18007e860
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x30], r11
mov rsi, qword [rsp + 0x10]
mov r13, qword [rsp + 0x58]
jmp 0x18007e925
lea rax, [r11 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r11, rdx
jae 0x18007e89b
add r9, 2
mov rax, rdx
sub rax, r11
dec rax
and rax, 0xfffffffffffffffe
add r9, rax
mov qword [rsp + 0x48], r9
movabs r9, 0xbd1e35a7bd000000
nop word [rax + rax]
mov rax, rdi
and rax, r11
mov rcx, qword [rax + r14]
mov eax, r11d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [r8 + 0x38]
and ecx, 0x1ffff
mov dword [rax + rcx*4], r11d
add r11, 2
cmp r11, rdx
jb 0x18007e8e0
jmp 0x18007e891
mov rsi, qword [rsp + 0x10]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x18]
mov r14, qword [rsp + 0x78]
lea rax, [r11 + 8]
mov rbx, qword [rsp]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x80]
cmp rax, r14
jb 0x18007d4f0
mov r10, qword [rsp + 0x70]
mov r15, qword [rbp - 0x28]
sub r10, qword [rbp - 0x18]
sub r14, r11
mov rax, qword [rbp - 0x20]
add r14, r9
sar r10, 4
mov qword [rax], r14
add qword [r15], r10
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1800b26f0
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xd8
mov r15, qword [rbp + 0x67]
mov r14, rdx
mov rdi, qword [rbp + 0x7f]
mov rax, rcx
mov edx, 1
mov r10, r9
mov ecx, dword [r15 + 8]
mov r11, qword [r15 + 0x10]
lea r12, [rax + r14]
mov rdi, qword [rdi]
shl rdx, cl
mov rcx, qword [rbp + 0x87]
sub rdx, 0x10
mov qword [rbp - 0x41], rdx
mov r9, rcx
mov qword [rbp - 0x39], r11
mov qword [rbp - 0x19], rcx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], r12
cmp rax, 4
jb 0x18007ea11
lea rax, [r12 - 3]
mov qword [rbp - 0x29], rax
jmp 0x18007ea15
mov qword [rbp - 0x29], r14
cmp dword [r15 + 4], 9
mov eax, 0x200
mov ebx, 0x40
cmovl eax, ebx
mov qword [rbp - 0x21], rax
add rax, r14
mov qword [rbp - 0x71], rax
lea rax, [r14 + 4]
cmp rax, r12
jae 0x1800802e1
mov r12, qword [rbp + 0x6f]
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xc8], r13
nop dword [rax]
nop word [rax + rax]
mov rsi, qword [r12 + 0x40]
lea rax, [r11 + r14]
mov r9, qword [rsp + 0x50]
mov rdi, rdx
mov r11, qword [rbp + 0x47]
sub r9, r14
cmp r14, rdx
mov qword [rsp], r9
mov rcx, rdx
mov qword [rbp - 0x59], 0
cmovb rdi, r14
mov qword [rsp + 8], 0x7e4
cmp rax, rdx
mov qword [rbp - 0x69], rdi
mov qword [rsp + 0x10], rsi
cmovb rcx, rax
mov rax, qword [r15 + 0x50]
mov qword [rbp - 0x79], rax
xor r12d, r12d
mov rax, r14
mov qword [rbp + 0x3f], rcx
and rax, r10
xor ecx, ecx
imul r14d, dword [rax + r8], 0x1e35a7bd
lea r13, [rax + r8]
mov qword [rsp + 0x48], rax
mov r15d, 0x7e4
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x18], rcx
mov dword [rbp - 0x49], ecx
shr r14, 0x11
movsxd rbx, dword [rax]
sub r11, rbx
mov qword [rbp - 0x31], r14
cmp r11, qword [rbp + 0x47]
jae 0x18007eb96
cmp rbx, rdi
ja 0x18007eb96
and r11, r10
mov rdx, r13
add r11, r8
mov r8, r9
shr r8, 3
test r8, r8
je 0x18007eb42
mov r10, r11
sub r10, r13
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x18007ee2e
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007eb20
mov r9, qword [rsp]
mov r8, r9
and r8d, 7
je 0x18007eb63
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x18007eb63
inc rcx
sub r8, 1
jne 0x18007eb50
mov rdx, rcx
mov r8, qword [rbp + 0x4f]
cmp rdx, 2
jb 0x18007eb96
imul rax, rdx, 0x87
add rax, 0x78f
cmp rax, r15
jbe 0x18007eb96
mov r15, rax
mov qword [rsp + 0x18], rdx
mov r12, rdx
mov qword [rbp - 0x59], rbx
mov qword [rsp + 8], rax
mov rax, qword [rbp + 0x77]
mov r11, qword [rbp + 0x47]
mov r10, r11
movsxd rbx, dword [rax + 4]
sub r10, rbx
movzx eax, r10w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x18007ec6d
cmp r10, r11
jae 0x18007ec6d
cmp rbx, rdi
ja 0x18007ec6d
and r10, qword [rbp + 0x57]
xor edx, edx
add r10, r8
mov rcx, r13
mov r8, r9
shr r8, 3
test r8, r8
je 0x18007ec12
mov r11, r10
sub r11, r13
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r11]
cmp r9, rax
jne 0x18007ee46
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x18007ebf0
mov r9, qword [rsp]
mov r8, r9
and r8d, 7
je 0x18007ec35
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x18007ec35
inc rcx
inc rdx
sub r8, 1
jne 0x18007ec20
mov rcx, rdx
cmp rcx, 2
jb 0x18007ec6d
imul rax, rcx, 0x87
add rax, 0x78f
cmp r15, rax
jae 0x18007ec6d
add rax, 0xffffffffffffffd9
cmp r15, rax
jae 0x18007ec6d
mov r15, rax
mov qword [rsp + 0x18], rcx
mov r12, rcx
mov qword [rbp - 0x59], rbx
mov qword [rsp + 8], rax
mov rax, qword [rbp + 0x77]
mov r10, qword [rbp + 0x47]
movsxd rbx, dword [rax + 8]
sub r10, rbx
movzx eax, r10w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x18007ed41
cmp r10, qword [rbp + 0x47]
jae 0x18007ed41
cmp rbx, rdi
ja 0x18007ed41
and r10, qword [rbp + 0x57]
mov r8, r9
add r10, qword [rbp + 0x4f]
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x18007ece2
mov r11, r10
sub r11, r13
mov r9, qword [rcx]
mov rax, qword [rcx + r11]
cmp r9, rax
jne 0x18007ee5e
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x18007ecc0
mov r9, qword [rsp]
mov r8, r9
and r8d, 7
je 0x18007ed05
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x18007ed05
inc rcx
inc rdx
sub r8, 1
jne 0x18007ecf0
mov rcx, rdx
cmp rcx, 2
jb 0x18007ed41
imul rdx, rcx, 0x87
lea rax, [rdx + 0x78f]
cmp r15, rax
jae 0x18007ed41
lea rax, [rdx + 0x764]
cmp r15, rax
jae 0x18007ed41
mov r15, rax
mov qword [rsp + 0x18], rcx
mov r12, rcx
mov qword [rbp - 0x59], rbx
mov qword [rsp + 8], rax
mov rax, qword [rbp + 0x77]
mov r10, qword [rbp + 0x47]
movsxd rbx, dword [rax + 0xc]
sub r10, rbx
movzx eax, r10w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x18007ee8e
cmp r10, qword [rbp + 0x47]
jae 0x18007ee8e
cmp rbx, rdi
ja 0x18007ee8e
and r10, qword [rbp + 0x57]
mov r8, r9
add r10, qword [rbp + 0x4f]
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x18007edc2
mov r11, r10
sub r11, r13
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r11]
cmp r9, rax
jne 0x18007ee76
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x18007eda0
mov r9, qword [rsp]
mov r8, r9
and r8d, 7
je 0x18007ede5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x18007ede5
inc rcx
inc rdx
sub r8, 1
jne 0x18007edd0
mov rcx, rdx
cmp rcx, 2
jb 0x18007ee8e
imul rdx, rcx, 0x87
lea rax, [rdx + 0x78f]
cmp r15, rax
jae 0x18007ee8e
lea rax, [rdx + 0x764]
cmp r15, rax
jae 0x18007ee8e
mov r15, rax
mov qword [rsp + 0x18], rcx
mov r12, rcx
mov qword [rbp - 0x59], rbx
mov r11, rax
mov qword [rsp + 8], rax
jmp 0x18007ee93
xor rax, r9
mov r9, qword [rsp]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007eb66
xor rax, r9
mov r9, qword [rsp]
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x18007ec38
xor rax, r9
mov r9, qword [rsp]
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x18007ed08
xor rax, r9
mov r9, qword [rsp]
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x18007ede8
mov r11, qword [rsp + 8]
mov rsi, qword [rbp + 0x6f]
xor ebx, ebx
mov r10, qword [rsp + 0x10]
mov rdi, qword [rsi + 0x38]
mov eax, dword [r10 + r14*4]
mov rsi, qword [rbp + 0x47]
movzx r14d, word [r10 + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x18007efe8
nop
dec rdi
add rbx, rsi
cmp rbx, qword [rbp - 0x69]
ja 0x18007efe8
mov r8, qword [rbp + 0x57]
lea rax, [r10 + r14*4]
mov rcx, qword [rbp + 0x47]
mov rdx, qword [rsp + 0x48]
sub rcx, rbx
movzx r14d, word [rax + 0x40002]
and rcx, r8
movzx esi, word [rax + 0x40000]
add rdx, r12
cmp rdx, r8
ja 0x18007efdf
lea rax, [rcx + r12]
cmp rax, r8
ja 0x18007efdf
mov r8, qword [rbp + 0x4f]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x18007efdf
lea r11, [rcx + r8]
mov rdx, r13
mov r8, r9
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x18007ef5e
mov r10, r11
sub r10, r13
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x18007efc5
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007ef40
mov r9, qword [rsp]
mov r8, r9
and r8d, 7
je 0x18007ef83
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x18007ef83
inc rcx
sub r8, 1
jne 0x18007ef70
mov rdx, rcx
mov r10, qword [rsp + 0x10]
cmp rdx, 4
jb 0x18007efda
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x18007efda
mov r15, rax
mov qword [rsp + 0x18], rdx
mov r12, rdx
mov qword [rbp - 0x59], rbx
mov r11, rax
mov qword [rsp + 8], rax
jmp 0x18007efdf
xor rax, r9
mov r9, qword [rsp]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007ef86
mov r11, qword [rsp + 8]
test rdi, rdi
jne 0x18007eec0
mov r8, qword [rbp - 0x31]
mov esi, 0xffff
mov r14, qword [rbp + 0x47]
mov r12, qword [rbp + 0x6f]
mov rcx, r14
movzx edx, word [r12 + 0x30]
lea eax, [rdx + 1]
mov word [r12 + 0x30], ax
mov eax, dword [r10 + r8*4]
sub rcx, rax
movzx eax, r14w
cmp rcx, rsi
cmova rcx, rsi
mov byte [rax + r10 + 0x30000], r8b
mov word [r10 + rdx*4 + 0x40000], cx
movzx eax, word [r10 + r8*2 + 0x20000]
mov word [r10 + rdx*4 + 0x40002], ax
mov dword [r10 + r8*4], r14d
mov word [r10 + r8*2 + 0x20000], dx
cmp r11, 0x7e4
jne 0x18007f34f
mov r13, qword [r12 + 0x48]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x18007f34b
mov r12, qword [rsp + 0x48]
lea r15, [rcx + 1]
add r12, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x67]
imul ebx, dword [r12], 0x1e35a7bd
mov qword [r13 + 8], r15
mov rax, qword [rdx + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x18007f1e1
mov rax, qword [rdx + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, r9
ja 0x18007f1e1
mov rdi, qword [rdx + 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 0x18007f10e
mov r10, r12
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x18007f1cd
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007f0f0
mov r8, r11
and r8d, 7
je 0x18007f133
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x18007f133
inc rcx
sub r8, 1
jne 0x18007f120
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007f1e1
test r9, r9
je 0x18007f1e1
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 [rbp + 0x3f]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rbp - 0x79]
ja 0x18007f1e5
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 8]
jb 0x18007f1e5
mov qword [rsp + 8], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x18], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], rdx
jmp 0x18007f1e5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007f136
mov rsi, qword [rbp + 0x3f]
lea rax, [r15 + 1]
mov r15, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x18007f33c
mov r11d, ecx
mov rax, qword [r15 + 0x70]
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, qword [rsp]
ja 0x18007f33c
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 0x18007f26e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x18007f328
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007f250
mov r8, r11
and r8d, 7
je 0x18007f28c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x18007f28c
inc rdx
inc rcx
sub r8, 1
jne 0x18007f277
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007f33c
test r9, r9
je 0x18007f33c
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 - 0x79]
ja 0x18007f33c
mov r14, qword [rbp + 0x47]
mov esi, 0xffff
mov r12, qword [rbp + 0x6f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 8]
jb 0x18007f353
sub r11d, r9d
mov qword [rbp - 0x59], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x18], rcx
mov dword [rbp - 0x49], r11d
mov qword [rsp + 8], rax
jmp 0x18007f358
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007f28f
mov r14, qword [rbp + 0x47]
mov esi, 0xffff
mov r12, qword [rbp + 0x6f]
jmp 0x18007f353
mov r14, qword [rbp + 0x47]
mov r15, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x18]
cmp qword [rsp + 8], 0x7e4
jbe 0x180080104
mov r10, qword [rsp]
xor ebx, ebx
mov dword [rbp + 0x3f], ebx
dec r10
cmp dword [r15 + 4], 5
mov qword [rsp], r10
jge 0x18007f38e
lea rax, [rcx - 1]
mov r12, r10
cmp rax, r10
cmovb r12, rax
jmp 0x18007f391
mov r12, rbx
mov rdx, qword [rbp - 0x41]
lea r11, [r14 + 1]
mov rax, qword [rbp - 0x39]
cmp r11, rdx
mov r9, qword [rbp + 0x57]
mov ecx, 0x7e4
mov r8, qword [rbp + 0x4f]
mov r13, rdx
mov rsi, qword [rbp + 0x6f]
cmovb r13, r11
inc rax
mov qword [rsp + 0x30], rcx
add rax, r14
mov qword [rsp + 0x10], r11
cmp rax, rdx
mov qword [rsp + 0x28], rbx
mov rsi, qword [rsi + 0x40]
mov rcx, rdx
cmovb rcx, rax
mov qword [rsp + 0x20], rbx
mov rax, qword [r15 + 0x50]
mov r15d, 0x7e4
mov qword [rbp - 0x71], rax
mov rax, r11
and rax, r9
mov dword [rsp + 0x38], ebx
imul r14d, dword [rax + r8], 0x1e35a7bd
lea rdi, [rax + r8]
mov qword [rbp - 0x79], rax
mov rax, qword [rbp + 0x77]
mov qword [rbp - 0x69], rcx
mov qword [rsp + 0x48], rsi
shr r14, 0x11
movsxd rbx, dword [rax]
sub r11, rbx
mov qword [rbp - 0x31], r14
cmp r11, qword [rsp + 0x10]
jae 0x18007f4db
cmp rbx, r13
ja 0x18007f4db
and r11, r9
xor ecx, ecx
mov r9, r10
add r11, r8
shr r9, 3
mov rdx, rdi
test r9, r9
je 0x18007f482
mov r10, r11
sub r10, rdi
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x18007f777
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x18007f460
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x18007f4a3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x18007f4a3
inc rcx
sub r8, 1
jne 0x18007f490
mov rdx, rcx
mov r8, qword [rbp + 0x4f]
mov r9, qword [rbp + 0x57]
cmp rdx, 2
jb 0x18007f4db
imul rax, rdx, 0x87
add rax, 0x78f
cmp rax, r15
jbe 0x18007f4db
mov r15, rax
mov qword [rsp + 0x20], rdx
mov r12, rdx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rax
mov r11, qword [rbp + 0x77]
movsxd rbx, dword [r11 + 4]
mov r11, qword [rsp + 0x10]
sub r11, rbx
movzx eax, r11w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x18007f5ae
cmp r11, qword [rsp + 0x10]
jae 0x18007f5ae
cmp rbx, r13
ja 0x18007f5ae
and r11, r9
xor edx, edx
mov r9, r10
add r11, r8
shr r9, 3
mov rcx, rdi
test r9, r9
je 0x18007f552
mov r10, r11
sub r10, rdi
nop
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x18007f78f
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x18007f530
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x18007f575
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x18007f575
inc rcx
inc rdx
sub r8, 1
jne 0x18007f560
mov rcx, rdx
cmp rcx, 2
jb 0x18007f5ae
imul rax, rcx, 0x87
add rax, 0x78f
cmp r15, rax
jae 0x18007f5ae
add rax, 0xffffffffffffffd9
cmp r15, rax
jae 0x18007f5ae
mov r15, rax
mov qword [rsp + 0x20], rcx
mov r12, rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x77]
mov r11, qword [rsp + 0x10]
movsxd rbx, dword [rax + 8]
sub r11, rbx
movzx eax, r11w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x18007f692
cmp r11, qword [rsp + 0x10]
jae 0x18007f692
cmp rbx, r13
ja 0x18007f692
and r11, qword [rbp + 0x57]
mov r9, r10
add r11, qword [rbp + 0x4f]
xor edx, edx
shr r9, 3
mov rcx, rdi
test r9, r9
je 0x18007f632
mov r10, r11
sub r10, rdi
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x18007f7a7
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x18007f610
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x18007f655
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x18007f655
inc rcx
inc rdx
sub r8, 1
jne 0x18007f640
mov rcx, rdx
cmp rcx, 2
jb 0x18007f692
imul rdx, rcx, 0x87
lea rax, [rdx + 0x78f]
cmp r15, rax
jae 0x18007f692
lea rax, [rdx + 0x764]
cmp r15, rax
jae 0x18007f692
mov r15, rax
mov qword [rsp + 0x20], rcx
mov r12, rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x77]
mov r11, qword [rsp + 0x10]
mov r10, r11
movsxd rbx, dword [rax + 0xc]
sub r10, rbx
movzx eax, r10w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x18007f7cf
cmp r10, r11
jae 0x18007f7cf
cmp rbx, r13
ja 0x18007f7cf
and r10, qword [rbp + 0x57]
xor edx, edx
mov rsi, qword [rsp]
mov rcx, rdi
add r10, qword [rbp + 0x4f]
mov r8, rsi
shr r8, 3
test r8, r8
je 0x18007f70e
mov r11, r10
sub r11, rdi
nop dword [rax]
mov r9, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r9, rax
jne 0x18007f7bb
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x18007f6f0
mov r8, rsi
and r8d, 7
je 0x18007f72c
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x18007f72c
inc rcx
inc rdx
sub r8, 1
jne 0x18007f717
mov rcx, rdx
mov r11, qword [rsp + 0x10]
cmp rcx, 2
jb 0x18007f7cf
imul rdx, rcx, 0x87
lea rax, [rdx + 0x78f]
cmp r15, rax
jae 0x18007f7cf
lea rax, [rdx + 0x764]
cmp r15, rax
jae 0x18007f7cf
mov r15, rax
mov qword [rsp + 0x20], rcx
mov r12, rcx
mov qword [rsp + 0x28], rbx
mov r9, rax
mov qword [rsp + 0x30], rax
jmp 0x18007f7d4
mov r10, qword [rsp]
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18007f4a6
mov r10, qword [rsp]
xor rax, r8
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x18007f578
xor rax, r8
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x18007f658
xor rax, r9
tzcnt rcx, rax
shr rcx, 3
add rcx, rdx
jmp 0x18007f72f
mov r9, qword [rsp + 0x30]
mov rax, qword [rbp + 0x6f]
mov rsi, r11
mov r10, qword [rsp + 0x48]
xor ebx, ebx
mov rdi, qword [rax + 0x38]
mov eax, dword [r10 + r14*4]
movzx r14d, word [r10 + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x18007f93a
nop
dec rdi
add rbx, rsi
cmp rbx, r13
ja 0x18007f93a
mov r8, qword [rbp + 0x57]
lea rax, [r10 + r14*4]
mov r9, qword [rbp - 0x79]
mov rcx, r11
movzx r14d, word [rax + 0x40002]
sub rcx, rbx
movzx esi, word [rax + 0x40000]
and rcx, r8
lea rdx, [r12 + r9]
cmp rdx, r8
ja 0x18007f92c
lea rax, [rcx + r12]
cmp rax, r8
ja 0x18007f92c
mov r8, qword [rbp + 0x4f]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x18007f92c
mov rax, r8
lea r8, [r9 + rax]
lea r11, [rcx + rax]
mov rdx, r8
mov rcx, qword [rsp]
xor eax, eax
mov r9, rcx
shr r9, 3
test r9, r9
je 0x18007f8ae
mov r10, r11
sub r10, r8
nop word [rax + rax]
mov rcx, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rcx, r8
jne 0x18007f91b
add rdx, 8
add rax, 8
sub r9, 1
jne 0x18007f890
mov rcx, qword [rsp]
mov r8, rcx
and r8d, 7
je 0x18007f8d3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x18007f8d3
inc rax
sub r8, 1
jne 0x18007f8c0
mov rdx, rax
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x10]
cmp rdx, 4
jb 0x18007f92c
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x18007f92c
mov r15, rax
mov qword [rsp + 0x20], rdx
mov r12, rdx
mov qword [rsp + 0x28], rbx
mov r9, rax
mov qword [rsp + 0x30], rax
jmp 0x18007f931
xor rcx, r8
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x18007f8d6
mov r9, qword [rsp + 0x30]
test rdi, rdi
jne 0x18007f800
mov r8, qword [rbp - 0x31]
mov esi, 0xffff
mov r12, qword [rbp + 0x6f]
mov rcx, r11
movzx edx, word [r12 + 0x30]
lea eax, [rdx + 1]
mov word [r12 + 0x30], ax
mov eax, dword [r10 + r8*4]
sub rcx, rax
movzx eax, r11w
cmp rcx, rsi
cmova rcx, rsi
mov byte [rax + r10 + 0x30000], r8b
mov word [r10 + rdx*4 + 0x40000], cx
movzx eax, word [r10 + r8*2 + 0x20000]
mov word [r10 + rdx*4 + 0x40002], ax
mov dword [r10 + r8*4], r11d
mov word [r10 + r8*2 + 0x20000], dx
cmp r9, 0x7e4
jne 0x18007fc97
mov r13, qword [r12 + 0x48]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x18007fc97
mov r12, qword [rbp - 0x79]
lea r15, [rcx + 1]
add r12, qword [rbp + 0x4f]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rsp]
imul ebx, dword [r12], 0x1e35a7bd
mov qword [r13 + 8], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x18007fb38
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x18007fb38
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 0x18007fa5e
mov r10, r12
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18007fb24
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007fa40
mov r8, r11
and r8d, 7
je 0x18007fa83
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x18007fa83
inc rcx
sub r8, 1
jne 0x18007fa70
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007fb3f
test r9, r9
je 0x18007fb3f
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 - 0x69]
shl rax, cl
inc rdx
add rax, rsi
mov rsi, qword [rsp + 0x30]
add rdx, rax
cmp rdx, qword [rbp - 0x71]
ja 0x18007fb44
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x18007fb44
mov rsi, rax
mov qword [rsp + 0x30], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x20], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x38], r11d
mov qword [rsp + 0x28], rdx
jmp 0x18007fb44
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007fa86
mov rsi, qword [rsp + 0x30]
jmp 0x18007fb48
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsp]
lea rax, [r15 + 1]
mov r15, qword [rbp + 0x67]
mov qword [r13 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x18007fc9d
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x18007fc9d
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 0x18007fbce
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18007fc83
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x18007fbb0
mov r8, r11
and r8d, 7
je 0x18007fbec
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x18007fbec
inc rdx
inc rcx
sub r8, 1
jne 0x18007fbd7
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18007fc9d
test r9, r9
je 0x18007fc9d
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 - 0x69]
shl rax, cl
inc rdx
add rax, rdi
add rdx, rax
cmp rdx, qword [rbp - 0x71]
ja 0x18007fc9d
mov r12, qword [rbp + 0x6f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x18007fca1
sub r11d, r9d
mov qword [rsp + 0x20], r9
inc qword [r13 + 0x10]
mov rcx, rax
mov dword [rsp + 0x38], r11d
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
jmp 0x18007fca6
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18007fbef
mov r15, qword [rbp + 0x67]
jmp 0x18007fca1
mov r12, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 8]
mov r11, qword [rsp + 0x40]
add rax, 0xaf
cmp rcx, rax
jb 0x18007fd1c
mov ecx, dword [rbp + 0x3f]
inc r11
movups xmm0, xmmword [rsp + 0x20]
mov r14, qword [rsp + 0x10]
inc ecx
mov qword [rbp + 0x47], r14
mov qword [rsp + 0x40], r11
mov dword [rbp + 0x3f], ecx
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x18007fd16
lea rax, [r14 + 4]
cmp rax, qword [rsp + 0x50]
jae 0x18007fd16
mov r10, qword [rsp]
mov r13, qword [rbp - 0x51]
dec r10
mov rcx, qword [rbp - 0x61]
xor ebx, ebx
mov qword [rsp + 8], r13
mov qword [rsp + 0x18], rcx
jmp 0x18007f373
mov r13, qword [rbp - 0x61]
jmp 0x18007fd25
mov r14, qword [rbp + 0x47]
mov r13, qword [rsp + 0x18]
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x41]
mov rbx, qword [rbp - 0x59]
mov r10, qword [rbp + 0x77]
lea r15, [rax + r13*2]
mov rax, qword [rbp - 0x39]
add rax, r14
add r15, r14
cmp rax, r9
mov qword [rbp - 0x71], r15
cmovb r9, rax
cmp rbx, r9
ja 0x18007fdd1
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 0x18007fd71
xor r8d, r8d
jmp 0x18007fdd5
cmp rbx, r8
jne 0x18007fd7e
mov r8d, 1
jmp 0x18007fdd5
cmp rdx, 7
jae 0x18007fd99
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x18007fdd5
cmp rcx, 7
jae 0x18007fdb1
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x18007fdd5
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x18007fdc2
mov r8d, 2
jmp 0x18007fdd5
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x18007fdd5
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x18007fdf9
test r8, r8
je 0x18007fdf9
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov dword [r10], ebx
mov rcx, qword [rbp + 0x87]
mov esi, dword [rbp - 0x49]
mov r15, qword [rbp + 0x67]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r15 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x18007fe28
xor edi, edi
jmp 0x18007fea1
mov r11d, dword [r15 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov 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 [rbp + 0x87]
lea edx, [rsi + r13]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], edi
cmp r11, 6
jae 0x18007fed2
movzx r10d, r11w
mov eax, 0x17
jmp 0x18007ff44
cmp r11, 0x82
jae 0x18007fefc
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 0x18007ff44
cmp r11, 0x842
jae 0x18007ff19
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x18007ff44
mov eax, 0x17
cmp r11, 0x1842
jae 0x18007ff2f
mov r10d, 0x15
jmp 0x18007ff44
cmp r11, 0x5842
jae 0x18007ff40
mov r10d, 0x16
jmp 0x18007ff44
movzx r10d, ax
cmp r9, 0xa
jae 0x18007ff51
sub r9w, 2
jmp 0x18007ff91
cmp r9, 0x86
jae 0x18007ff76
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 0x18007ff91
cmp r9, 0x846
jae 0x18007ff8d
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x18007ff91
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 0x18007ffc9
cmp r10w, 8
jae 0x18007ffc9
cmp r9w, 0x10
jae 0x18007ffc9
cmp r9w, 8
jb 0x18007fffd
or dx, 0x40
jmp 0x18007fffd
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]
xor edi, edi
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp + 0x87], r14
mov r14, qword [rbp + 0x47]
add qword [rax], r11
mov r11, qword [rbp - 0x29]
mov qword [rsp + 0x40], rdi
lea rax, [r14 + r13]
cmp rax, r11
lea r10, [r14 + 2]
cmovb r11, rax
mov rax, r13
shr rax, 2
cmp rbx, rax
jae 0x18008006a
lea rax, [rbx*4]
mov rcx, r13
sub rcx, rax
lea rax, [rcx + r14]
cmp r10, rax
mov eax, 2
cmova rcx, rax
lea r10, [r14 + rcx]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x1800800f8
mov r14, qword [rbp + 0x4f]
mov esi, 0xffff
mov rbx, qword [rbp + 0x57]
mov r9, qword [r12 + 0x40]
mov rax, r10
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, r10
imul edx, dword [rax + r14], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r10w
cmp rcx, rsi
cmova rcx, rsi
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r10d
inc r10
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r10, r11
jb 0x180080080
mov r14, qword [rbp + 0x47]
add r14, r13
mov qword [rbp + 0x47], r14
jmp 0x1800802a2
mov rdi, qword [rsp + 0x40]
inc r14
mov r15, qword [rbp - 0x71]
inc rdi
mov qword [rsp + 0x40], rdi
mov qword [rbp + 0x47], r14
cmp r14, r15
jbe 0x18008029e
mov rax, qword [rbp - 0x21]
mov r10, qword [rsp + 0x50]
lea rax, [r15 + rax*4]
cmp r14, rax
jbe 0x1800801ed
add r10, 0xfffffffffffffffc
lea rax, [r14 + 0x10]
cmp rax, r10
cmovb r10, rax
cmp r14, r10
jae 0x18008029e
mov rbx, qword [rbp + 0x57]
mov rax, r10
sub rax, r14
add rdi, 4
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rsp + 0x40], rdi
mov r9, qword [r12 + 0x40]
mov rax, r14
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, qword [rbp + 0x4f]
imul edx, dword [rax + rcx], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
mov rcx, r14
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r14w
cmp rcx, rsi
cmova rcx, rsi
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r14d
add r14, 4
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r14, r10
jb 0x180080170
jmp 0x18008029a
add r10, 0xfffffffffffffffd
lea rax, [r14 + 8]
cmp rax, r10
cmovb r10, rax
cmp r14, r10
jae 0x18008029e
mov rbx, qword [rbp + 0x57]
mov rax, r10
sub rax, r14
add rdi, 2
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rsp + 0x40], rdi
mov r9, qword [r12 + 0x40]
mov rax, r14
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, qword [rbp + 0x4f]
imul edx, dword [rax + rcx], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
mov rcx, r14
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r14w
cmp rcx, rsi
cmova rcx, rsi
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r14d
add r14, 2
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r14, r10
jb 0x180080222
mov qword [rbp + 0x47], r14
mov r15, qword [rbp + 0x67]
mov r8, qword [rbp + 0x4f]
lea rax, [r14 + 4]
mov r10, qword [rbp + 0x57]
mov rdx, qword [rbp - 0x41]
mov r11, qword [rbp - 0x39]
cmp rax, qword [rsp + 0x50]
jb 0x18007ea60
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x50]
mov rcx, qword [rbp + 0x87]
mov r9, qword [rbp - 0x19]
mov rax, qword [rbp + 0x7f]
sub r12, r14
add r12, rdi
sub rcx, r9
sar rcx, 4
mov qword [rax], r12
mov rax, qword [rbp + 0x8f]
add qword [rax], rcx
add rsp, 0xd8
pop r15
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov r15, qword [rbp + 0x67]
mov rax, rcx
mov rsi, qword [rbp + 0x7f]
mov r11d, 1
mov r10, r9
mov rdi, rdx
add rdx, rax
mov r9, r8
mov ecx, dword [r15 + 8]
mov r14, qword [r15 + 0x10]
mov r8, qword [rbp + 0x87]
mov rsi, qword [rsi]
shl r11, cl
sub r11, 0x10
mov qword [rbp - 0x69], r14
mov qword [rbp - 0x71], r11
mov qword [rbp - 0x21], r8
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x68], rdx
cmp rax, 4
jb 0x18008038f
lea rax, [rdx - 3]
mov qword [rbp - 0x39], rax
jmp 0x180080393
mov qword [rbp - 0x39], rdi
cmp dword [r15 + 4], 9
mov ecx, 0x40
mov rbx, qword [rbp + 0x77]
mov eax, 0x200
cmovl eax, ecx
mov qword [rbp - 0x31], rax
add rax, rdi
mov qword [rsp + 0x60], 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, [rdi + 4]
cmp rax, rdx
jae 0x180081aac
mov qword [rsp + 0xf0], r12
lea rax, [rbx + 4]
mov r12, qword [rbp + 0x6f]
mov qword [rbp - 0x79], rax
mov qword [rsp + 0xe8], r13
mov rsi, qword [r12 + 0x40]
lea rax, [r14 + rdi]
mov r8, rdx
mov qword [rbp - 0x51], 0
sub r8, rdi
mov qword [rsp + 8], 0x7e4
cmp rdi, r11
mov qword [rsp], r8
mov rcx, r11
mov qword [rsp + 0x28], rsi
cmovb rcx, rdi
mov qword [rsp + 0x10], 0
cmp rax, r11
mov qword [rbp + 0x3f], rcx
mov rdx, r11
mov dword [rbp - 0x41], 0
mov r11, qword [rbp + 0x47]
cmovb rdx, rax
mov rax, qword [r15 + 0x50]
mov r15d, 0x7e4
mov qword [rsp + 0x58], rax
lea rax, [rsi + 0x40000]
mov qword [rsp + 0x70], rax
mov rax, rdi
and rax, r10
mov qword [rsp + 0x18], rdx
imul r14d, dword [rax + r9], 0x1e35a7bd
lea r12, [rax + r9]
xor edi, edi
mov qword [rsp + 0x50], rax
shr r14, 0x11
mov qword [rbp - 0x61], r14
xor r13d, r13d
jmp 0x1800804a4
mov r10, qword [rbp + 0x57]
movsxd rbx, dword [rbx + rdi*4]
sub r11, rbx
test rdi, rdi
je 0x1800804c2
movzx eax, r11w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x1800805a8
cmp r11, qword [rbp + 0x47]
jae 0x1800805a8
cmp rbx, rcx
ja 0x1800805a8
and r11, r10
xor ecx, ecx
add r11, r9
mov rdx, r12
mov r9, r8
shr r9, 3
test r9, r9
je 0x180080522
mov r10, r11
sub r10, r12
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x1800806be
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x180080500
mov r8, qword [rsp]
and r8d, 7
je 0x180080543
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180080543
inc rcx
sub r8, 1
jne 0x180080530
mov r8, rcx
cmp r8, 2
jb 0x18008059c
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x18008059c
test rdi, rdi
je 0x180080588
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r15, r9
jae 0x18008059c
mov r15, r9
mov qword [rsp + 0x10], r8
mov r13, r8
mov qword [rbp - 0x51], rbx
mov qword [rsp + 8], r9
mov r9, qword [rbp + 0x4f]
mov r8, qword [rsp]
mov rcx, qword [rbp + 0x3f]
mov rax, qword [rbp - 0x79]
mov r11, qword [rbp + 0x47]
mov r10, r11
movsxd rbx, dword [rax + rdi*4]
lea rax, [rdi + 1]
sub r10, rbx
test rax, rax
je 0x1800805d5
movzx eax, r10w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x1800806ea
cmp r10, r11
jae 0x1800806ea
cmp rbx, rcx
ja 0x1800806ea
and r10, qword [rbp + 0x57]
xor edx, edx
add r10, r9
mov rcx, r12
mov r9, r8
shr r9, 3
test r9, r9
je 0x180080632
mov r11, r10
sub r11, r12
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x1800806d2
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x180080610
mov r8, qword [rsp]
and r8d, 7
je 0x180080655
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x180080655
inc rcx
inc rdx
sub r8, 1
jne 0x180080640
mov r8, rdx
cmp r8, 2
jb 0x1800806e6
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x1800806e6
lea rax, [rdi + 1]
test rax, rax
je 0x1800806a1
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r15, r9
jae 0x1800806e6
mov r11, qword [rbp + 0x47]
mov r15, r9
mov r13, r8
mov qword [rsp + 0x10], r8
mov qword [rbp - 0x51], rbx
mov r10, r9
mov qword [rsp + 8], r9
jmp 0x1800806ef
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180080546
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180080658
mov r11, qword [rbp + 0x47]
mov r10, qword [rsp + 8]
mov rcx, qword [rbp + 0x3f]
add rdi, 2
mov r8, qword [rsp]
mov r9, qword [rbp + 0x4f]
mov rbx, qword [rbp + 0x77]
cmp rdi, 0xa
jb 0x1800804a0
mov rax, qword [rbp + 0x6f]
xor ebx, ebx
mov r9, qword [rsp + 0x28]
mov rdi, qword [rax + 0x38]
mov eax, dword [rsi + r14*4]
mov rsi, r11
movzx r14d, word [r9 + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x180080868
nop dword [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rbp + 0x3f]
ja 0x180080863
mov r8, qword [rbp + 0x57]
mov rcx, r11
mov rax, qword [rsp + 0x70]
sub rcx, rbx
mov rdx, qword [rsp + 0x50]
lea rax, [rax + r14*4]
movzx r14d, word [rax + 2]
and rcx, r8
movzx esi, word [rax]
add rdx, r13
cmp rdx, r8
ja 0x18008085a
lea rax, [rcx + r13]
cmp rax, r8
ja 0x18008085a
mov r8, qword [rbp + 0x4f]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x18008085a
mov rax, qword [rsp]
lea r11, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r12
test r8, r8
je 0x1800807de
mov r10, r11
sub r10, r12
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180080844
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800807c0
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x180080803
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180080803
inc rcx
sub r8, 1
jne 0x1800807f0
mov rdx, rcx
mov r11, qword [rbp + 0x47]
cmp rdx, 4
jb 0x180080855
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x180080855
mov r15, rax
mov qword [rsp + 0x10], rdx
mov r13, rdx
mov qword [rbp - 0x51], rbx
mov r10, rax
mov qword [rsp + 8], rax
jmp 0x18008085a
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x180080806
mov r10, qword [rsp + 8]
test rdi, rdi
jne 0x180080740
mov r9, qword [rsp + 0x28]
mov r8, qword [rbp - 0x61]
mov r14d, 0xffff
mov rdi, qword [rbp + 0x47]
mov r12, qword [rbp + 0x6f]
mov rcx, rdi
movzx edx, word [r12 + 0x30]
lea eax, [rdx + 1]
mov word [r12 + 0x30], ax
mov eax, dword [r9 + r8*4]
sub rcx, rax
movzx eax, di
cmp rcx, r14
cmova rcx, r14
mov byte [rax + r9 + 0x30000], r8b
mov word [r9 + rdx*4 + 0x40000], cx
movzx eax, word [r9 + r8*2 + 0x20000]
mov word [r9 + rdx*4 + 0x40002], ax
mov dword [r9 + r8*4], edi
mov word [r9 + r8*2 + 0x20000], dx
mov rdx, qword [rbp + 0x4f]
cmp r10, 0x7e4
jne 0x180080c08
mov r12, qword [r12 + 0x48]
mov rdi, qword [rsp + 0x50]
add rdi, rdx
mov rcx, qword [r12 + 8]
mov r15, qword [r12 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x180080c00
imul ebx, dword [rdi], 0x1e35a7bd
lea r13, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rsp]
mov qword [r12 + 8], r13
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180080a73
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx r14d, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180080a73
mov rsi, qword [r8 + 0x58]
mov eax, ecx
imul rax, r14
mov edx, dword [rsi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rsi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x18008099e
mov r10, rdi
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180080a5f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180080980
mov r8, r11
and r8d, 7
je 0x1800809c2
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rdi], al
jne 0x1800809c2
inc rcx
sub r8, 1
jne 0x1800809b0
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180080a7a
test r9, r9
je 0x180080a7a
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 [rsi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, r14
mov r14, qword [rsp + 0x18]
lea rdx, [r14 + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x58]
ja 0x180080a7f
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 8]
jb 0x180080a7f
mov qword [rsp + 8], rax
sub r11d, r9d
lea rax, [r15 + 1]
mov qword [rsp + 0x10], r9
mov qword [r12 + 0x10], rax
mov dword [rbp - 0x41], r11d
mov qword [rbp - 0x51], rdx
jmp 0x180080a7f
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1800809c5
mov r14, qword [rsp + 0x18]
jmp 0x180080a83
mov r14, qword [rsp + 0x18]
mov rdx, qword [rsp]
mov r15, qword [rbp + 0x67]
lea rax, [r13 + 1]
mov qword [r12 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x180080bec
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x180080bec
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rsi
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 0x180080b0e
mov r10, rdi
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180080bce
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180080af0
mov r8, r11
and r8d, 7
je 0x180080b2b
movzx eax, byte [rdx]
cmp byte [rcx + rdi], al
jne 0x180080b2b
inc rdx
inc rcx
sub r8, 1
jne 0x180080b17
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180080bec
test r9, r9
je 0x180080bec
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r15 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [rbx + r11]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rsi
add rdx, r14
cmp rdx, qword [rsp + 0x58]
ja 0x180080bec
mov rdi, qword [rbp + 0x47]
mov r14d, 0xffff
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 8]
jb 0x180080be2
sub r11d, r9d
mov qword [rbp - 0x51], rdx
inc qword [r12 + 0x10]
mov rcx, r9
mov r12, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x4f]
mov qword [rsp + 0x10], rcx
mov dword [rbp - 0x41], r11d
mov qword [rsp + 8], rax
jmp 0x180080c11
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180080b2e
mov rdx, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x6f]
jmp 0x180080c0c
mov rdi, qword [rbp + 0x47]
mov r14d, 0xffff
mov rdx, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x6f]
jmp 0x180080c0c
mov rdi, qword [rbp + 0x47]
mov r12, qword [rbp + 0x6f]
mov r15, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x10]
cmp qword [rsp + 8], 0x7e4
jbe 0x1800818c5
mov r10, qword [rsp]
xor r11d, r11d
mov dword [rbp + 0x3f], r11d
dec r10
cmp dword [r15 + 4], 5
mov qword [rsp], r10
jge 0x180080c49
lea rax, [rcx - 1]
mov r12, r10
cmp rax, r10
cmovb r12, rax
jmp 0x180080c4c
mov r12, r11
mov r8, qword [rbp - 0x71]
lea r13, [rdi + 1]
mov rax, qword [rbp - 0x69]
cmp r13, r8
mov rcx, r8
mov qword [rsp + 0x38], r11
cmovb rcx, r13
mov qword [rsp + 0x30], r11
inc rax
mov qword [rsp + 0x28], rcx
add rax, rdi
mov dword [rsp + 0x48], r11d
cmp rax, r8
mov rdx, r8
mov r9d, 0x7e4
mov rdi, r11
cmovb rdx, rax
mov qword [rsp + 0x40], r9
mov rax, qword [r15 + 0x50]
mov r15d, r9d
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x6f]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rbp + 0x4f]
mov rsi, qword [rax + 0x40]
mov qword [rsp + 0x58], rsi
lea rax, [rsi + 0x40000]
mov qword [rbp - 0x61], rax
mov rax, r13
and rax, qword [rbp + 0x57]
imul r14d, dword [rax + rdx], 0x1e35a7bd
lea r8, [rax + rdx]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x18], r8
shr r14, 0x11
mov qword [rbp - 0x29], r14
nop word [rax + rax]
mov rax, qword [rbp + 0x77]
mov r11, r13
movsxd rbx, dword [rax + rdi*4]
sub r11, rbx
test rdi, rdi
je 0x180080d15
movzx eax, r11w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x180080e17
cmp r11, r13
jae 0x180080e17
cmp rbx, rcx
ja 0x180080e17
and r11, qword [rbp + 0x57]
mov r9, r10
add r11, qword [rbp + 0x4f]
xor ecx, ecx
shr r9, 3
mov rdx, r8
test r9, r9
je 0x180080d72
mov r10, r11
sub r10, r8
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x180080def
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x180080d50
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x180080d93
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180080d93
inc rcx
sub r8, 1
jne 0x180080d80
mov r8, rcx
cmp r8, 2
jb 0x180080e04
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x180080e04
test rdi, rdi
je 0x180080dd8
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r15, r9
jae 0x180080e04
mov r15, r9
mov qword [rsp + 0x30], r8
mov r12, r8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r9
jmp 0x180080e09
mov r10, qword [rsp]
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180080d96
mov r9, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x4f]
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x18]
mov rax, qword [rbp - 0x79]
mov r11, r13
movsxd rbx, dword [rax + rdi*4]
lea rax, [rdi + 1]
sub r11, rbx
test rax, rax
je 0x180080e40
movzx eax, r11w
cmp byte [rax + rsi + 0x30000], r14b
jne 0x180080f2e
cmp r11, r13
jae 0x180080f2e
cmp rbx, rcx
ja 0x180080f2e
and r11, qword [rbp + 0x57]
mov r9, r10
add r11, rdx
shr r9, 3
xor edx, edx
mov rcx, r8
test r9, r9
je 0x180080e92
mov r10, r11
sub r10, r8
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x180080f14
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x180080e70
mov r10, qword [rsp]
mov r8, r10
and r8d, 7
je 0x180080eb5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x180080eb5
inc rcx
inc rdx
sub r8, 1
jne 0x180080ea0
mov r8, rdx
cmp r8, 2
jb 0x180080f29
imul r9, r8, 0x87
add r9, 0x78f
cmp r15, r9
jae 0x180080f29
lea rax, [rdi + 1]
test rax, rax
je 0x180080efd
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r15, r9
jae 0x180080f29
mov r15, r9
mov qword [rsp + 0x30], r8
mov r12, r8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r9
jmp 0x180080f2e
mov r10, qword [rsp]
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180080eb8
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x18]
add rdi, 2
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rbp + 0x4f]
cmp rdi, 0xa
jb 0x180080cf0
mov rax, qword [rbp + 0x6f]
xor ebx, ebx
mov r10, qword [rsp + 0x58]
mov rdi, qword [rax + 0x38]
mov eax, dword [rsi + r14*4]
mov rsi, r13
movzx r14d, word [r10 + r14*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x1800810a5
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x28]
ja 0x1800810a0
mov r8, qword [rbp + 0x57]
mov rcx, r13
mov rax, qword [rbp - 0x61]
sub rcx, rbx
mov rdx, qword [rsp + 0x50]
lea rax, [rax + r14*4]
movzx r14d, word [rax + 2]
and rcx, r8
movzx esi, word [rax]
add rdx, r12
cmp rdx, r8
ja 0x180081097
lea rax, [rcx + r12]
cmp rax, r8
ja 0x180081097
mov r8, qword [rbp + 0x4f]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x180081097
mov r9, qword [rsp + 0x18]
lea r11, [rcx + r8]
mov rcx, qword [rsp]
xor eax, eax
mov r8, rcx
mov rdx, r9
shr r8, 3
test r8, r8
je 0x18008101e
mov r10, r11
sub r10, r9
nop dword [rax + rax]
mov rcx, qword [rdx]
mov r9, qword [rdx + r10]
cmp rcx, r9
jne 0x180081081
add rdx, 8
add rax, 8
sub r8, 1
jne 0x180081000
mov rcx, qword [rsp]
mov r8, rcx
and r8d, 7
je 0x180081043
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x180081043
inc rax
sub r8, 1
jne 0x180081030
mov rdx, rax
cmp rdx, 4
jb 0x180081092
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x180081092
mov r15, rax
mov qword [rsp + 0x30], rdx
mov r12, rdx
mov qword [rsp + 0x38], rbx
mov r9, rax
mov qword [rsp + 0x40], rax
jmp 0x180081097
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x180081046
mov r9, qword [rsp + 0x40]
test rdi, rdi
jne 0x180080f75
mov r10, qword [rsp + 0x58]
mov r8, qword [rbp - 0x29]
mov rcx, r13
mov r12, qword [rbp + 0x6f]
movzx edx, word [r12 + 0x30]
lea eax, [rdx + 1]
mov word [r12 + 0x30], ax
mov eax, dword [r10 + r8*4]
sub rcx, rax
movzx eax, r13w
mov byte [rax + r10 + 0x30000], r8b
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
mov word [r10 + rdx*4 + 0x40000], cx
movzx eax, word [r10 + r8*2 + 0x20000]
mov word [r10 + rdx*4 + 0x40002], ax
mov dword [r10 + r8*4], r13d
mov r13, qword [rbp + 0x4f]
mov word [r10 + r8*2 + 0x20000], dx
cmp r9, 0x7e4
jne 0x180081414
mov r12, qword [r12 + 0x48]
mov rdi, qword [rsp + 0x50]
add rdi, r13
mov rcx, qword [r12 + 8]
mov r15, qword [r12 + 0x10]
mov rax, rcx
shr rax, 7
cmp r15, rax
jb 0x180081409
imul ebx, dword [rdi], 0x1e35a7bd
lea r13, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rsp]
mov qword [r12 + 8], r13
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x1800812aa
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx r14d, word [rax + rbx*2]
cmp rcx, rdx
ja 0x1800812aa
mov rsi, qword [r8 + 0x58]
mov eax, ecx
imul rax, r14
mov edx, dword [rsi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rsi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x1800811ce
mov r10, rdi
sub r10, rdx
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x180081296
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800811b0
mov r8, r11
and r8d, 7
je 0x1800811f2
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rdi], al
jne 0x1800811f2
inc rcx
sub r8, 1
jne 0x1800811e0
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1800812b1
test r9, r9
je 0x1800812b1
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 + rsi]
and edx, 0x3f
lea rax, [rdx + r8*4]
mov rdx, qword [rsp + 0x70]
shl rax, cl
inc rdx
add rax, r14
mov r14, qword [rsp + 0x40]
add rdx, rax
cmp rdx, qword [rsp + 0x60]
ja 0x1800812b6
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r14
jb 0x1800812b6
mov r14, rax
mov qword [rsp + 0x40], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x30], r9
sub r11d, r9d
mov qword [r12 + 0x10], rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], rdx
jmp 0x1800812b6
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1800811f5
mov r14, qword [rsp + 0x40]
jmp 0x1800812ba
mov r14, qword [rsp + 0x40]
mov rdx, qword [rsp]
mov r15, qword [rbp + 0x67]
lea rax, [r13 + 1]
mov qword [r12 + 8], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x18008141f
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x18008141f
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rsi
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 0x18008133e
mov r10, rdi
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x1800813f5
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180081320
mov r8, r11
and r8d, 7
je 0x18008135b
movzx eax, byte [rdx]
cmp byte [rcx + rdi], al
jne 0x18008135b
inc rdx
inc rcx
sub r8, 1
jne 0x180081347
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18008141f
test r9, r9
je 0x18008141f
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 rax, [rdx + r8*4]
mov rdx, qword [rsp + 0x70]
shl rax, cl
inc rdx
add rax, rsi
add rdx, rax
cmp rdx, qword [rsp + 0x60]
ja 0x18008141f
mov r13, qword [rbp + 0x4f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r14
jb 0x180081423
sub r11d, r9d
mov qword [rsp + 0x30], r9
inc qword [r12 + 0x10]
mov r14, rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rax
jmp 0x180081423
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x18008135e
mov r14, qword [rsp + 0x40]
mov r15, qword [rbp + 0x67]
jmp 0x180081423
mov r14, qword [rsp + 0x40]
mov r15, qword [rbp + 0x67]
jmp 0x180081427
mov r13, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x6f]
mov rax, qword [rsp + 8]
mov rdi, qword [rbp + 0x47]
add rax, 0xaf
cmp r14, rax
jb 0x18008149d
mov ecx, dword [rbp + 0x3f]
inc rdi
movups xmm0, xmmword [rsp + 0x30]
inc qword [rsp + 0x20]
inc ecx
mov qword [rbp + 0x47], rdi
mov dword [rbp + 0x3f], ecx
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm1
cmp ecx, 4
jge 0x180081492
lea rax, [rdi + 4]
cmp rax, qword [rsp + 0x68]
jae 0x180081492
mov r10, qword [rsp]
mov rax, qword [rbp - 0x49]
dec r10
mov rcx, qword [rbp - 0x59]
xor r11d, r11d
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
jmp 0x180080c2e
mov r10, qword [rbp - 0x59]
mov qword [rsp + 0x10], r10
jmp 0x1800814a2
mov r10, qword [rsp + 0x10]
mov rax, qword [rbp - 0x31]
mov r9, qword [rbp - 0x71]
mov rbx, qword [rbp - 0x51]
mov r11, qword [rbp + 0x77]
lea r15, [rax + r10*2]
mov rax, qword [rbp - 0x69]
add rax, rdi
add r15, rdi
cmp rax, r9
mov qword [rsp + 0x60], r15
cmovb r9, rax
cmp rbx, r9
ja 0x180081559
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r8, dword [r11 + 4]
lea rdi, [r11 + 4]
mov rdx, rcx
sub rcx, r8
sub rdx, rax
cmp rbx, rax
jne 0x1800814f7
xor r8d, r8d
jmp 0x180081561
cmp rbx, r8
jne 0x180081504
mov r8d, 1
jmp 0x180081561
cmp rdx, 7
jae 0x18008151f
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x180081561
cmp rcx, 7
jae 0x180081537
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x180081561
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x180081548
mov r8d, 2
jmp 0x180081561
movsxd rax, dword [r11 + 0xc]
cmp rbx, rax
jne 0x18008155d
mov r8d, 3
jmp 0x180081561
mov rdi, qword [rbp - 0x79]
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x1800815ab
test r8, r8
je 0x1800815ab
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdi]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [rdi], eax
lea eax, [rbx - 1]
mov dword [r11 + 0x10], eax
lea eax, [rbx + 1]
mov dword [r11 + 0x14], eax
lea eax, [rbx - 2]
mov dword [r11 + 0x18], eax
lea eax, [rbx + 2]
mov dword [r11 + 0x1c], eax
lea eax, [rbx - 3]
mov dword [r11 + 0x20], eax
lea eax, [rbx + 3]
mov dword [r11 + 0x24], eax
mov dword [r11], ebx
mov rcx, qword [rbp + 0x87]
mov esi, dword [rbp - 0x41]
mov r15, qword [rbp + 0x67]
mov r11, qword [rsp + 0x20]
movzx eax, sil
shl eax, 0x19
or eax, r10d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r15 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x1800815e2
xor edi, edi
jmp 0x180081662
mov r11d, dword [r15 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x20]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
mov rcx, qword [rbp + 0x87]
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [rcx + 0xe], r8w
mov eax, 0x3ff
mov dword [rcx + 8], edi
and r8w, ax
mov r14, qword [rsp + 0x10]
lea edx, [r14 + rsi]
movsxd r9, edx
cmp r11, 6
jae 0x180081690
movzx r10d, r11w
mov eax, 0x17
jmp 0x180081702
cmp r11, 0x82
jae 0x1800816ba
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 0x180081702
cmp r11, 0x842
jae 0x1800816d7
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x180081702
mov eax, 0x17
cmp r11, 0x1842
jae 0x1800816ed
mov r10d, 0x15
jmp 0x180081702
cmp r11, 0x5842
jae 0x1800816fe
mov r10d, 0x16
jmp 0x180081702
movzx r10d, ax
cmp r9, 0xa
jae 0x18008170f
sub r9w, 2
jmp 0x18008174f
cmp r9, 0x86
jae 0x180081734
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 0x18008174f
cmp r9, 0x846
jae 0x18008174b
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x18008174f
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 0x180081787
cmp r10w, 8
jae 0x180081787
cmp r9w, 0x10
jae 0x180081787
cmp r9w, 8
jb 0x1800817bb
or dx, 0x40
jmp 0x1800817bb
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x87]
xor esi, esi
mov rdi, qword [rbp + 0x47]
mov qword [rsp + 0x20], rsi
mov word [rax + 0xc], dx
add rax, 0x10
mov qword [rbp + 0x87], rax
lea r10, [rdi + 2]
mov rax, qword [rbp + 0x97]
add qword [rax], r11
lea rax, [r14 + rdi]
mov r11, qword [rbp - 0x39]
cmp rax, r11
cmovb r11, rax
mov rax, r14
shr rax, 2
cmp rbx, rax
jae 0x18008182e
lea rax, [rbx*4]
mov rcx, r14
sub rcx, rax
lea rax, [rcx + rdi]
cmp r10, rax
mov eax, 2
cmova rcx, rax
lea r10, [rdi + rcx]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x1800818b9
mov rbx, qword [rbp + 0x57]
mov r15d, 0xffff
mov r9, qword [r12 + 0x40]
mov rax, r10
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, r10
imul edx, dword [rax + r13], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, r10w
cmp rcx, r15
cmova rcx, r15
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], r10d
inc r10
mov word [r9 + rdx*2 + 0x20000], r8w
cmp r10, r11
jb 0x180081841
mov r15, qword [rbp + 0x67]
add rdi, r14
mov qword [rbp + 0x47], rdi
jmp 0x180081a6f
mov rsi, qword [rsp + 0x20]
inc rdi
mov r15, qword [rsp + 0x60]
inc rsi
mov qword [rsp + 0x20], rsi
mov qword [rbp + 0x47], rdi
cmp rdi, r15
jbe 0x180081a6b
mov rax, qword [rbp - 0x31]
mov r10, qword [rsp + 0x68]
lea rax, [r15 + rax*4]
cmp rdi, rax
jbe 0x1800819ae
add r10, 0xfffffffffffffffc
lea rax, [rdi + 0x10]
cmp rax, r10
cmovb r10, rax
cmp rdi, r10
jae 0x180081a6b
mov rbx, qword [rbp + 0x57]
mov rax, r10
sub rax, rdi
add rsi, 4
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x20], rsi
mov r9, qword [r12 + 0x40]
mov rax, rdi
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, rdi
imul edx, dword [rax + rdx], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, di
cmp rcx, r14
cmova rcx, r14
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], edi
add rdi, 4
mov word [r9 + rdx*2 + 0x20000], r8w
mov rdx, qword [rbp + 0x4f]
cmp rdi, r10
jb 0x180081932
jmp 0x180081a67
add r10, 0xfffffffffffffffd
lea rax, [rdi + 8]
cmp rax, r10
cmovb r10, rax
cmp rdi, r10
jae 0x180081a6b
mov rbx, qword [rbp + 0x57]
mov rax, r10
sub rax, rdi
add rsi, 2
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x20], rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r12 + 0x40]
mov rax, rdi
movzx r8d, word [r12 + 0x30]
and rax, rbx
mov rcx, rdi
imul edx, dword [rax + rdx], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r12 + 0x30], ax
shr rdx, 0x11
mov eax, dword [r9 + rdx*4]
sub rcx, rax
movzx eax, di
cmp rcx, r14
cmova rcx, r14
mov byte [rax + r9 + 0x30000], dl
mov word [r9 + r8*4 + 0x40000], cx
movzx eax, word [r9 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 0x40002], ax
mov dword [r9 + rdx*4], edi
add rdi, 2
mov word [r9 + rdx*2 + 0x20000], r8w
mov rdx, qword [rbp + 0x4f]
cmp rdi, r10
jb 0x1800819f0
mov qword [rbp + 0x47], rdi
mov r15, qword [rbp + 0x67]
mov rdx, qword [rsp + 0x68]
lea rax, [rdi + 4]
mov r9, qword [rbp + 0x4f]
mov r10, qword [rbp + 0x57]
mov rbx, qword [rbp + 0x77]
mov r11, qword [rbp - 0x71]
mov r14, qword [rbp - 0x69]
cmp rax, rdx
jb 0x180080404
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov r8, qword [rbp + 0x87]
mov rax, qword [rbp + 0x7f]
sub rdx, rdi
sub r8, qword [rbp - 0x21]
add rdx, rsi
sar r8, 4
mov qword [rax], rdx
mov rax, qword [rbp + 0x8f]
add qword [rax], r8
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r15, qword [rbp + 0x6f]
mov r10, rcx
mov r14, qword [rbp + 0x87]
mov ebx, 1
mov r9, qword [rbp + 0x77]
mov r13, r8
mov rax, qword [rbp + 0x8f]
add r9, 0x30
mov ecx, dword [r15 + 8]
lea r11, [r10 + rdx]
mov rdi, qword [r15 + 0x10]
mov rsi, rdx
mov r14, qword [r14]
shl rbx, cl
sub rbx, 0x10
mov qword [rsp + 8], r9
mov qword [rbp - 0x41], rbx
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x11], rax
mov qword [rsp + 0x30], r14
mov qword [rbp - 0x69], r11
cmp r10, 4
jb 0x180081b6d
lea rax, [r11 - 3]
mov qword [rbp - 0x29], rax
jmp 0x180081b71
mov qword [rbp - 0x29], rsi
mov rdx, qword [rbp + 0x7f]
mov ecx, 0x40
cmp dword [r15 + 4], 9
mov eax, 0x200
cmovl eax, ecx
mov ecx, dword [rdx]
mov qword [rbp - 0x21], rax
add rax, rsi
mov qword [rbp - 0x71], rax
lea eax, [rcx - 1]
mov dword [rdx + 0x10], eax
lea eax, [rcx + 1]
mov dword [rdx + 0x14], eax
lea eax, [rcx - 2]
mov dword [rdx + 0x18], eax
lea eax, [rcx + 2]
mov dword [rdx + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rdx + 0x20], eax
lea eax, [rcx + 3]
mov ecx, dword [rdx + 4]
mov dword [rdx + 0x24], eax
lea eax, [rcx - 1]
mov dword [rdx + 0x28], eax
lea eax, [rcx + 1]
mov dword [rdx + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdx + 0x30], eax
lea eax, [rcx + 2]
mov dword [rdx + 0x34], eax
lea eax, [rcx - 3]
mov dword [rdx + 0x38], eax
lea eax, [rcx + 3]
mov dword [rdx + 0x3c], eax
lea rax, [rsi + 4]
cmp rax, r11
jae 0x180083870
lea rax, [rdx + 8]
mov qword [rsp + 0xd8], r12
mov qword [rbp - 0x31], rax
nop dword [rax]
xor r14d, r14d
mov qword [rsp + 0x10], 0x7e4
lea rax, [rdi + rsi]
mov qword [rbp - 0x59], r14
mov r8, r11
mov qword [rsp + 0x28], r14
sub r8, rsi
mov dword [rbp - 0x49], r14d
cmp rsi, rbx
mov qword [rsp], r14
mov r14, qword [rbp - 0x31]
mov rcx, rbx
cmovb rcx, rsi
mov qword [rbp + 0x47], r8
cmp rax, rbx
mov qword [rbp + 0x77], rcx
mov rdx, rbx
mov edi, 2
cmovb rdx, rax
mov rax, qword [r15 + 0x50]
mov r15, qword [r9 + 0x408]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x5f]
lea rax, [r15 + 0x40000]
mov qword [rsp + 0x40], rax
mov rax, rsi
and rax, rdx
imul r12d, dword [rax + r13], 0x1e35a7bd
lea rsi, [rax + r13]
mov qword [rsp + 0x38], rax
mov r13d, 0x7e4
shr r12, 0x11
jmp 0x180081ca8
mov rcx, qword [rbp + 0x77]
mov r8, qword [rbp + 0x47]
mov r10, qword [rbp + 0x4f]
lea r11, [rdi - 2]
movsxd rbx, dword [r14 - 8]
mov r9, r10
sub r9, rbx
test r11, r11
je 0x180081cd1
movzx eax, r9w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x180081dc4
cmp r9, r10
jae 0x180081dc4
cmp rbx, rcx
ja 0x180081dc4
and r9, qword [rbp + 0x5f]
xor ecx, ecx
add r9, qword [rbp + 0x57]
mov rdx, rsi
shr r8, 3
test r8, r8
je 0x180081d1e
nop dword [rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r9]
cmp r10, rax
jne 0x180081da7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180081d00
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x180081d43
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r9], al
jne 0x180081d43
inc rcx
sub r8, 1
jne 0x180081d30
mov r8, rcx
cmp r8, 2
jb 0x180081db8
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x180081db8
test r11, r11
je 0x180081d83
movzx ecx, r11b
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
mov rcx, qword [rbp + 0x77]
mov rdx, qword [rbp + 0x5f]
cmp r13, r9
jae 0x180081dc0
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
jmp 0x180081dc0
xor rax, r10
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180081d46
mov rdx, qword [rbp + 0x5f]
mov rcx, qword [rbp + 0x77]
mov r8, qword [rbp + 0x47]
mov r9, qword [rbp + 0x4f]
lea rax, [rdi - 1]
movsxd rbx, dword [r14 - 4]
mov r10, r9
sub r10, rbx
test rax, rax
je 0x180081ded
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x180081ec2
cmp r10, r9
jae 0x180081ec2
cmp rbx, rcx
ja 0x180081ec2
and r10, rdx
mov r9, r8
add r10, qword [rbp + 0x57]
xor edx, edx
shr r9, 3
mov rcx, rsi
test r9, r9
je 0x180081e42
mov r11, r10
sub r11, rsi
nop dword [rax]
mov r8, qword [rcx]
mov rax, qword [rcx + r11]
cmp r8, rax
jne 0x1800820e6
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x180081e20
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x180081e65
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x180081e65
inc rcx
inc rdx
sub r8, 1
jne 0x180081e50
mov r8, rdx
cmp r8, 2
jb 0x180081ec2
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x180081ec2
lea rax, [rdi - 1]
test rax, rax
je 0x180081ead
lea ecx, [rdi - 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x180081ec2
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
mov rcx, qword [rbp + 0x4f]
movsxd rbx, dword [r14]
mov r10, rcx
sub r10, rbx
test rdi, rdi
je 0x180081ee6
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x180081fbf
cmp r10, rcx
mov rcx, qword [rbp + 0x77]
jae 0x180081fc3
cmp rbx, rcx
ja 0x180081fc3
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r9, rax
shr r9, 3
test r9, r9
je 0x180081f42
mov r11, r10
sub r11, rsi
nop
mov r8, qword [rcx]
mov rax, qword [rcx + r11]
cmp r8, rax
jne 0x1800820fa
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x180081f20
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x180081f65
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x180081f65
inc rcx
inc rdx
sub r8, 1
jne 0x180081f50
mov r8, rdx
cmp r8, 2
jb 0x180081fbf
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x180081fbf
test rdi, rdi
je 0x180081faa
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x180081fbf
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
mov rcx, qword [rbp + 0x77]
mov r8, qword [rbp + 0x4f]
lea rax, [rdi + 1]
movsxd rbx, dword [r14 + 4]
mov r10, r8
sub r10, rbx
test rax, rax
je 0x180081fec
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x180082126
cmp r10, r8
jae 0x180082126
cmp rbx, rcx
ja 0x180082126
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r8, rax
shr r8, 3
test r8, r8
je 0x180082052
mov r11, r10
sub r11, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r11]
cmp r9, rax
jne 0x18008210e
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x180082030
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x180082075
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x180082075
inc rcx
inc rdx
sub r8, 1
jne 0x180082060
mov r8, rdx
cmp r8, 2
jb 0x180082122
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x180082122
lea rax, [rdi + 1]
test rax, rax
je 0x1800820c5
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x180082122
mov r10, r8
mov qword [rsp], r8
mov qword [rsp + 0x28], r8
mov r13, r9
mov r8, qword [rbp + 0x4f]
mov r11, r9
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x10], r9
jmp 0x18008212f
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180081e68
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180081f68
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180082078
mov r8, qword [rbp + 0x4f]
mov r11, qword [rsp + 0x10]
mov r10, qword [rsp]
mov rdx, qword [rbp + 0x5f]
add rdi, 4
add r14, 0x10
lea rax, [rdi - 2]
cmp rax, 0x10
jb 0x180081ca0
mov rax, qword [rsp + 8]
mov r15, r12
mov rsi, r8
and r15d, 0x1ff
xor ebx, ebx
mov rcx, qword [rax + 0x408]
mov rdi, qword [rax + 0x400]
mov eax, dword [rcx + r12*4]
movzx r12d, word [rcx + r12*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x1800822d4
mov rdx, qword [rsp + 0x38]
mov r9, qword [rbp + 0x57]
lea r14, [rdx + r9]
nop dword [rax]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rbp + 0x77]
ja 0x1800822d4
mov r11, qword [rbp + 0x5f]
mov rcx, r8
mov r8, qword [rsp + 0x40]
sub rcx, rbx
mov rax, r15
and rcx, r11
shl rax, 9
add rdx, r10
add rax, r12
movzx r12d, word [r8 + rax*4 + 2]
movzx esi, word [r8 + rax*4]
cmp rdx, r11
ja 0x1800822bd
lea rax, [rcx + r10]
cmp rax, r11
ja 0x1800822bd
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x1800822bd
mov rax, qword [rbp + 0x47]
lea r11, [rcx + r9]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r14
test r8, r8
je 0x18008223e
mov r10, r11
sub r10, r14
nop
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x1800822a8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180082220
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x180082263
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180082263
inc rcx
sub r8, 1
jne 0x180082250
mov rdx, rcx
mov r9, qword [rbp + 0x57]
cmp rdx, 4
jb 0x1800822b9
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x1800822b9
mov r13, rax
mov qword [rsp], rdx
mov r10, rdx
mov qword [rsp + 0x28], rdx
mov qword [rbp - 0x59], rbx
mov r11, rax
mov qword [rsp + 0x10], rax
jmp 0x1800822c2
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x180082266
mov r10, qword [rsp]
mov r11, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rbp + 0x4f]
test rdi, rdi
jne 0x1800821a0
mov rsi, qword [rbp + 0x4f]
mov r12d, 0xffff
mov rdi, qword [rsp + 8]
mov rax, rsi
mov rbx, qword [rbp + 0x5f]
mov rdx, rsi
mov r13, qword [rbp + 0x57]
and rax, rbx
mov r10, qword [rdi + 0x408]
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, si
cmp rdx, r12
cmova rdx, r12
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
mov word [r10 + rax*4], dx
lea rcx, [r10 + rax*4]
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], esi
mov word [r10 + r9*2 + 0x20000], r8w
cmp r11, 0x7e4
jne 0x1800826ac
mov r9, qword [rsp + 8]
mov rdi, qword [rsp + 0x38]
add rdi, r13
mov r15, qword [r9 + 0x410]
mov rcx, qword [r15 + 8]
mov rax, rcx
shr rax, 7
cmp qword [r15 + 0x10], rax
jb 0x1800826a9
imul ebx, dword [rdi], 0x1e35a7bd
lea r14, [rcx + 1]
mov r12, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x47]
mov qword [r15 + 8], r14
mov rax, qword [r12 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180082514
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180082514
mov rcx, qword [r12 + 0x58]
mov eax, r11d
imul rax, rsi
mov r8d, dword [rcx + r11*4 + 0x20]
mov edx, r11d
add r8, rax
shr rdx, 3
add r8, qword [rcx + 0xa8]
xor ecx, ecx
test rdx, rdx
je 0x18008243e
mov r10, rdi
sub r10, r8
nop dword [rax]
mov r9, qword [r8]
mov rax, qword [r8 + r10]
cmp r9, rax
jne 0x180082500
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x180082420
mov rdx, r11
and edx, 7
je 0x180082463
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
cmp byte [rcx + rdi], al
jne 0x180082463
inc rcx
sub rdx, 1
jne 0x180082450
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180082520
test r9, r9
je 0x180082520
mov rdx, qword [r12 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r12 + 0x58]
and edx, 0x3f
mov r12, qword [rsp + 0x18]
movzx ecx, byte [r11 + rcx]
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x20]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, r12
ja 0x18008252a
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jb 0x18008252a
sub r11d, r9d
mov qword [rsp + 0x28], r9
inc qword [r15 + 0x10]
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], rdx
mov qword [rsp + 0x10], rax
jmp 0x18008252a
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180082466
mov rsi, qword [rsp + 0x20]
mov r12, qword [rsp + 0x18]
jmp 0x18008252e
mov rsi, qword [rsp + 0x20]
mov r12, qword [rsp + 0x18]
mov rdx, qword [rbp + 0x47]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r15 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x180082694
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx ebx, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x180082694
mov rcx, qword [r14 + 0x58]
mov eax, r11d
imul rax, rbx
mov edx, dword [rcx + r11*4 + 0x20]
mov r8d, r11d
mov rcx, qword [rcx + 0xa8]
add rdx, rax
add rcx, rdx
shr r8, 3
xor edx, edx
test r8, r8
je 0x1800825be
mov r10, rdi
sub r10, rcx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x180082680
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1800825a0
mov r8, r11
and r8d, 7
je 0x1800825db
movzx eax, byte [rcx]
cmp byte [rdx + rdi], al
jne 0x1800825db
inc rcx
inc rdx
sub r8, 1
jne 0x1800825c7
mov r9, rdx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180082694
test r9, r9
je 0x180082694
mov rdx, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r14 + 0x58]
and edx, 0x3f
movzx ecx, byte [r11 + rcx]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rbx
add rdx, rsi
cmp rdx, r12
ja 0x180082694
mov rbx, qword [rbp + 0x5f]
mov r12d, 0xffff
mov rsi, qword [rbp + 0x4f]
mov rdi, qword [rsp + 8]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jb 0x1800826b0
sub r11d, r9d
mov qword [rbp - 0x59], rdx
inc qword [r15 + 0x10]
mov rcx, r9
mov qword [rsp + 0x28], rcx
mov dword [rbp - 0x49], r11d
mov qword [rsp + 0x10], rax
jmp 0x1800826b5
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x1800825de
mov rbx, qword [rbp + 0x5f]
mov r12d, 0xffff
mov rsi, qword [rbp + 0x4f]
mov rdi, qword [rsp + 8]
jmp 0x1800826b0
mov rdi, r9
mov r14, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x28]
cmp qword [rsp + 0x10], 0x7e4
jbe 0x18008366a
mov dword [rbp + 0x77], 0
mov r8, qword [rbp + 0x47]
dec r8
cmp dword [r14 + 4], 5
mov qword [rbp + 0x47], r8
jge 0x1800826f1
lea rax, [rcx - 1]
mov r10, r8
cmp rax, r8
cmovb r10, rax
mov qword [rsp], r10
jmp 0x1800826f7
xor eax, eax
mov qword [rsp], rax
mov r9, qword [rbp - 0x41]
lea r11, [rsi + 1]
mov r15, qword [rdi + 0x408]
cmp r11, r9
mov rax, qword [rbp - 0x39]
mov r12d, 0x7e4
mov rcx, r9
mov qword [rsp + 0x58], r12
cmovb rcx, r11
mov qword [rsp + 0x50], 0
inc rax
mov qword [rsp + 0x18], r11
add rax, rsi
mov qword [rsp + 0x20], rcx
cmp rax, r9
mov qword [rsp + 0x48], 0
mov rdx, r9
mov dword [rbp - 0x79], 0
mov r9, qword [rbp + 0x57]
cmovb rdx, rax
mov rax, qword [r14 + 0x50]
mov edi, 2
mov r14, qword [rbp - 0x31]
mov r13d, 0x7e4
mov qword [rsp + 0x38], rax
lea rax, [r15 + 0x40000]
mov qword [rbp - 0x19], rax
mov rax, r11
mov qword [rsp + 0x40], rdx
mov rdx, qword [rbp + 0x5f]
and rax, rdx
imul r12d, dword [rax + r9], 0x1e35a7bd
lea rsi, [rax + r9]
mov qword [rbp - 0x71], rax
shr r12, 0x11
jmp 0x1800827b1
mov rcx, qword [rsp + 0x20]
mov r8, qword [rbp + 0x47]
mov r9, qword [rbp + 0x57]
mov rdx, qword [rbp + 0x5f]
movsxd rbx, dword [r14 - 8]
lea rax, [rdi - 2]
sub r11, rbx
test rax, rax
je 0x1800827d3
movzx eax, r11w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x1800828de
cmp r11, qword [rsp + 0x18]
jae 0x1800828de
cmp rbx, rcx
ja 0x1800828de
and r11, qword [rbp + 0x5f]
xor ecx, ecx
add r11, r9
mov rdx, rsi
mov r9, r8
shr r9, 3
test r9, r9
je 0x180082832
mov r10, r11
sub r10, rsi
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r8, rax
jne 0x1800828bc
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x180082810
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x180082853
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180082853
inc rcx
sub r8, 1
jne 0x180082840
mov r8, rcx
cmp r8, 2
jb 0x1800828cd
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x1800828cd
lea rax, [rdi - 2]
test rax, rax
je 0x180082896
lea ecx, [rdi - 2]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rbp + 0x5f]
cmp r13, r9
jae 0x1800828d6
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
jmp 0x1800828d6
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180082856
mov rdx, qword [rbp + 0x5f]
mov rcx, qword [rsp + 0x20]
mov r9, qword [rbp + 0x57]
mov r8, qword [rbp + 0x47]
movsxd rbx, dword [r14 - 4]
lea rax, [rdi - 1]
mov r11, qword [rsp + 0x18]
sub r11, rbx
test rax, rax
je 0x180082905
movzx eax, r11w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x1800829e3
cmp r11, qword [rsp + 0x18]
jae 0x1800829e3
cmp rbx, rcx
ja 0x1800829e3
and r11, rdx
mov rcx, rsi
add r11, r9
xor edx, edx
mov r9, r8
shr r9, 3
test r9, r9
je 0x180082962
mov r10, r11
sub r10, rsi
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x180082c15
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x180082940
mov r8, qword [rbp + 0x47]
and r8d, 7
je 0x180082985
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x180082985
inc rcx
inc rdx
sub r8, 1
jne 0x180082970
mov r8, rdx
cmp r8, 2
jb 0x1800829e3
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x1800829e3
lea rax, [rdi - 1]
test rax, rax
je 0x1800829cd
lea ecx, [rdi - 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x1800829e3
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
mov r11, qword [rsp + 0x18]
movsxd rbx, dword [r14]
mov r10, r11
sub r10, rbx
test rdi, rdi
je 0x180082a08
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x180082af5
mov rcx, qword [rsp + 0x20]
cmp r10, r11
jae 0x180082afa
cmp rbx, rcx
ja 0x180082afa
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r9, rax
shr r9, 3
test r9, r9
je 0x180082a72
mov r11, r10
sub r11, rsi
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x180082c29
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x180082a50
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x180082a95
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x180082a95
inc rcx
inc rdx
sub r8, 1
jne 0x180082a80
mov r8, rdx
cmp r8, 2
jb 0x180082af0
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x180082af0
test rdi, rdi
je 0x180082ada
movzx ecx, dil
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x180082af0
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
mov r11, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
movsxd rbx, dword [r14 + 4]
lea rax, [rdi + 1]
mov r10, r11
sub r10, rbx
test rax, rax
je 0x180082b1f
movzx eax, r10w
cmp byte [rax + r15 + 0x30000], r12b
jne 0x180082c56
cmp r10, r11
jae 0x180082c56
cmp rbx, rcx
ja 0x180082c56
and r10, qword [rbp + 0x5f]
xor edx, edx
mov rax, qword [rbp + 0x47]
mov rcx, rsi
add r10, qword [rbp + 0x57]
mov r9, rax
shr r9, 3
test r9, r9
je 0x180082b82
mov r11, r10
sub r11, rsi
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r8, rax
jne 0x180082c3d
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x180082b60
mov rax, qword [rbp + 0x47]
mov r8, rax
and r8d, 7
je 0x180082ba5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x180082ba5
inc rcx
inc rdx
sub r8, 1
jne 0x180082b90
mov r8, rdx
cmp r8, 2
jb 0x180082c51
imul r9, r8, 0x87
add r9, 0x78f
cmp r13, r9
jae 0x180082c51
lea rax, [rdi + 1]
test rax, rax
je 0x180082bf5
lea ecx, [rdi + 1]
mov edx, 0x1ca10
and cl, 0xe
mov rax, 0xffffffffffffffd9
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
cmp r13, r9
jae 0x180082c51
mov r11, qword [rsp + 0x18]
mov r13, r9
mov r10, r8
mov qword [rsp], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r9
jmp 0x180082c5a
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180082988
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180082a98
xor rax, r8
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x180082ba8
mov r11, qword [rsp + 0x18]
mov r10, qword [rsp]
add rdi, 4
add r14, 0x10
lea rax, [rdi - 2]
cmp rax, 0x10
jb 0x1800827a0
mov rax, qword [rsp + 8]
mov r15, r12
mov rsi, r11
and r15d, 0x1ff
xor ebx, ebx
mov rcx, qword [rax + 0x408]
mov rdi, qword [rax + 0x400]
mov eax, dword [rcx + r12*4]
movzx r12d, word [rcx + r12*2 + 0x20000]
sub rsi, rax
test rdi, rdi
je 0x180082ded
mov rdx, qword [rbp - 0x71]
mov r9, qword [rbp + 0x57]
lea r14, [rdx + r9]
nop word [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x20]
ja 0x180082ded
mov r8, qword [rbp - 0x19]
mov rax, r15
shl rax, 9
mov rcx, r11
add rax, r12
sub rcx, rbx
and rcx, qword [rbp + 0x5f]
add rdx, r10
movzx r12d, word [r8 + rax*4 + 2]
movzx esi, word [r8 + rax*4]
mov r8, qword [rbp + 0x5f]
cmp rdx, r8
ja 0x180082de0
lea rax, [rcx + r10]
cmp rax, r8
ja 0x180082de0
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x180082de0
lea r11, [rcx + r9]
xor eax, eax
mov rcx, qword [rbp + 0x47]
mov rdx, r14
mov r8, rcx
shr r8, 3
test r8, r8
je 0x180082d5e
mov r10, r11
sub r10, r14
nop
mov rcx, qword [rdx]
mov r9, qword [rdx + r10]
cmp rcx, r9
jne 0x180082dcb
add rdx, 8
add rax, 8
sub r8, 1
jne 0x180082d40
mov rcx, qword [rbp + 0x47]
mov r8, rcx
and r8d, 7
je 0x180082d83
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x180082d83
inc rax
sub r8, 1
jne 0x180082d70
mov rdx, rax
mov r11, qword [rsp + 0x18]
mov r9, qword [rbp + 0x57]
cmp rdx, 4
jb 0x180082ddc
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r13, rax
jae 0x180082ddc
mov r13, rax
mov qword [rsp], rdx
mov r10, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rax
jmp 0x180082de0
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x180082d86
mov r10, qword [rsp]
mov rdx, qword [rbp - 0x71]
test rdi, rdi
jne 0x180082cc0
mov rdi, qword [rsp + 8]
mov rax, r11
and rax, qword [rbp + 0x5f]
mov rdx, r11
mov r13, qword [rbp + 0x57]
mov r12, qword [rsp + 0x58]
mov r10, qword [rdi + 0x408]
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, r11w
mov byte [rax + r10 + 0x30000], r9b
mov eax, 0xffff
cmp rdx, rax
cmova rdx, rax
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
mov word [r10 + rax*4], dx
lea rcx, [r10 + rax*4]
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], r11d
mov word [r10 + r9*2 + 0x20000], r8w
cmp r12, 0x7e4
jne 0x180083197
mov r9, qword [rsp + 8]
mov rdi, qword [rbp - 0x71]
add rdi, r13
mov r15, qword [r9 + 0x410]
mov rcx, qword [r15 + 8]
mov rax, rcx
shr rax, 7
cmp qword [r15 + 0x10], rax
jb 0x180083194
imul ebx, dword [rdi], 0x1e35a7bd
lea r14, [rcx + 1]
mov r13, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x47]
mov qword [r15 + 8], r14
mov rax, qword [r13 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180083023
mov rax, qword [r13 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180083023
mov rcx, qword [r13 + 0x58]
mov eax, r11d
imul rax, rsi
mov r8d, dword [rcx + r11*4 + 0x20]
mov edx, r11d
add r8, rax
shr rdx, 3
add r8, qword [rcx + 0xa8]
xor ecx, ecx
test rdx, rdx
je 0x180082f4e
mov r10, rdi
sub r10, r8
mov r9, qword [r8]
mov rax, qword [r8 + r10]
cmp r9, rax
jne 0x18008300f
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x180082f30
mov rdx, r11
and edx, 7
je 0x180082f73
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
cmp byte [rcx + rdi], al
jne 0x180082f73
inc rcx
sub rdx, 1
jne 0x180082f60
mov r9, rcx
mov eax, dword [r13 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18008302f
test r9, r9
je 0x18008302f
mov rdx, qword [r13 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r13 + 0x58]
and edx, 0x3f
mov r13, qword [rsp + 0x38]
movzx ecx, byte [r11 + rcx]
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x40]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, r13
ja 0x180083039
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x180083039
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r15 + 0x10]
mov r12, rax
mov dword [rbp - 0x79], r11d
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
jmp 0x180083039
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180082f76
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
jmp 0x18008303d
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov rdx, qword [rbp + 0x47]
lea rax, [r14 + 1]
mov r14, qword [rbp + 0x6f]
mov qword [r15 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x180083189
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx ebx, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x180083189
mov rcx, qword [r14 + 0x58]
mov eax, r11d
imul rax, rbx
mov edx, dword [rcx + r11*4 + 0x20]
mov r8d, r11d
mov rcx, qword [rcx + 0xa8]
add rdx, rax
add rcx, rdx
shr r8, 3
xor edx, edx
test r8, r8
je 0x1800830be
mov r10, rdi
sub r10, rcx
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x180083175
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1800830a0
mov r8, r11
and r8d, 7
je 0x1800830db
movzx eax, byte [rcx]
cmp byte [rdx + rdi], al
jne 0x1800830db
inc rcx
inc rdx
sub r8, 1
jne 0x1800830c7
mov r9, rdx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180083189
test r9, r9
je 0x180083189
mov rdx, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx ecx, r8b
add cl, cl
lea eax, [rcx + r8]
lea ecx, [rax + rax]
shr rdx, cl
mov rcx, qword [r14 + 0x58]
and edx, 0x3f
movzx ecx, byte [r11 + rcx]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rbx
add rdx, rsi
cmp rdx, r13
ja 0x180083189
mov r13, qword [rbp + 0x57]
mov rdi, qword [rsp + 8]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x18008319b
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r15 + 0x10]
mov r12, rax
mov dword [rbp - 0x79], r11d
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
jmp 0x18008319b
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x1800830de
mov r13, qword [rbp + 0x57]
mov rdi, qword [rsp + 8]
jmp 0x18008319b
mov rdi, r9
mov r14, qword [rbp + 0x6f]
mov rax, qword [rsp + 0x10]
mov rsi, qword [rbp + 0x4f]
add rax, 0xaf
mov r11, qword [rsp + 0x30]
cmp r12, rax
jb 0x180083209
mov ecx, dword [rbp + 0x77]
inc rsi
movups xmm0, xmmword [rsp + 0x48]
inc ecx
inc r11
mov qword [rbp + 0x4f], rsi
mov qword [rsp + 0x30], r11
mov dword [rbp + 0x77], ecx
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x180083203
lea rax, [rsi + 4]
cmp rax, qword [rbp - 0x69]
jae 0x180083203
mov rax, qword [rbp - 0x51]
mov rcx, qword [rbp - 0x61]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x28], rcx
jmp 0x1800826cb
mov r12, qword [rbp - 0x61]
jmp 0x18008320e
mov r12, qword [rsp + 0x28]
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x59]
mov r10, qword [rbp + 0x7f]
lea r15, [rax + r12*2]
mov rax, qword [rbp - 0x39]
add rax, rsi
add r15, rsi
cmp rax, r9
mov qword [rbp - 0x71], r15
cmovb r9, rax
cmp rdi, r9
ja 0x1800832ba
movsxd rax, dword [r10]
lea rcx, [rdi + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rdi, rax
jne 0x18008325a
xor r8d, r8d
jmp 0x1800832be
cmp rdi, r8
jne 0x180083267
mov r8d, 1
jmp 0x1800832be
cmp rdx, 7
jae 0x180083282
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1800832be
cmp rcx, 7
jae 0x18008329a
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1800832be
movsxd rax, dword [r10 + 8]
cmp rdi, rax
jne 0x1800832ab
mov r8d, 2
jmp 0x1800832be
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x1800832be
lea r8, [rdi + 0xf]
cmp rdi, r9
ja 0x180083336
test r8, r8
je 0x180083336
mov ecx, dword [r10]
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
lea eax, [rdi - 1]
mov dword [r10 + 0x10], eax
lea eax, [rdi + 1]
mov dword [r10 + 0x14], eax
lea eax, [rdi - 2]
mov dword [r10 + 0x18], eax
lea eax, [rdi + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rdi - 3]
mov dword [r10 + 0x20], eax
lea eax, [rdi + 3]
mov dword [r10 + 0x24], eax
lea eax, [rcx - 1]
mov dword [r10 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x3c], eax
mov dword [r10 + 4], ecx
mov dword [r10], edi
mov rcx, qword [rbp + 0x8f]
mov esi, dword [rbp - 0x49]
mov r15, qword [rbp + 0x6f]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x180083365
xor ebx, ebx
jmp 0x1800833de
mov r11d, dword [r15 + 0x40]
add r8, 0xfffffffffffffff0
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x30]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x8f]
lea edx, [r12 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], ebx
cmp r11, 6
jae 0x18008340f
movzx r10d, r11w
mov eax, 0x17
jmp 0x180083481
cmp r11, 0x82
jae 0x180083439
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 0x180083481
cmp r11, 0x842
jae 0x180083456
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x180083481
mov eax, 0x17
cmp r11, 0x1842
jae 0x18008346c
mov r10d, 0x15
jmp 0x180083481
cmp r11, 0x5842
jae 0x18008347d
mov r10d, 0x16
jmp 0x180083481
movzx r10d, ax
cmp r9, 0xa
jae 0x18008348e
sub r9w, 2
jmp 0x1800834ce
cmp r9, 0x86
jae 0x1800834b3
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 0x1800834ce
cmp r9, 0x846
jae 0x1800834ca
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1800834ce
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 0x180083506
cmp r10w, 8
jae 0x180083506
cmp r9w, 0x10
jae 0x180083506
cmp r9w, 8
jb 0x18008353a
or dx, 0x40
jmp 0x18008353a
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x9f]
mov rsi, qword [rbp + 0x4f]
mov rbx, qword [rbp - 0x29]
mov word [r14 + 0xc], dx
add r14, 0x10
add qword [rax], r11
lea rax, [r12 + rsi]
mov qword [rbp + 0x8f], r14
xor r14d, r14d
lea r11, [rsi + 2]
cmp rax, rbx
mov qword [rsp + 0x30], r14
cmovb rbx, rax
mov rax, r12
shr rax, 2
cmp rdi, rax
jae 0x1800835a8
lea rax, [rdi*4]
mov rcx, r12
sub rcx, rax
lea rax, [rcx + rsi]
cmp r11, rax
mov eax, 2
cmova rcx, rax
lea r11, [rsi + rcx]
cmp rbx, r11
cmovb r11, rbx
cmp r11, rbx
jae 0x18008365e
mov r15, qword [rsp + 8]
mov r14d, 0xffff
nop dword [rax]
mov r10, qword [r15 + 0x408]
mov rax, r11
and rax, qword [rbp + 0x5f]
mov rdx, r11
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [r15 + rcx*2]
mov r8d, eax
inc ax
mov word [r15 + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, r11w
cmp rdx, r14
cmova rdx, r14
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
lea rcx, [r10 + rax*4]
mov word [rcx], dx
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], r11d
inc r11
mov word [r10 + r9*2 + 0x20000], r8w
cmp r11, rbx
jb 0x1800835c0
mov r15, qword [rbp + 0x6f]
mov r14, qword [rsp + 0x30]
add rsi, r12
mov qword [rbp + 0x4f], rsi
jmp 0x18008384a
mov r14, qword [rsp + 0x30]
inc rsi
mov r15, qword [rbp - 0x71]
inc r14
mov qword [rsp + 0x30], r14
mov qword [rbp + 0x4f], rsi
cmp rsi, r15
jbe 0x180083846
mov rax, qword [rbp - 0x21]
mov r11, qword [rbp - 0x69]
lea rax, [r15 + rax*4]
cmp rsi, rax
jbe 0x180083777
add r11, 0xfffffffffffffffc
lea rax, [rsi + 0x10]
cmp rax, r11
cmovb r11, rax
cmp rsi, r11
jae 0x180083846
mov rax, r11
add r14, 4
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffc
add r14, rax
mov qword [rsp + 0x30], r14
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdi + 0x408]
mov rax, rsi
and rax, rbx
mov rdx, rsi
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, si
cmp rdx, r12
cmova rdx, r12
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
lea rcx, [r10 + rax*4]
mov word [rcx], dx
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], esi
add rsi, 4
mov word [r10 + r9*2 + 0x20000], r8w
cmp rsi, r11
jb 0x1800836e0
jmp 0x180083842
add r11, 0xfffffffffffffffd
lea rax, [rsi + 8]
cmp rax, r11
cmovb r11, rax
cmp rsi, r11
jae 0x180083846
mov rax, r11
add r14, 2
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffe
add r14, rax
mov qword [rsp + 0x30], r14
nop dword [rax + rax]
mov r10, qword [rdi + 0x408]
mov rax, rsi
and rax, rbx
mov rdx, rsi
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rcx, r9
and ecx, 0x1ff
movzx eax, word [rdi + rcx*2]
mov r8d, eax
inc ax
mov word [rdi + rcx*2], ax
and r8d, 0x1ff
mov eax, dword [r10 + r9*4]
sub rdx, rax
movzx eax, si
cmp rdx, r12
cmova rdx, r12
mov byte [rax + r10 + 0x30000], r9b
lea rax, [rcx + 0x80]
shl rax, 9
add rax, r8
lea rcx, [r10 + rax*4]
mov word [rcx], dx
movzx eax, word [r10 + r9*2 + 0x20000]
mov word [rcx + 2], ax
mov dword [r10 + r9*4], esi
add rsi, 2
mov word [r10 + r9*2 + 0x20000], r8w
cmp rsi, r11
jb 0x1800837b0
mov qword [rbp + 0x4f], rsi
mov r15, qword [rbp + 0x6f]
mov r11, qword [rbp - 0x69]
lea rax, [rsi + 4]
mov r9, qword [rsp + 8]
mov rbx, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x39]
cmp rax, r11
jb 0x180081c00
mov r12, qword [rsp + 0xd8]
mov rax, qword [rbp + 0x87]
sub r11, rsi
mov rcx, qword [rbp + 0x8f]
add r11, r14
sub rcx, qword [rbp - 0x11]
sar rcx, 4
mov qword [rax], r11
mov rax, qword [rbp + 0x97]
add qword [rax], rcx
add rsp, 0xe0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov r8, qword [rbp + 0x67]
mov rax, rcx
mov rdi, qword [rbp + 0x7f]
mov r10d, 1
mov rbx, qword [rbp + 0x87]
mov rsi, rdx
add rdx, rax
mov qword [rbp - 0x21], rbx
mov ecx, dword [r8 + 8]
mov r11, r9
mov r14, qword [r8 + 0x10]
mov rdi, qword [rdi]
shl r10, cl
sub r10, 0x10
mov qword [rbp - 0x61], r14
mov qword [rbp - 0x69], r10
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x58], rdx
cmp rax, 4
jb 0x18008392c
add rdx, 0xfffffffffffffffd
mov qword [rbp - 0x31], rdx
jmp 0x180083930
mov qword [rbp - 0x31], rsi
cmp dword [r8 + 4], 9
mov eax, 0x200
mov r15, qword [rbp + 0x6f]
mov ecx, 0x40
cmovl eax, ecx
mov qword [rbp - 0x29], rax
add rax, rsi
mov qword [rsp + 0x60], rax
mov edx, dword [r15 + 0x4c]
cmp edx, 4
jle 0x1800839bf
mov r9, qword [rbp + 0x77]
mov ecx, dword [r9]
lea eax, [rcx - 1]
mov dword [r9 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x24], eax
cmp edx, 0xa
jle 0x1800839bf
mov ecx, dword [r9 + 4]
lea eax, [rcx - 1]
mov dword [r9 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x3c], eax
mov rcx, qword [rsp + 0x58]
lea rax, [rsi + 4]
cmp rax, rcx
jae 0x180084ca5
mov qword [rsp + 0xf0], r12
xor edx, edx
mov qword [rsp + 0xe8], r13
nop dword [rax]
nop word [rax + rax]
mov r13, qword [rbp + 0x6f]
lea rax, [r14 + rsi]
mov r15, qword [r15 + 0x58]
mov r12, rcx
sub r12, rsi
mov qword [rbp - 0x49], rdx
cmp rsi, r10
mov qword [rsp + 8], r12
mov r14, qword [r13 + 0x60]
mov r9, r10
cmovb r9, rsi
mov qword [rsp + 0x30], 0x7e4
cmp rax, r10
mov qword [rsp + 0x18], r9
mov rcx, r10
mov qword [rsp + 0x38], r15
cmovb rcx, rax
mov qword [rsp + 0x50], r14
mov rax, qword [r8 + 0x50]
mov rbx, rdx
mov r8, rsi
mov qword [rsp], rcx
movsxd rsi, dword [r13 + 0x4c]
and r8, r11
mov qword [rsp + 0x48], rax
mov ecx, 0x7e4
mov qword [rsp + 0x10], r8
mov r10, rdx
mov qword [rsp + 0x20], rdx
mov dword [rbp - 0x39], edx
mov qword [rsp + 0x28], rcx
mov qword [rbp + 0x3f], rdx
test rsi, rsi
je 0x180083c04
mov r14, qword [rbp + 0x4f]
mov r15, r8
mov rax, qword [rbp + 0x47]
mov r13, qword [rbp + 0x77]
mov qword [rsp + 0x28], rcx
mov qword [rbp + 0x3f], rdx
nop dword [rax]
nop dword [rax + rax]
movsxd rdi, dword [r13 + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x180083be5
cmp rdi, r9
ja 0x180083be5
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x180083be5
lea rax, [rcx + r10]
cmp rax, r11
ja 0x180083be1
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x180083be1
mov r8, r12
lea r11, [rcx + r14]
shr r8, 3
lea rdx, [r15 + r14]
xor ecx, ecx
test r8, r8
je 0x180083b2e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x180083bc3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180083b10
mov r8, r12
and r8d, 7
je 0x180083b53
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180083b53
inc rcx
sub r8, 1
jne 0x180083b40
mov r8, rcx
cmp r8, 3
jae 0x180083b67
cmp r8, 2
jne 0x180083bd4
cmp rbx, r8
jae 0x180083bd4
mov r11, qword [rsp + 0x28]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x180083bd4
test rbx, rbx
je 0x180083ba7
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 0x180083bd4
mov qword [rsp + 0x28], r9
mov r10, r8
mov qword [rbp + 0x3f], r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x49], rdi
mov qword [rsp + 0x30], r9
jmp 0x180083bd8
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180083b56
mov r10, qword [rbp + 0x3f]
mov r9, qword [rsp + 0x18]
mov r11, qword [rbp + 0x57]
mov rax, qword [rbp + 0x47]
inc rbx
cmp rbx, rsi
jb 0x180083aa0
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x50]
mov r8, qword [rsp + 0x10]
mov r13, qword [rbp + 0x6f]
mov ecx, dword [r13 + 0x40]
mov r12, qword [rbp + 0x4f]
add r12, r8
imul edx, dword [r12], 0x1e35a7bd
shr edx, cl
mov ecx, dword [r13 + 0x48]
mov eax, edx
shl eax, cl
lea r13, [r15 + rdx*2]
mov r15, qword [rbp + 0x6f]
movzx edx, word [r13]
mov esi, edx
mov qword [rsp + 0x38], r13
lea r14, [r14 + rax*4]
mov edi, edx
sub rsi, qword [r15 + 0x38]
mov eax, 0
cmp rdx, qword [r15 + 0x38]
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x180083d8f
mov r15d, dword [r15 + 0x44]
mov r13, qword [rbp + 0x4f]
nop dword [rax]
mov rbx, qword [rbp + 0x47]
dec rdi
mov rax, r15
and rax, rdi
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x180083d81
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x180083d78
lea rax, [rcx + r10]
cmp rax, r11
ja 0x180083d78
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x180083d78
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rsp + 8]
mov r8, rax
shr r8, 3
test r8, r8
je 0x180083cf3
mov r10, r11
sub r10, r12
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180083d63
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180083cd0
mov rax, qword [rsp + 8]
mov r8, rax
and r8d, 7
je 0x180083d13
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180083d13
inc rcx
sub r8, 1
jne 0x180083d00
mov rdx, rcx
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp + 0x18]
mov r11, qword [rbp + 0x57]
cmp rdx, 4
jb 0x180083d74
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x28], rax
jae 0x180083d74
mov qword [rsp + 0x28], rax
mov r10, rdx
mov qword [rbp + 0x3f], rdx
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x49], rbx
mov qword [rsp + 0x30], rax
jmp 0x180083d78
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x180083d16
mov r10, qword [rbp + 0x3f]
cmp rdi, rsi
ja 0x180083c60
mov r13, qword [rsp + 0x38]
mov r15, qword [rbp + 0x6f]
movzx edx, word [r13]
mov eax, dword [r15 + 0x44]
mov rsi, qword [rbp + 0x47]
and rax, rdx
mov dword [r14 + rax*4], esi
inc word [r13]
cmp qword [rsp + 0x30], 0x7e4
jne 0x1800840b2
mov r13, qword [r15 + 0x50]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x1800840b2
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180083f42
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180083f42
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 0x180083e6e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x180083f2e
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180083e50
mov r8, r11
and r8d, 7
je 0x180083e93
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x180083e93
inc rcx
sub r8, 1
jne 0x180083e80
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180083f48
test r9, r9
je 0x180083f48
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x48]
ja 0x180083f4c
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x30]
jb 0x180083f4c
mov qword [rsp + 0x30], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x20], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x39], r11d
mov qword [rbp - 0x49], rdx
jmp 0x180083f4c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180083e96
mov rsi, qword [rsp]
jmp 0x180083f51
mov rsi, qword [rsp]
mov rdx, qword [rsp + 8]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x1800840a8
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1800840a8
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 0x180083fde
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x180084094
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180083fc0
mov r8, r11
and r8d, 7
je 0x180083ffc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x180083ffc
inc rdx
inc rcx
sub r8, 1
jne 0x180083fe7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1800840a8
test r9, r9
je 0x1800840a8
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x48]
ja 0x1800840a8
mov rsi, qword [rbp + 0x47]
mov r15, qword [rbp + 0x6f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x30]
jb 0x1800840b6
sub r11d, r9d
mov qword [rbp - 0x49], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x39], r11d
mov qword [rsp + 0x30], rax
jmp 0x1800840bb
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180083fff
mov rsi, qword [rbp + 0x47]
mov r15, qword [rbp + 0x6f]
jmp 0x1800840b6
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x30], 0x7e4
jbe 0x180084cd9
mov r12, qword [rsp + 8]
xor ebx, ebx
mov dword [rbp + 0x3f], ebx
dec r12
cmp dword [r14 + 4], 5
mov qword [rsp + 8], r12
jge 0x1800840f3
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x1800840f6
mov r10, rbx
mov r8, qword [rbp - 0x69]
lea rdx, [rsi + 1]
mov rax, qword [rbp - 0x61]
cmp rdx, r8
mov r13, qword [rbp + 0x6f]
mov r11, r8
mov r9, qword [rbp + 0x57]
cmovb r11, rdx
inc rax
mov qword [rsp + 0x18], r10
add rax, rsi
mov qword [rsp + 0x70], rbx
movsxd rsi, dword [r13 + 0x4c]
cmp rax, r8
mov rcx, r8
mov qword [rbp - 0x79], 0x7e4
cmovb rcx, rax
mov qword [rsp], rdx
mov rax, qword [r14 + 0x50]
mov r8, rdx
mov r14, qword [r15 + 0x58]
and r8, r9
mov r15, qword [r15 + 0x60]
mov qword [rsp + 0x48], rcx
mov ecx, 0x7e4
mov qword [rbp - 0x59], r15
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x10], r14
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x68], rbx
mov dword [rbp - 0x71], ebx
test rsi, rsi
je 0x180084305
mov r15, qword [rbp + 0x4f]
mov r14, r8
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x50], rcx
nop dword [rax + rax]
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x1800842eb
cmp rdi, r11
ja 0x1800842eb
and rcx, r9
lea rdx, [r10 + r14]
cmp rdx, r9
ja 0x1800842e7
lea rax, [rcx + r10]
cmp rax, r9
ja 0x1800842e3
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x1800842e3
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
xor eax, eax
test r8, r8
je 0x18008422e
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 0x1800842c4
add rdx, 8
add rax, 8
sub r8, 1
jne 0x180084210
mov r8, r12
and r8d, 7
je 0x180084253
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x180084253
inc rax
sub r8, 1
jne 0x180084240
mov r8, rax
cmp r8, 3
jae 0x180084267
cmp r8, 2
jne 0x1800842d5
cmp rbx, r8
jae 0x1800842d5
mov r11, qword [rsp + 0x50]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x1800842d5
test rbx, rbx
je 0x1800842a7
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 0x1800842d5
mov qword [rsp + 0x50], r9
mov r10, r8
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x79], r9
jmp 0x1800842da
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x180084256
mov r10, qword [rsp + 0x18]
mov r11, qword [rsp + 0x28]
mov r9, qword [rbp + 0x57]
mov rax, qword [rbp + 0x77]
mov rdx, qword [rsp]
inc rbx
cmp rbx, rsi
jb 0x1800841a0
mov r14, qword [rsp + 0x10]
mov r15, qword [rbp - 0x59]
mov r8, qword [rsp + 0x38]
mov r9, qword [rbp + 0x4f]
mov rbx, r13
add r9, r8
mov qword [rsp + 0x10], r9
mov ecx, dword [rbx + 0x40]
imul edx, dword [r9], 0x1e35a7bd
shr edx, cl
movzx r13d, word [r14 + rdx*2]
lea r12, [r14 + rdx*2]
mov ecx, dword [rbx + 0x48]
mov eax, edx
shl eax, cl
mov esi, r13d
sub rsi, qword [rbx + 0x38]
mov edi, r13d
cmp r13, qword [rbx + 0x38]
mov qword [rbp - 0x59], r12
lea r15, [r15 + rax*4]
mov eax, 0
cmovbe rsi, rax
cmp r13, rsi
jbe 0x1800844a1
mov r14d, dword [rbx + 0x44]
mov r13, qword [rsp]
mov r12, qword [rbp + 0x4f]
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, r11
ja 0x180084494
and rcx, qword [rbp + 0x57]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x57]
ja 0x18008448b
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x18008448b
movzx eax, byte [rax + r12]
cmp byte [rdx + r12], al
jne 0x18008448b
xor eax, eax
lea r11, [rcx + r12]
mov ecx, eax
mov rdx, r9
mov rax, qword [rsp + 8]
mov r8, rax
shr r8, 3
test r8, r8
je 0x180084403
mov r10, r11
sub r10, r9
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180084475
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800843e0
mov rax, qword [rsp + 8]
mov r8, rax
and r8d, 7
je 0x180084423
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180084423
inc rcx
sub r8, 1
jne 0x180084410
mov rdx, rcx
mov r9, qword [rsp + 0x10]
mov r8, qword [rsp + 0x38]
mov r11, qword [rsp + 0x28]
cmp rdx, 4
jb 0x180084486
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x50], rax
jae 0x180084486
mov qword [rsp + 0x50], rax
mov r10, rdx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x79], rax
jmp 0x18008448b
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x180084426
mov r10, qword [rsp + 0x18]
cmp rdi, rsi
ja 0x180084370
mov r12, qword [rbp - 0x59]
mov rbx, qword [rbp + 0x6f]
movzx r13d, word [r12]
mov eax, dword [rbx + 0x44]
mov rcx, qword [rsp]
and rax, r13
mov dword [r15 + rax*4], ecx
inc word [r12]
mov r12, qword [rbp - 0x79]
mov r15, qword [rbp + 0x6f]
cmp r12, 0x7e4
jne 0x1800847cd
mov r13, qword [r15 + 0x50]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x1800847c9
imul ebx, dword [r9], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180084668
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180084668
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 0x180084583
mov r10, r9
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18008464a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180084560
mov r9, qword [rsp + 0x10]
mov r8, r11
and r8d, 7
je 0x1800845a3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r9], al
jne 0x1800845a3
inc rcx
sub r8, 1
jne 0x180084590
mov r9, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18008465e
test r9, r9
je 0x18008465e
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x48]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x60]
ja 0x18008463e
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x18008463e
mov r12, rax
mov qword [rbp - 0x79], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x68], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x71], r11d
mov qword [rsp + 0x70], rdx
mov r9, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
jmp 0x18008466d
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1800845a6
mov rdx, qword [rsp + 8]
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x1800847bf
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1800847bf
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 0x1800846ee
mov r10, r9
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1800847ab
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800846d0
mov r8, r11
and r8d, 7
je 0x180084715
mov r9, qword [rsp + 0x10]
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r9], al
jne 0x180084715
inc rdx
inc rcx
sub r8, 1
jne 0x180084700
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1800847bf
test r9, r9
je 0x1800847bf
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 0x1800847bf
mov r15, qword [rbp + 0x6f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rax, r12
jb 0x1800847d1
sub r11d, r9d
mov qword [rsp + 0x68], r9
inc qword [r13 + 0x10]
mov r12, rax
mov dword [rbp - 0x71], r11d
mov qword [rsp + 0x70], rdx
mov qword [rbp - 0x79], rax
jmp 0x1800847d1
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180084718
mov rcx, qword [rsp]
mov r15, qword [rbp + 0x6f]
jmp 0x1800847d1
mov rcx, qword [rsp]
mov r14, qword [rbp + 0x67]
mov rax, qword [rsp + 0x30]
add rax, 0xaf
cmp r12, rax
jb 0x18008483d
movups xmm0, xmmword [rsp + 0x68]
inc qword [rsp + 0x40]
mov rsi, rcx
movups xmm1, xmmword [rbp - 0x79]
mov qword [rbp + 0x47], rcx
mov ecx, dword [rbp + 0x3f]
inc ecx
mov dword [rbp + 0x3f], ecx
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm1
cmp ecx, 4
jge 0x180084837
lea rax, [rsi + 4]
cmp rax, qword [rsp + 0x58]
jae 0x180084837
mov r12, qword [rsp + 8]
mov r9, qword [rbp - 0x41]
dec r12
mov rcx, qword [rbp - 0x51]
xor ebx, ebx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x20], rcx
jmp 0x1800840d7
mov r13, qword [rbp - 0x51]
jmp 0x180084846
mov rsi, qword [rbp + 0x47]
mov r13, qword [rsp + 0x20]
mov rax, qword [rbp - 0x29]
mov r10, qword [rbp - 0x69]
mov r11, qword [rbp + 0x77]
mov rbx, qword [rbp - 0x49]
lea r12, [rax + r13*2]
mov rax, qword [rbp - 0x61]
add rax, rsi
add r12, rsi
cmp rax, r10
mov qword [rsp + 0x60], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rbx, r10
ja 0x1800848fe
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 0x18008489d
xor r9d, r9d
mov r8d, r9d
jmp 0x180084905
cmp rbx, r9
jne 0x1800848aa
mov r8d, 1
jmp 0x180084902
cmp r8, 7
jae 0x1800848c6
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x180084902
cmp rcx, 7
jae 0x1800848de
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x180084902
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x1800848ef
mov r8d, 2
jmp 0x180084902
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x180084902
lea r8, [rbx + 0xf]
xor r9d, r9d
cmp rbx, r10
ja 0x180084987
test r8, r8
je 0x180084987
mov eax, dword [r11 + 8]
mov ecx, dword [r11]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov dword [rdx], ecx
mov dword [r11], ebx
mov edx, dword [r15 + 0x4c]
cmp edx, 4
jle 0x180084987
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 0x180084987
lea eax, [rcx - 1]
mov dword [r11 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r11 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r11 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r11 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r11 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r11 + 0x3c], eax
mov r11, qword [rbp + 0x87]
mov esi, dword [rbp - 0x39]
mov r12, qword [rsp + 0x40]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [r11], r12d
mov dword [r11 + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x1800849b9
mov edi, r9d
jmp 0x180084a38
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 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 + 0x87]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea edx, [rsi + r13]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x180084a62
movzx r10d, r12w
mov eax, 0x17
jmp 0x180084ad7
cmp r12, 0x82
jae 0x180084a8e
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 0x180084ad7
cmp r12, 0x842
jae 0x180084aac
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x180084ad7
mov eax, 0x17
cmp r12, 0x1842
jae 0x180084ac2
mov r10d, 0x15
jmp 0x180084ad7
cmp r12, 0x5842
jae 0x180084ad3
mov r10d, 0x16
jmp 0x180084ad7
movzx r10d, ax
cmp r9, 0xa
jae 0x180084ae4
sub r9w, 2
jmp 0x180084b24
cmp r9, 0x86
jae 0x180084b09
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 0x180084b24
cmp r9, 0x846
jae 0x180084b20
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x180084b24
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 0x180084b5c
cmp r10w, 8
jae 0x180084b5c
cmp r9w, 0x10
jae 0x180084b5c
cmp r9w, 8
jb 0x180084b90
or dx, 0x40
jmp 0x180084b90
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]
mov rsi, qword [rbp + 0x47]
mov word [r11 + 0xc], dx
add r11, 0x10
mov qword [rbp + 0x87], r11
add qword [rax], r12
xor eax, eax
mov r11, qword [rbp - 0x31]
lea r10, [rsi + 2]
mov edi, eax
mov qword [rsp + 0x40], rax
lea rax, [rsi + r13]
cmp rax, r11
cmovb r11, rax
mov rax, r13
shr rax, 2
cmp rbx, rax
jae 0x180084bff
lea rax, [rbx*4]
mov rcx, r13
sub rcx, rax
lea rax, [rcx + rsi]
cmp r10, rax
mov eax, 2
cmova rcx, rax
lea r10, [rsi + rcx]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x180084c60
mov rbx, qword [rbp + 0x4f]
nop dword [rax + rax]
mov ecx, dword [r15 + 0x40]
mov rax, r10
and rax, qword [rbp + 0x57]
imul r8d, dword [rax + rbx], 0x1e35a7bd
mov rax, qword [r15 + 0x58]
shr r8d, cl
mov ecx, dword [r15 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r15 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r15 + 0x60]
mov dword [rax + rdx*4], r10d
inc r10
mov rax, qword [r15 + 0x58]
inc word [r9 + rax]
cmp r10, r11
jb 0x180084c10
add rsi, r13
mov qword [rbp + 0x47], rsi
mov r11, qword [rbp + 0x57]
mov rcx, qword [rsp + 0x58]
lea rax, [rsi + 4]
mov r8, qword [rbp + 0x67]
mov edx, 0
mov r10, qword [rbp - 0x69]
mov r14, qword [rbp - 0x61]
cmp rax, rcx
jb 0x1800839f0
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rbx, qword [rbp + 0x87]
sub rbx, qword [rbp - 0x21]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rbp + 0x7f]
sub rax, rsi
add rax, rdi
sar rbx, 4
mov qword [rcx], rax
mov rax, qword [rbp + 0x8f]
add qword [rax], rbx
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdi, qword [rsp + 0x40]
inc rsi
mov r12, qword [rsp + 0x60]
inc rdi
mov qword [rsp + 0x40], rdi
mov qword [rbp + 0x47], rsi
cmp rsi, r12
jbe 0x180084c67
mov rax, qword [rbp - 0x29]
mov r10, qword [rsp + 0x58]
mov r11, qword [rbp + 0x57]
lea rax, [r12 + rax*4]
cmp rsi, rax
jbe 0x180084da8
add r10, 0xfffffffffffffffc
lea rax, [rsi + 0x10]
cmp rax, r10
cmovb r10, rax
cmp rsi, r10
jae 0x180084c6b
mov rbx, qword [rbp + 0x4f]
mov rax, r10
sub rax, rsi
add rdi, 4
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rsp + 0x40], rdi
nop word [rax + rax]
mov ecx, dword [r15 + 0x40]
mov rax, rsi
and rax, r11
imul r8d, dword [rax + rbx], 0x1e35a7bd
mov rax, qword [r15 + 0x58]
shr r8d, cl
mov ecx, dword [r15 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r15 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r15 + 0x60]
mov dword [rax + rdx*4], esi
add rsi, 4
mov rax, qword [r15 + 0x58]
inc word [r9 + rax]
cmp rsi, r10
jb 0x180084d50
mov qword [rbp + 0x47], rsi
jmp 0x180084c6b
add r10, 0xfffffffffffffffd
lea rax, [rsi + 8]
cmp rax, r10
cmovb r10, rax
cmp rsi, r10
jae 0x180084c6b
mov rbx, qword [rbp + 0x4f]
mov rax, r10
sub rax, rsi
add rdi, 2
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rsp + 0x40], rdi
nop dword [rax]
mov ecx, dword [r15 + 0x40]
mov rax, rsi
and rax, r11
imul r8d, dword [rax + rbx], 0x1e35a7bd
mov rax, qword [r15 + 0x58]
shr r8d, cl
mov ecx, dword [r15 + 0x48]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [r9 + rax]
mov eax, dword [r15 + 0x44]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r15 + 0x60]
mov dword [rax + rdx*4], esi
add rsi, 2
mov rax, qword [r15 + 0x58]
inc word [r9 + rax]
cmp rsi, r10
jb 0x180084de0
mov qword [rbp + 0x47], rsi
jmp 0x180084c6b
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x180c61100]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, qword [rbp + 0xa8]
mov rax, rcx
mov rcx, qword [rbp + 0xd8]
mov rbx, r9
mov r9, qword [rbp + 0xc0]
mov r15, rdx
mov r10, qword [rbp + 0xc8]
mov edi, 1
mov r14, qword [rbp + 0xd0]
mov r11, r8
mov qword [rbp - 0x40], rcx
mov ecx, dword [rsi + 8]
lea r13, [r15 + rax]
shl rdi, cl
mov rcx, qword [rsi + 0x10]
sub rdi, 0x10
mov qword [rbp - 0x48], rcx
mov rcx, r10
mov qword [rsp], r8
mov r8, qword [rbp + 0xb8]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xb0]
mov qword [rbp - 0x28], r9
mov r9, qword [r9]
mov qword [rbp - 0x30], rcx
mov qword [rsp + 8], rbx
mov qword [rbp - 0x68], rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x70], r10
mov qword [rbp - 0x38], r14
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x60], r13
cmp rax, 8
jb 0x180084f15
lea rax, [r13 - 7]
mov qword [rbp - 0x60], rax
jmp 0x180084f19
mov qword [rbp - 0x60], r15
cmp dword [rsi + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x58], rax
add rax, r15
mov qword [rsp + 0x48], rax
lea rax, [r15 + 8]
cmp rax, r13
jae 0x180085ef8
movdqa xmm2, xmmword [0x180b985c0]
movabs rcx, 0x35a7bd1e35a7bd00
movdqa xmm3, xmmword [0x180b985f0]
nop
mov r9, r13
mov qword [rsp + 0x20], 0x7e4
mov r13, qword [rsp + 0x28]
sub r9, r15
cmp r15, rdi
mov qword [rsp + 0x10], r9
mov r12, rdi
mov edi, 0x7e4
cmovb r12, r15
xor r10d, r10d
mov r15, rbx
mov qword [rsp + 0x18], r10
and r15, r13
mov qword [rbp - 0x80], r10
mov r10, qword [rdx + 0x38]
lea rbx, [r11 + r15]
movsxd r11, dword [r8]
xor r14d, r14d
mov rax, qword [rbx]
movzx esi, byte [rbx]
mov r8, qword [rsp + 8]
mov rdx, qword [rsp]
imul rax, rcx
mov rcx, r13
mov qword [rsp + 0x38], r10
shr rax, 0x2c
sub rcx, r11
mov dword [rbp - 0x70], r14d
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r13
jae 0x1800850b6
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10]
cmp esi, eax
jne 0x1800850b1
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x18008502f
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x18008509b
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180085010
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085053
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x180085053
inc rcx
sub r8, 1
jne 0x180085040
mov rax, rcx
mov rdx, qword [rsp]
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 8]
cmp rax, 4
jb 0x1800850b6
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x1800850b6
mov qword [rsp + 0x18], rax
mov r14, rax
add rax, rdx
mov qword [rbp - 0x80], r11
mov qword [rsp + 0x20], rcx
mov rdi, rcx
movzx esi, byte [rax + r15]
jmp 0x1800850b6
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x180085056
mov r10, qword [rsp + 0x38]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 - 0x20], xmm0
add rax, 2
cmp rax, 4
jb 0x1800850c0
mov r11, qword [rsp + 0x28]
mov rax, r13
shr rax, 3
and eax, 3
mov r13, qword [rbp + rax*8 - 0x20]
mov rax, qword [rbp - 0x20]
mov ecx, dword [r10 + rax*4]
mov r10d, r8d
sub r11, rcx
and r10, rcx
add r10, rdx
movzx eax, byte [r10 + r14]
cmp esi, eax
jne 0x1800851d9
test r11, r11
je 0x1800851d9
cmp r11, r12
ja 0x1800851d9
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x180085173
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180085477
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180085150
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085193
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x180085193
inc rcx
sub r8, 1
jne 0x180085180
mov rdx, rcx
cmp rdx, 4
jb 0x1800851d9
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x1800851d9
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x18], rdx
mov rdi, r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + r14]
cmp esi, eax
jne 0x1800852bb
test r11, r11
je 0x1800852bb
cmp r11, r12
ja 0x1800852bb
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x180085253
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180085490
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180085230
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085275
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180085275
inc rdx
inc rcx
sub r8, 1
jne 0x180085260
mov rdx, rcx
cmp rdx, 4
jb 0x1800852bb
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x1800852bb
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x18], rdx
mov rdi, r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + r14]
cmp esi, eax
jne 0x18008539b
test r11, r11
je 0x18008539b
cmp r11, r12
ja 0x18008539b
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x180085333
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1800854a9
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180085310
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085355
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180085355
inc rdx
inc rcx
sub r8, 1
jne 0x180085340
mov rdx, rcx
cmp rdx, 4
jb 0x18008539b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x18008539b
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x18], rdx
mov rdi, r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x80], r11
movzx esi, byte [rax + r15]
mov rax, qword [rbp - 8]
mov r11, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
mov r9, qword [rsp]
mov r10, r15
mov ecx, dword [r11 + rax*4]
mov eax, dword [rsp + 8]
sub r10, rcx
and rcx, rax
add r9, rcx
movzx eax, byte [r9 + r14]
cmp esi, eax
jne 0x1800854d1
test r10, r10
je 0x1800854d1
cmp r10, r12
ja 0x1800854d1
mov r14, qword [rsp + 0x10]
xor ecx, ecx
mov rax, r14
shr rax, 3
test rax, rax
je 0x18008541e
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rbx]
mov rdx, qword [rcx + r9]
cmp r8, rdx
jne 0x1800854bd
add rbx, 8
add rcx, 8
sub rax, 1
jne 0x180085400
mov rdx, r14
and edx, 7
je 0x18008543b
movzx eax, byte [rbx]
cmp byte [rcx + r9], al
jne 0x18008543b
inc rbx
inc rcx
sub rdx, 1
jne 0x180085426
mov r8, rcx
cmp r8, 4
jb 0x1800854d1
bsr eax, r10d
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x1800854d1
mov rcx, r8
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x18], rcx
mov qword [rbp - 0x80], r10
jmp 0x1800854db
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180085196
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180085278
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180085358
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x18008543e
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov dword [r11 + r13*4], r15d
cmp rax, 0x7e4
jbe 0x180085f2f
mov dword [rsp + 0x38], 0
mov r9, qword [rsp + 0x10]
mov rax, qword [rbp - 0x68]
dec r9
mov qword [rsp + 0x10], r9
cmp dword [rax + 4], 5
jge 0x18008551a
lea rax, [rcx - 1]
mov rdi, r9
cmp rax, r9
cmovb rdi, rax
jmp 0x18008551c
xor edi, edi
mov r12, qword [rsp + 0x68]
lea r10, [r15 + 1]
mov rdx, qword [rsp + 8]
cmp r10, r12
mov rax, qword [rsp + 0x50]
movabs rcx, 0x35a7bd1e35a7bd00
mov rbx, qword [rsp]
cmovb r12, r10
mov r15, rdx
mov qword [rbp - 0x20], rdi
and r15, r10
mov qword [rbp - 0x18], 0
mov rax, qword [rax + 0x38]
add rbx, r15
mov qword [rsp + 0x48], rax
mov r13d, 0x7e4
mov qword [rbp - 0x10], r13
mov esi, r13d
mov qword [rsp + 0x40], r10
mov rax, qword [rbx]
movzx r14d, byte [rbx + rdi]
imul rax, rcx
mov rcx, r10
mov dword [rbp - 8], 0
shr rax, 0x2c
movq xmm1, rax
mov rax, qword [rsp + 0x58]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x180085686
mov r10, qword [rsp]
mov eax, edx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x180085681
mov rcx, r9
xor eax, eax
shr rcx, 3
mov rdx, rbx
test rcx, rcx
je 0x1800855ff
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rax + r10]
cmp r9, r8
jne 0x18008566b
add rdx, 8
add rax, 8
sub rcx, 1
jne 0x1800855e0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085623
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x180085623
inc rax
sub r8, 1
jne 0x180085610
mov rcx, rax
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 8]
cmp rcx, 4
jb 0x180085686
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, rsi
jbe 0x180085686
mov r13, rax
mov qword [rbp - 0x10], rax
mov rsi, rax
mov qword [rbp - 0x20], rcx
mov rax, qword [rsp]
mov rdi, rcx
add rax, rcx
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
jmp 0x180085686
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rcx, r8
shr rcx, 3
add rcx, rax
jmp 0x180085626
mov r10, qword [rsp + 0x40]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8], xmm0
add rax, 2
cmp rax, 4
jb 0x180085690
mov rax, r10
mov r11, r10
mov r10, qword [rsp]
shr rax, 3
and eax, 3
mov rcx, qword [rbp + rax*8]
mov rax, qword [rbp]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + rax*4]
mov eax, edx
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x1800857aa
test r11, r11
je 0x1800857aa
cmp r11, r12
ja 0x1800857aa
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x180085743
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180085ab3
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180085720
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085763
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x180085763
inc rcx
sub r8, 1
jne 0x180085750
mov rdx, rcx
cmp rdx, 4
jb 0x1800857aa
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x1800857aa
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov rsi, r8
mov qword [rbp - 0x10], r8
mov r13, r8
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x48]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x40]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x18008588c
test r11, r11
je 0x18008588c
cmp r11, r12
ja 0x18008588c
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x180085823
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180085acc
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180085800
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085845
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180085845
inc rdx
inc rcx
sub r8, 1
jne 0x180085830
mov rdx, rcx
cmp rdx, 4
jb 0x18008588c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x18008588c
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov rsi, r8
mov qword [rbp - 0x10], r8
mov r13, r8
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x48]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x40]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x18008596c
test r11, r11
je 0x18008596c
cmp r11, r12
ja 0x18008596c
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, rbx
test rax, rax
je 0x180085903
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180085ae5
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x1800858e0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x180085925
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180085925
inc rdx
inc rcx
sub r8, 1
jne 0x180085910
mov rdx, rcx
cmp rdx, 4
jb 0x18008596c
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x18008596c
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov rsi, r8
mov qword [rbp - 0x10], r8
mov r13, r8
mov qword [rbp - 0x18], r11
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x18]
mov r15, qword [rsp + 0x48]
mov r9, qword [rsp]
mov r11, qword [rsp + 0x40]
mov r10, r11
mov ecx, dword [r15 + rax*4]
mov eax, dword [rsp + 8]
sub r10, rcx
and rax, rcx
add r9, rax
movzx eax, byte [r9 + rdi]
cmp r14d, eax
jne 0x180085a3f
test r10, r10
je 0x180085a3f
cmp r10, r12
ja 0x180085a3f
mov r14, qword [rsp + 0x10]
xor ecx, ecx
mov rax, r14
shr rax, 3
test rax, rax
je 0x1800859ee
nop word [rax + rax]
mov r8, qword [rbx]
mov rdx, qword [rcx + r9]
cmp r8, rdx
jne 0x180085af9
add rbx, 8
add rcx, 8
sub rax, 1
jne 0x1800859d0
mov rdx, r14
and edx, 7
je 0x180085a0b
movzx eax, byte [rbx]
cmp byte [rcx + r9], al
jne 0x180085a0b
inc rbx
inc rcx
sub rdx, 1
jne 0x1800859f6
mov r8, rcx
cmp r8, 4
jb 0x180085a3f
bsr eax, r10d
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x180085a3f
mov qword [rbp - 0x20], r8
mov r13, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], r10
mov rax, qword [rbp - 0x50]
mov r12, qword [rsp + 0x30]
mov dword [r15 + rax*4], r11d
mov rax, qword [rsp + 0x20]
add rax, 0xaf
cmp r13, rax
jb 0x180085b19
mov ecx, dword [rsp + 0x38]
inc r12
movups xmm0, xmmword [rbp - 0x20]
inc ecx
mov r15, r11
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], ecx
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm1
cmp ecx, 4
jge 0x180085b0d
lea rax, [r11 + 8]
cmp rax, qword [rsp + 0x60]
jae 0x180085b0d
mov r10, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x18], rcx
jmp 0x1800854f3
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180085766
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180085848
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180085928
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x180085a0e
mov r11, qword [rsp + 0x78]
mov qword [rsp + 0x18], r11
jmp 0x180085b23
mov r15, qword [rsp + 0x28]
mov r11, qword [rsp + 0x18]
mov r9, qword [rsp + 0x68]
lea r13, [r15 + r11*2]
add r13, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x80]
add rax, r15
mov r10, qword [rsp + 0x58]
cmp rax, r9
mov qword [rsp + 0x48], r13
cmovb r9, rax
cmp rbx, r9
ja 0x180085bcf
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 0x180085b6f
xor r8d, r8d
jmp 0x180085bd3
cmp rbx, r8
jne 0x180085b7c
mov r8d, 1
jmp 0x180085bd3
cmp rdx, 7
jae 0x180085b97
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x180085bd3
cmp rcx, 7
jae 0x180085baf
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x180085bd3
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x180085bc0
mov r8d, 2
jmp 0x180085bd3
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x180085bd3
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x180085bf7
test r8, r8
je 0x180085bf7
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov dword [r10], ebx
mov r13, qword [rsp + 0x70]
mov esi, dword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
movzx eax, sil
shl eax, 0x19
or eax, r11d
mov dword [r13], r12d
mov dword [r13 + 4], eax
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x180085c26
xor edi, edi
jmp 0x180085c9f
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x18]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r13 + 0xe], r8w
lea edx, [rsi + r11]
mov eax, 0x3ff
mov dword [r13 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x180085cc9
movzx r10d, r12w
mov eax, 0x17
jmp 0x180085d3e
cmp r12, 0x82
jae 0x180085cf5
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 0x180085d3e
cmp r12, 0x842
jae 0x180085d13
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x180085d3e
mov eax, 0x17
cmp r12, 0x1842
jae 0x180085d29
mov r10d, 0x15
jmp 0x180085d3e
cmp r12, 0x5842
jae 0x180085d3a
mov r10d, 0x16
jmp 0x180085d3e
movzx r10d, ax
cmp r9, 0xa
jae 0x180085d4b
sub r9w, 2
jmp 0x180085d8b
cmp r9, 0x86
jae 0x180085d70
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 0x180085d8b
cmp r9, 0x846
jae 0x180085d87
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x180085d8b
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 0x180085dc3
cmp r10w, 8
jae 0x180085dc3
cmp r9w, 0x10
jae 0x180085dc3
cmp r9w, 8
jb 0x180085df7
or dx, 0x40
jmp 0x180085df7
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp - 0x40]
xor r9d, r9d
mov r8, qword [rbp - 0x60]
mov word [r13 + 0xc], dx
add r13, 0x10
mov qword [rsp + 0x70], r13
lea rdx, [r15 + 2]
add qword [rax], r12
lea rax, [r15 + r11]
cmp rax, r8
mov qword [rsp + 0x30], r9
cmovb r8, rax
mov rax, r11
shr rax, 2
cmp rbx, rax
jae 0x180085e55
lea rax, [rbx*4]
mov rcx, r15
sub rcx, rax
add rcx, r11
cmp rdx, rcx
cmova rcx, rdx
cmp r8, rcx
mov rdx, rcx
cmovb rdx, r8
cmp rdx, r8
jae 0x180085eaf
mov r15, qword [rsp]
movabs r11, 0x35a7bd1e35a7bd00
mov r9, qword [rsp + 0x50]
nop dword [rax]
mov rax, qword [rsp + 8]
and rax, rdx
mov rcx, qword [rax + r15]
mov eax, edx
imul rcx, r11
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r9 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x180085e70
mov r15, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r11, qword [rsp + 0x18]
add r15, r11
mov qword [rsp + 0x28], r15
mov rbx, qword [rsp + 8]
mov r11, qword [rsp]
mov r13, qword [rsp + 0x60]
lea rax, [r15 + 8]
mov rdx, qword [rsp + 0x50]
movabs rcx, 0x35a7bd1e35a7bd00
mov r8, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
cmp rax, r13
jb 0x180084f60
mov r10, qword [rsp + 0x70]
mov r14, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
sub r13, r15
sub r10, rcx
add r13, r9
sar r10, 4
mov qword [rax], r13
add qword [r14], r10
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800b26f0
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rsp + 0x30]
inc r15
mov r13, qword [rsp + 0x48]
inc r9
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r15
cmp r15, r13
jbe 0x180085eb7
mov rax, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x60]
mov r11, qword [rsp]
add rdx, 0xfffffffffffffff9
mov rbx, qword [rsp + 8]
lea rax, [rax*4]
add rax, r13
cmp r15, rax
jbe 0x180085ffa
lea rax, [r15 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x180085ec0
add r9, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r9, rax
mov qword [rsp + 0x30], r9
mov r9, qword [rsp + 0x50]
nop
mov rax, rbx
and rax, r15
mov rcx, qword [rax + r11]
movabs rax, 0x35a7bd1e35a7bd00
imul rcx, rax
mov eax, r15d
shr rcx, 0x2c
and eax, 0x18
add ecx, eax
mov rax, qword [r9 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x180085fb0
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x28], r15
jmp 0x180085ec0
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x180085ec0
add r9, 2
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r9, rax
mov qword [rsp + 0x30], r9
mov r9, qword [rsp + 0x50]
nop dword [rax]
mov rax, rbx
and rax, r15
mov rcx, qword [rax + r11]
movabs rax, 0x35a7bd1e35a7bd00
imul rcx, rax
mov eax, r15d
shr rcx, 0x2c
and eax, 0x18
add ecx, eax
mov rax, qword [r9 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x180086030
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x28], r15
jmp 0x180085ec0
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x180c61100]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, qword [rbp + 0xa8]
mov rax, rcx
mov rcx, qword [rbp + 0xd8]
mov r14, rdx
mov rbx, qword [rbp + 0xc8]
mov edi, 1
mov r10, qword [rbp + 0xb0]
mov r11, r9
mov r12, qword [rbp + 0xd0]
mov r15, r8
mov qword [rbp - 0x40], rcx
mov ecx, dword [rsi + 8]
shl rdi, cl
mov rcx, qword [rsi + 0x10]
sub rdi, 0x10
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0xc0]
mov qword [rsp], r9
mov qword [rsp + 8], r8
mov r8, qword [rbp + 0xb8]
mov r9, qword [rdx]
mov qword [rbp - 0x28], rdx
lea rdx, [r14 + rax]
mov qword [rbp - 0x48], rcx
mov rcx, rbx
mov qword [rbp - 0x60], rsi
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x38], r12
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x30], rbx
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x68], rdx
cmp rax, 8
jb 0x180086155
lea rax, [rdx - 7]
mov qword [rbp - 0x58], rax
jmp 0x180086159
mov qword [rbp - 0x58], r14
cmp dword [rsi + 4], 9
mov eax, 0x200
mov r13d, 0x40
cmovl eax, r13d
mov qword [rbp - 0x50], rax
add rax, r14
mov qword [rsp + 0x50], rax
lea rax, [r14 + 8]
cmp rax, rdx
jae 0x1800875aa
movdqa xmm2, xmmword [0x180b985c0]
movabs rcx, 0x35a7bd1e35a7bd00
movdqa xmm3, xmmword [0x180b985f0]
nop
mov r12, qword [r10 + 0x38]
mov r9, rdx
mov r10, qword [rsp + 0x20]
sub r9, r14
cmp r14, rdi
mov qword [rsp + 0x18], r9
mov rdx, rdi
mov qword [rsp + 0x40], 0x7e4
cmovb rdx, r14
xor ebx, ebx
mov r14, r11
mov qword [rsp + 0x48], rbx
movsxd r11, dword [r8]
and r14, r10
mov rax, qword [r15 + r14]
lea r13, [r15 + r14]
movzx edi, byte [r13]
xor esi, esi
mov r8, qword [rsp]
imul rax, rcx
mov rcx, r10
mov qword [rbp - 0x78], rbx
shr rax, 0x2c
sub rcx, r11
mov dword [rbp - 0x68], ebx
mov ebx, 0x7e4
mov qword [rsp + 0x28], rdx
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r10
jae 0x1800862f6
mov r10d, r8d
and r10, rcx
add r10, r15
movzx eax, byte [r10]
cmp edi, eax
jne 0x1800862f1
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x180086273
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1800862db
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086250
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x180086293
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x180086293
inc rcx
sub r8, 1
jne 0x180086280
mov rax, rcx
mov rdx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
mov r8, qword [rsp]
cmp rax, 4
jb 0x1800862f6
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x1800862f6
mov qword [rsp + 0x48], rax
mov rsi, rax
add rax, r15
mov qword [rbp - 0x78], r11
mov qword [rsp + 0x40], rcx
mov rbx, rcx
movzx edi, byte [rax + r14]
jmp 0x1800862f6
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x180086296
mov r10, qword [rsp + 0x20]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8 - 0x20], xmm0
add rax, 2
cmp rax, 4
jb 0x180086300
mov rax, r10
mov r11, r10
mov r10, qword [rsp + 8]
shr rax, 3
and eax, 3
mov r15, qword [rbp + rax*8 - 0x20]
mov rax, qword [rbp - 0x20]
mov ecx, dword [r12 + rax*4]
mov eax, r8d
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x18008641a
test r11, r11
je 0x18008641a
cmp r11, rdx
ja 0x18008641a
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x1800863b3
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180086878
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086390
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x1800863d3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x1800863d3
inc rcx
sub r8, 1
jne 0x1800863c0
mov rdx, rcx
cmp rdx, 4
jb 0x18008641a
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x18008641a
mov rax, qword [rsp + 8]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x48], rdx
mov rbx, r8
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 0x18]
mov r11, qword [rsp + 0x20]
mov r10, qword [rsp + 8]
mov rdx, qword [rsp + 0x28]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x180086501
test r11, r11
je 0x180086501
cmp r11, rdx
ja 0x180086501
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x180086493
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180086891
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086470
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x1800864b5
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x1800864b5
inc rdx
inc rcx
sub r8, 1
jne 0x1800864a0
mov rdx, rcx
cmp rdx, 4
jb 0x1800864fc
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x1800864fc
mov rax, qword [rsp + 8]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x48], rdx
mov rbx, r8
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rdx, qword [rsp + 0x28]
mov rax, qword [rbp - 0x10]
mov r11, qword [rsp + 0x20]
mov r10, qword [rsp + 8]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [rsi + r10]
cmp edi, eax
jne 0x1800865dc
test r11, r11
je 0x1800865dc
cmp r11, rdx
ja 0x1800865dc
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x180086573
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1800868aa
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086550
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x180086595
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180086595
inc rdx
inc rcx
sub r8, 1
jne 0x180086580
mov rdx, rcx
cmp rdx, 4
jb 0x1800865dc
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x1800865dc
mov rax, qword [rsp + 8]
mov rsi, rdx
add rax, rdx
mov qword [rsp + 0x48], rdx
mov rbx, r8
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x78], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp - 8]
mov r14, qword [rsp + 0x20]
mov r10, qword [rsp + 8]
mov r11, r14
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [rsi + r10]
mov rsi, qword [rsp + 0x28]
cmp edi, eax
jne 0x1800866b8
test r11, r11
je 0x1800866b8
cmp r11, rsi
ja 0x1800866b8
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x180086663
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x1800868c3
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086640
mov r9, qword [rsp + 0x18]
mov r8, r9
and r8d, 7
je 0x180086685
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180086685
inc rdx
inc rcx
sub r8, 1
jne 0x180086670
mov rdx, rcx
cmp rdx, 4
jb 0x1800866b8
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rbx, rax
jae 0x1800866b8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov qword [rbp - 0x78], r11
mov rbx, qword [rsp + 0x10]
mov dword [r12 + r15*4], r14d
mov r15, qword [rsp + 0x18]
test r14b, 3
jne 0x180086837
cmp r15, 0x20
jb 0x180086837
mov r11, qword [rbx + 0x50]
cmp r11, r14
ja 0x18008682f
mov r12, qword [rsp + 8]
lea rdi, [r11 + 0x20]
mov r10, qword [rsp]
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rbx + 0x40]
mov rax, r10
and rax, r11
mov r9d, r8d
imul r8d, dword [rbx + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r12]
mov rax, r10
and rax, rdi
inc edx
imul edx, dword [rbx + 0x60]
movzx ecx, byte [rax + r12]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rbx + 0x40], eax
cmp r9d, 0x1000000
jae 0x18008681e
mov rax, qword [rbx + 0x48]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r14
jne 0x18008681e
mov eax, 0xffffffff
cmp r8, rax
je 0x18008681e
mov ebx, r14d
sub ebx, r8d
cmp rbx, rsi
ja 0x180086819
and r10, r8
xor ecx, ecx
mov r8, r15
add r10, r12
shr r8, 3
mov rdx, r13
test r8, r8
je 0x1800867ae
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x1800868d7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180086790
mov r8, r15
and r8d, 7
je 0x1800867d3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x1800867d3
inc rcx
sub r8, 1
jne 0x1800867c0
mov rdx, rcx
mov r10, qword [rsp]
cmp rdx, 4
jb 0x180086819
cmp rdx, qword [rsp + 0x48]
jbe 0x180086819
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x40]
jbe 0x180086819
mov qword [rsp + 0x48], rdx
mov qword [rbp - 0x78], rbx
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x68], 0
mov rbx, qword [rsp + 0x10]
add r11, 4
add rdi, 4
cmp r11, r14
jbe 0x180086700
lea rax, [r14 + 4]
mov qword [rbx + 0x50], rax
cmp qword [rsp + 0x40], 0x7e4
jbe 0x180087426
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], 0
mov rcx, qword [rbp - 0x60]
dec r15
mov qword [rsp + 0x18], r15
cmp dword [rcx + 4], 5
jge 0x1800868eb
dec rax
mov r13, r15
cmp rax, r15
cmovb r13, rax
jmp 0x1800868ee
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x1800863d6
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x1800864b8
xor r8, r9
mov r9, qword [rsp + 0x18]
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180086598
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180086688
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1800867d6
xor r13d, r13d
mov rdx, qword [rsp + 0x70]
lea r10, [r14 + 1]
mov r14, qword [rsp]
cmp r10, rdx
mov r9, qword [rsp + 8]
mov r8d, 0x7e4
mov r12, qword [rbx + 0x38]
cmovb rdx, r10
and r14, r10
mov qword [rbp - 0x10], r8
mov rax, qword [r9 + r14]
lea r8, [r9 + r14]
movzx edi, byte [r8 + r13]
movabs rcx, 0x35a7bd1e35a7bd00
imul rax, rcx
mov rcx, r10
mov qword [rbp - 0x20], r13
shr rax, 0x2c
mov rsi, r13
mov qword [rbp - 0x18], 0
mov ebx, 0x7e4
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x30], rdx
movq xmm1, rax
mov qword [rsp + 0x50], r8
mov rax, qword [rsp + 0x60]
punpcklqdq xmm1, xmm1
mov dword [rbp - 8], 0
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, r10
jae 0x180086a4b
mov r10d, dword [rsp]
and r10, rcx
add r10, r9
movzx eax, byte [r10 + r13]
cmp edi, eax
jne 0x180086a46
mov rax, r15
xor ecx, ecx
shr rax, 3
mov rdx, r8
test rax, rax
je 0x1800869ca
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180086a35
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x1800869b0
mov r8, r15
and r8d, 7
je 0x1800869e9
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x1800869e9
inc rcx
sub r8, 1
jne 0x1800869d6
mov rax, rcx
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
cmp rax, 4
jb 0x180086a4b
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rbx
jbe 0x180086a4b
mov r13, rax
mov qword [rbp - 0x20], rax
mov rsi, rax
mov qword [rbp - 0x18], r11
add rax, qword [rsp + 8]
mov rbx, rcx
mov qword [rbp - 0x10], rcx
movzx edi, byte [rax + r14]
jmp 0x180086a4b
xor r8, r9
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x1800869ec
mov r10, qword [rsp + 0x58]
xor eax, eax
nop dword [rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, 3
paddq xmm0, xmm1
andps xmm0, xmm3
movdqu xmmword [rbp + rax*8], xmm0
add rax, 2
cmp rax, 4
jb 0x180086a50
mov rax, r10
mov r11, r10
mov r10, qword [rsp + 8]
shr rax, 3
and eax, 3
mov r15, qword [rbp + rax*8]
mov rax, qword [rbp]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x180086b6b
test r11, r11
je 0x180086b6b
cmp r11, rdx
ja 0x180086b6b
mov rax, qword [rsp + 0x18]
xor ecx, ecx
shr rax, 3
mov rdx, r8
test rax, rax
je 0x180086afe
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180086e29
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086ae0
mov r8, qword [rsp + 0x18]
and r8d, 7
je 0x180086b23
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x180086b23
inc rcx
sub r8, 1
jne 0x180086b10
mov rdx, rcx
cmp rdx, 4
jb 0x180086b6b
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x180086b6b
mov rax, qword [rsp + 8]
mov rsi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov r13, rdx
mov qword [rbp - 0x10], r8
mov rbx, r8
mov qword [rbp - 0x18], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp + 8]
mov r10, qword [rsp + 8]
mov r11, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x30]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x180086c62
test r11, r11
je 0x180086c62
cmp r11, rdx
ja 0x180086c62
mov rax, qword [rsp + 0x18]
xor ecx, ecx
mov rdx, qword [rsp + 0x50]
shr rax, 3
test rax, rax
je 0x180086bee
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180086e3d
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086bd0
mov r8, qword [rsp + 0x18]
and r8d, 7
je 0x180086c15
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180086c15
inc rdx
inc rcx
sub r8, 1
jne 0x180086c00
mov rdx, rcx
cmp rdx, 4
jb 0x180086c5d
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x180086c5d
mov rax, qword [rsp + 8]
mov rsi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov r13, rdx
mov qword [rbp - 0x10], r8
mov rbx, r8
mov qword [rbp - 0x18], r11
movzx edi, byte [rax + r14]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rbp + 0x10]
mov r10, qword [rsp + 8]
mov r11, qword [rsp + 0x58]
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x180086d4d
test r11, r11
je 0x180086d4d
cmp r11, rdx
ja 0x180086d4d
mov rax, qword [rsp + 0x18]
xor ecx, ecx
mov rdx, qword [rsp + 0x50]
shr rax, 3
test rax, rax
je 0x180086cde
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180086e51
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086cc0
mov r8, qword [rsp + 0x18]
and r8d, 7
je 0x180086d05
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180086d05
inc rdx
inc rcx
sub r8, 1
jne 0x180086cf0
mov rdx, rcx
cmp rdx, 4
jb 0x180086d4d
bsr eax, r11d
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rbx, r8
jae 0x180086d4d
mov rax, qword [rsp + 8]
mov rsi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov r13, rdx
mov qword [rbp - 0x10], r8
mov rbx, r8
mov qword [rbp - 0x18], r11
movzx edi, byte [rax + r14]
mov rax, qword [rbp + 0x18]
mov r14, qword [rsp + 0x58]
mov r10, qword [rsp + 8]
mov r11, r14
mov ecx, dword [r12 + rax*4]
mov eax, dword [rsp]
sub r11, rcx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp edi, eax
jne 0x180086e79
test r11, r11
je 0x180086e79
cmp r11, qword [rsp + 0x30]
ja 0x180086e79
mov rdi, qword [rsp + 0x18]
xor ecx, ecx
mov rdx, qword [rsp + 0x50]
mov rax, rdi
shr rax, 3
test rax, rax
je 0x180086dce
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x180086e65
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x180086db0
mov r8, rdi
and r8d, 7
je 0x180086dec
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x180086dec
inc rdx
inc rcx
sub r8, 1
jne 0x180086dd7
mov rdx, rcx
cmp rdx, 4
jb 0x180086e79
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rbx, rax
jae 0x180086e79
mov r13, rdx
mov qword [rbp - 0x20], rdx
mov rsi, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], r11
jmp 0x180086e7d
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180086b26
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180086c18
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180086d08
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x180086def
mov rsi, qword [rbp - 0x10]
mov rbx, qword [rsp + 0x10]
mov dword [r12 + r15*4], r14d
mov r15, qword [rsp + 0x18]
test r14b, 3
jne 0x180087007
cmp r15, 0x20
jb 0x180087007
mov r11, qword [rbx + 0x50]
cmp r11, r14
ja 0x180086fff
mov r12, qword [rsp + 8]
lea rdi, [r11 + 0x20]
mov r10, qword [rsp]
nop dword [rax]
mov r8d, dword [rbx + 0x40]
mov rax, r10
and rax, r11
mov r9d, r8d
imul r8d, dword [rbx + 0x5c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r12]
mov rax, rdi
and rax, r10
inc edx
imul edx, dword [rbx + 0x60]
movzx ecx, byte [rax + r12]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rbx + 0x40], eax
cmp r9d, 0x1000000
jae 0x180086fea
mov rax, qword [rbx + 0x48]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r14
jne 0x180086fea
mov eax, 0xffffffff
cmp r8, rax
je 0x180086fea
mov ebx, r14d
sub ebx, r8d
cmp rbx, qword [rsp + 0x30]
ja 0x180086fe5
mov rdx, qword [rsp + 0x50]
and r10, r8
mov r8, r15
add r10, r12
shr r8, 3
xor eax, eax
test r8, r8
je 0x180086f7e
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x18008706a
add rdx, 8
add rax, 8
sub r8, 1
jne 0x180086f60
mov r8, r15
and r8d, 7
je 0x180086fa3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x180086fa3
inc rax
sub r8, 1
jne 0x180086f90
mov rdx, rax
mov r10, qword [rsp]
cmp rdx, 4
jb 0x180086fe5
cmp rdx, r13
jbe 0x180086fe5
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jbe 0x180086fe5
mov r13, rdx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rbx
mov rsi, rax
mov dword [rbp - 8], 0
mov rbx, qword [rsp + 0x10]
add r11, 4
add rdi, 4
cmp r11, r14
jbe 0x180086ec0
mov qword [rbp - 0x10], rsi
lea rax, [r14 + 4]
mov qword [rbx + 0x50], rax
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
add rax, 0xaf
cmp rsi, rax
jb 0x180087084
mov ecx, dword [rsp + 0x28]
inc r12
movups xmm0, xmmword [rbp - 0x20]
inc ecx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x28], ecx
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp ecx, 4
jge 0x18008707e
lea rax, [r14 + 8]
cmp rax, qword [rsp + 0x68]
jae 0x18008707e
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x48], rax
jmp 0x180086853
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x180086fa6
mov r13, qword [rbp - 0x80]
jmp 0x18008708e
mov r14, qword [rsp + 0x20]
mov r13, qword [rsp + 0x48]
mov r9, qword [rsp + 0x70]
lea r15, [r14 + r13*2]
add r15, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x78]
add rax, r14
mov r10, qword [rsp + 0x60]
cmp rax, r9
mov qword [rsp + 0x50], r15
cmovb r9, rax
cmp rbx, r9
ja 0x18008713a
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 0x1800870da
xor r8d, r8d
jmp 0x18008713e
cmp rbx, r8
jne 0x1800870e7
mov r8d, 1
jmp 0x18008713e
cmp rdx, 7
jae 0x180087102
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x18008713e
cmp rcx, 7
jae 0x18008711a
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x18008713e
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x18008712b
mov r8d, 2
jmp 0x18008713e
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x18008713e
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x180087162
test r8, r8
je 0x180087162
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov dword [r10], ebx
mov r15, qword [rsp + 0x78]
mov esi, dword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [r15], r12d
mov dword [r15 + 4], eax
mov r14d, dword [rcx + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x180087190
xor edi, edi
jmp 0x180087204
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 word [r15 + 0xe], r8w
lea edx, [rsi + r13]
mov eax, 0x3ff
mov dword [r15 + 8], edi
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x18008722e
movzx r10d, r12w
mov eax, 0x17
jmp 0x1800872a3
cmp r12, 0x82
jae 0x18008725a
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 0x1800872a3
cmp r12, 0x842
jae 0x180087278
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x1800872a3
mov eax, 0x17
cmp r12, 0x1842
jae 0x18008728e
mov r10d, 0x15
jmp 0x1800872a3
cmp r12, 0x5842
jae 0x18008729f
mov r10d, 0x16
jmp 0x1800872a3
movzx r10d, ax
cmp r9, 0xa
jae 0x1800872b0
sub r9w, 2
jmp 0x1800872f0
cmp r9, 0x86
jae 0x1800872d5
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 0x1800872f0
cmp r9, 0x846
jae 0x1800872ec
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1800872f0
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 0x180087328
cmp r10w, 8
jae 0x180087328
cmp r9w, 0x10
jae 0x180087328
cmp r9w, 8
jb 0x18008735c
or dx, 0x40
jmp 0x18008735c
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp - 0x40]
xor r9d, r9d
mov r14, qword [rsp + 0x20]
mov r8, qword [rbp - 0x58]
mov word [r15 + 0xc], dx
add r15, 0x10
add qword [rax], r12
lea rax, [r14 + r13]
mov qword [rsp + 0x78], r15
cmp rax, r8
mov qword [rsp + 0x38], r9
lea rdx, [r14 + 2]
cmovb r8, rax
mov rax, r13
shr rax, 2
cmp rbx, rax
jae 0x1800873bf
lea rax, [rbx*4]
mov rcx, r14
sub rcx, rax
add rcx, r13
cmp rdx, rcx
cmova rcx, rdx
cmp r8, rcx
mov rdx, rcx
cmovb rdx, r8
mov r10, qword [rsp + 0x10]
cmp rdx, r8
jae 0x180087419
mov r14, qword [rsp + 8]
movabs r9, 0x35a7bd1e35a7bd00
nop dword [rax + rax]
mov rax, qword [rsp]
and rax, rdx
mov rcx, qword [rax + r14]
mov eax, edx
imul rcx, r9
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r10 + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x1800873e0
mov r14, qword [rsp + 0x20]
mov r9, qword [rsp + 0x38]
add r14, r13
mov qword [rsp + 0x20], r14
jmp 0x18008756e
mov r9, qword [rsp + 0x38]
inc r14
mov r15, qword [rsp + 0x50]
inc r9
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x20], r14
cmp r14, r15
jbe 0x180087569
mov rax, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x68]
mov r11, qword [rsp]
add rdx, 0xfffffffffffffff9
lea rax, [r15 + rax*4]
mov r15, qword [rsp + 8]
cmp r14, rax
jbe 0x1800874e5
lea rax, [r14 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r14, rdx
jae 0x180087562
add r9, 4
mov rax, rdx
sub rax, r14
dec rax
and rax, 0xfffffffffffffffc
add r9, rax
mov qword [rsp + 0x38], r9
movabs r9, 0x35a7bd1e35a7bd00
nop
mov rax, r11
and rax, r14
mov rcx, qword [rax + r15]
mov eax, r14d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rbx + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r14d
add r14, 4
cmp r14, rdx
jb 0x1800874a0
mov r10, qword [rsp + 0x10]
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x20], r14
jmp 0x180087577
lea rax, [r14 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r14, rdx
jae 0x180087562
add r9, 2
mov rax, rdx
sub rax, r14
dec rax
and rax, 0xfffffffffffffffe
add r9, rax
mov qword [rsp + 0x38], r9
movabs r9, 0x35a7bd1e35a7bd00
nop dword [rax + rax]
mov rax, r11
and rax, r14
mov rcx, qword [rax + r15]
mov eax, r14d
imul rcx, r9
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rbx + 0x38]
and ecx, 0xfffff
mov dword [rax + rcx*4], r14d
add r14, 2
cmp r14, rdx
jb 0x180087520
mov r10, qword [rsp + 0x10]
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x20], r14
jmp 0x180087577
mov r10, qword [rsp + 0x10]
jmp 0x180087577
mov r10, qword [rsp + 0x10]
mov r11, qword [rsp]
mov r15, qword [rsp + 8]
mov rdx, qword [rsp + 0x68]
lea rax, [r14 + 8]
mov r8, qword [rsp + 0x60]
movabs rcx, 0x35a7bd1e35a7bd00
mov rdi, qword [rsp + 0x70]
cmp rax, rdx
jb 0x1800861a0
mov rbx, qword [rsp + 0x78]
mov r12, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
sub rdx, r14
sub rbx, rcx
add rdx, r9
sar rbx, 4
mov qword [rax], rdx
add qword [r12], rbx
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800b26f0
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf0
mov r14, qword [rbp + 0x87]
mov rax, rcx
mov rsi, qword [rbp + 0x8f]
mov r11, r8
mov r8, qword [rbp + 0x6f]
mov r10d, 1
mov r13, r9
mov qword [rbp - 0x19], rsi
mov r14, qword [r14]
lea rbx, [rax + rdx]
mov r15, rdx
mov qword [rsp + 0x30], r14
mov ecx, dword [r8 + 8]
shl r10, cl
mov rcx, qword [r8 + 0x10]
sub r10, 0x10
mov qword [rbp - 0x59], r10
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x61], rbx
cmp rax, 8
jb 0x180087675
lea rax, [rbx - 7]
mov qword [rbp - 0x29], rax
jmp 0x180087679
mov qword [rbp - 0x29], r15
cmp dword [r8 + 4], 9
mov edx, 0x40
mov rdi, qword [rbp + 0x77]
mov eax, 0x200
cmovl eax, edx
mov qword [rbp - 0x21], rax
add rax, r15
mov qword [rsp + 0x60], rax
mov edx, dword [rdi + 0x58]
cmp edx, 4
jle 0x1800878eb
mov r9, qword [rbp + 0x7f]
cmp edx, 0xa
mov rdx, r9
mov ecx, dword [r9]
lea eax, [rcx - 1]
mov dword [r9 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x24], eax
jle 0x180087707
mov ecx, dword [rdx + 4]
lea eax, [rcx - 1]
mov dword [rdx + 0x28], eax
lea eax, [rcx + 1]
mov dword [rdx + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdx + 0x30], eax
lea eax, [rcx + 2]
mov dword [rdx + 0x34], eax
lea eax, [rcx - 3]
mov dword [rdx + 0x38], eax
lea eax, [rcx + 3]
mov dword [rdx + 0x3c], eax
mov rcx, qword [rsp + 0x58]
lea rax, [r15 + 8]
cmp rax, rbx
jae 0x180088a11
mov qword [rsp + 0xe8], r12
movsxd rsi, dword [rdi + 0x58]
lea rax, [rcx + r15]
mov r14, qword [rdi + 0x70]
mov r12, rbx
sub r12, r15
mov qword [rsp + 0x38], 0x7e4
cmp r15, r10
mov qword [rsp + 8], r12
mov r9, r10
mov qword [rsp + 0x50], r14
cmovb r9, r15
mov rcx, r10
mov r15, qword [rdi + 0x68]
cmp rax, r10
mov qword [rsp + 0x18], r9
cmovb rcx, rax
mov qword [rsp + 0x40], r15
mov rax, qword [r8 + 0x50]
xor r10d, r10d
mov qword [rsp + 0x48], rax
mov ebx, r10d
mov rax, qword [rbp + 0x4f]
mov r8, rax
mov qword [rsp], rcx
and r8, r13
mov qword [rbp - 0x41], r10
mov qword [rsp + 0x10], r8
mov ecx, 0x7e4
mov qword [rsp + 0x20], r10
mov dword [rbp - 0x31], r10d
mov qword [rsp + 0x28], rcx
mov qword [rbp + 0x47], r10
test rsi, rsi
je 0x18008793f
mov r15, qword [rsp + 0x10]
xor r8d, r8d
mov r14, qword [rbp + 0x57]
mov qword [rbp + 0x47], r8
mov qword [rsp + 0x28], rcx
movsxd rdi, dword [rdx + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x18008791c
cmp rdi, r9
ja 0x18008791c
and rcx, r13
lea rdx, [r10 + r15]
cmp rdx, r13
ja 0x180087918
lea rax, [rcx + r10]
cmp rax, r13
ja 0x180087914
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x180087914
lea r11, [rcx + r14]
mov rcx, r8
mov r8, r12
lea rdx, [r15 + r14]
shr r8, 3
test r8, r8
je 0x18008784e
mov r10, r11
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1800878f4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180087830
mov r8, r12
and r8d, 7
je 0x180087873
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180087873
inc rcx
sub r8, 1
jne 0x180087860
mov r8, rcx
cmp r8, 3
jae 0x18008788f
cmp r8, 2
jne 0x180087908
cmp rbx, r8
jae 0x180087908
mov r11, qword [rsp + 0x28]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x180087908
test rbx, rbx
je 0x1800878cf
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 0x180087908
mov qword [rsp + 0x28], r9
mov r10, r8
mov qword [rbp + 0x47], r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x41], rdi
mov qword [rsp + 0x38], r9
jmp 0x18008790c
mov rdx, qword [rbp + 0x7f]
jmp 0x18008770c
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180087876
mov r10, qword [rbp + 0x47]
mov r9, qword [rsp + 0x18]
xor r8d, r8d
mov rax, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x7f]
inc rbx
cmp rbx, rsi
jb 0x1800877c3
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov r8, qword [rsp + 0x10]
mov r11, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x77]
mov ecx, dword [rdi + 0x40]
lea r12, [r8 + r11]
mov rdx, qword [r12]
movabs rax, 0x1fe35a7bd3579bd3
and rdx, qword [rdi + 0x48]
imul rdx, rax
shr rdx, cl
mov ecx, dword [rdi + 0x54]
mov eax, edx
shl eax, cl
lea r14, [r14 + rax*4]
mov eax, edx
movzx edx, word [r15 + rax*2]
mov esi, edx
sub rsi, qword [rdi + 0x38]
cmp rdx, qword [rdi + 0x38]
lea r13, [r15 + rax*2]
mov eax, 0
mov qword [rsp + 0x40], r13
cmovbe rsi, rax
mov edi, edx
cmp rdx, rsi
jbe 0x180087ad1
mov rax, qword [rbp + 0x77]
mov r13, qword [rsp + 8]
mov r15d, dword [rax + 0x50]
nop word [rax + rax]
mov rbx, qword [rbp + 0x4f]
dec rdi
mov rax, r15
and rax, rdi
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x180087ac7
and rcx, qword [rbp + 0x5f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x5f]
ja 0x180087abe
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x5f]
ja 0x180087abe
movzx eax, byte [rax + r11]
cmp byte [rdx + r11], al
jne 0x180087abe
add r11, rcx
xor eax, eax
mov r8, r13
mov rdx, r12
shr r8, 3
mov ecx, eax
test r8, r8
je 0x180087a3a
mov r10, r11
sub r10, r12
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180087aa9
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180087a20
mov r8, r13
and r8d, 7
je 0x180087a59
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180087a59
inc rcx
sub r8, 1
jne 0x180087a46
mov rdx, rcx
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp + 0x18]
mov r11, qword [rbp + 0x57]
cmp rdx, 4
jb 0x180087aba
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x28], rax
jae 0x180087aba
mov qword [rsp + 0x28], rax
mov r10, rdx
mov qword [rbp + 0x47], rdx
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x41], rbx
mov qword [rsp + 0x38], rax
jmp 0x180087abe
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x180087a5c
mov r10, qword [rbp + 0x47]
cmp rdi, rsi
ja 0x1800879b0
mov r13, qword [rsp + 0x40]
movzx edx, word [r13]
mov rsi, qword [rbp + 0x77]
mov r15, qword [rbp + 0x4f]
mov eax, dword [rsi + 0x50]
and rax, rdx
mov dword [r14 + rax*4], r15d
inc word [r13]
cmp qword [rsp + 0x38], 0x7e4
jne 0x180087df2
mov r13, qword [rsi + 0x60]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x180087df2
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180087c82
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180087c82
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 0x180087bae
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180087c6e
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180087b90
mov r8, r11
and r8d, 7
je 0x180087bd3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x180087bd3
inc rcx
sub r8, 1
jne 0x180087bc0
mov r9, rcx
mov rcx, qword [rbp + 0x6f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180087c88
test r9, r9
je 0x180087c88
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x48]
ja 0x180087c8c
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x38]
jb 0x180087c8c
mov qword [rsp + 0x38], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x20], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x31], r11d
mov qword [rbp - 0x41], rdx
jmp 0x180087c8c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180087bd6
mov rsi, qword [rsp]
jmp 0x180087c91
mov rsi, qword [rsp]
mov rdx, qword [rsp + 8]
mov r14, qword [rbp + 0x6f]
lea rax, [r15 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x180087de8
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x180087de8
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 0x180087d1e
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 0x180087dd4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180087d00
mov r8, r11
and r8d, 7
je 0x180087d3c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x180087d3c
inc rdx
inc rcx
sub r8, 1
jne 0x180087d27
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180087de8
test r9, r9
je 0x180087de8
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, rsi
cmp rdx, qword [rsp + 0x48]
ja 0x180087de8
mov r15, qword [rbp + 0x4f]
mov rsi, qword [rbp + 0x77]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x38]
jb 0x180087df6
sub r11d, r9d
mov qword [rbp - 0x41], rdx
inc qword [r13 + 0x10]
mov rcx, r9
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x31], r11d
mov qword [rsp + 0x38], rax
jmp 0x180087dfb
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180087d3f
mov r15, qword [rbp + 0x4f]
mov rsi, qword [rbp + 0x77]
jmp 0x180087df6
mov r14, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x38], 0x7e4
jbe 0x180088a45
mov r12, qword [rsp + 8]
xor r13d, r13d
mov dword [rbp + 0x47], r13d
dec r12
cmp dword [r14 + 4], 5
mov qword [rsp + 8], r12
jge 0x180087e35
lea rax, [rcx - 1]
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x180087e38
mov r10, r13
mov r8, qword [rbp - 0x59]
lea rdx, [r15 + 1]
mov rax, qword [rsp + 0x58]
cmp rdx, r8
mov r9, qword [rbp + 0x5f]
mov r11, r8
cmovb r11, rdx
mov qword [rsp + 0x18], r10
inc rax
mov qword [rbp - 0x79], r13
add rax, r15
mov qword [rbp - 0x71], 0x7e4
mov r15, qword [rsi + 0x70]
cmp rax, r8
mov rcx, r8
mov qword [rsp], rdx
cmovb rcx, rax
mov qword [rsp + 0x28], r11
mov rax, qword [r14 + 0x50]
mov r8, rdx
mov r14, qword [rsi + 0x68]
and r8, r9
movsxd rsi, dword [rsi + 0x58]
mov rbx, r13
mov qword [rsp + 0x48], rcx
mov ecx, 0x7e4
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x10], r14
mov qword [rbp - 0x51], r15
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x68], r13
mov dword [rbp - 0x69], r13d
mov qword [rsp + 0x50], rcx
test rsi, rsi
je 0x180088044
mov r15, qword [rbp + 0x57]
mov r14, r8
mov rax, qword [rbp + 0x7f]
mov qword [rsp + 0x50], rcx
nop word [rax + rax]
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x18008802a
cmp rdi, r11
ja 0x18008802a
and rcx, r9
lea rdx, [r10 + r14]
cmp rdx, r9
ja 0x180088026
lea rax, [rcx + r10]
cmp rax, r9
ja 0x180088022
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x180088022
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
mov rax, r13
test r8, r8
je 0x180087f6e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r10 + rdx]
cmp r9, rcx
jne 0x180088003
add rdx, 8
add rax, 8
sub r8, 1
jne 0x180087f50
mov r8, r12
and r8d, 7
je 0x180087f93
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x180087f93
inc rax
sub r8, 1
jne 0x180087f80
mov r8, rax
cmp r8, 3
jae 0x180087fa7
cmp r8, 2
jne 0x180088014
cmp rbx, r8
jae 0x180088014
mov r11, qword [rsp + 0x50]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x180088014
test rbx, rbx
je 0x180087fe7
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 0x180088014
mov qword [rsp + 0x50], r9
mov r10, r8
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x68], r8
mov qword [rbp - 0x79], rdi
mov qword [rbp - 0x71], r9
jmp 0x180088019
xor rcx, r9
tzcnt r8, rcx
shr r8, 3
add r8, rax
jmp 0x180087f96
mov r10, qword [rsp + 0x18]
mov r11, qword [rsp + 0x28]
mov r9, qword [rbp + 0x5f]
mov rax, qword [rbp + 0x7f]
mov rdx, qword [rsp]
inc rbx
cmp rbx, rsi
jb 0x180087ee0
mov r14, qword [rsp + 0x10]
mov r15, qword [rbp - 0x51]
mov r8, qword [rsp + 0x40]
mov rbx, qword [rbp + 0x77]
movabs rax, 0x1fe35a7bd3579bd3
mov r9, qword [rbp + 0x57]
add r9, r8
mov qword [rsp + 0x10], r9
mov ecx, dword [rbx + 0x40]
mov rdx, qword [r9]
and rdx, qword [rbx + 0x48]
imul rdx, rax
shr rdx, cl
mov ecx, dword [rbx + 0x54]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx r13d, word [r14 + rax*2]
lea r12, [r14 + rax*2]
mov esi, r13d
mov qword [rbp - 0x51], r12
sub rsi, qword [rbx + 0x38]
mov eax, 0
cmp r13, qword [rbx + 0x38]
mov edi, r13d
cmovbe rsi, rax
cmp r13, rsi
jbe 0x1800881fc
mov r14d, dword [rbx + 0x50]
mov r13, qword [rsp]
mov r12, qword [rsp + 8]
nop word [rax + rax]
dec rdi
mov rax, r14
and rax, rdi
mov rbx, r13
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r11
ja 0x1800881f3
and rcx, qword [rbp + 0x5f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x5f]
ja 0x1800881ea
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x5f]
ja 0x1800881ea
mov r13, qword [rbp + 0x57]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rsp]
jne 0x1800881ea
mov r11, qword [rbp + 0x57]
xor eax, eax
add r11, rcx
mov r8, r12
shr r8, 3
mov rdx, r9
mov ecx, eax
test r8, r8
je 0x18008815e
mov r10, r11
sub r10, r9
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1800881d4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180088140
mov r8, r12
and r8d, 7
je 0x180088183
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180088183
inc rcx
sub r8, 1
jne 0x180088170
mov rdx, rcx
mov r9, qword [rsp + 0x10]
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x28]
cmp rdx, 4
jb 0x1800881e5
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x50], rax
jae 0x1800881e5
mov qword [rsp + 0x50], rax
mov r10, rdx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x68], rdx
mov qword [rbp - 0x79], rbx
mov qword [rbp - 0x71], rax
jmp 0x1800881ea
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x180088186
mov r10, qword [rsp + 0x18]
cmp rdi, rsi
ja 0x1800880c0
mov r12, qword [rbp - 0x51]
movzx r13d, word [r12]
mov rsi, qword [rbp + 0x77]
mov rcx, qword [rsp]
mov eax, dword [rsi + 0x50]
and rax, r13
mov dword [r15 + rax*4], ecx
inc word [r12]
mov r12, qword [rbp - 0x71]
cmp r12, 0x7e4
jne 0x18008852c
mov r13, qword [rsi + 0x60]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x180088528
imul ebx, dword [r9], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rsp + 8]
mov qword [r13 + 8], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x1800883c7
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x1800883c7
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 0x1800882e3
mov r10, r9
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1800883a9
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800882c0
mov r9, qword [rsp + 0x10]
mov r8, r11
and r8d, 7
je 0x180088303
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r9], al
jne 0x180088303
inc rcx
sub r8, 1
jne 0x1800882f0
mov r9, rcx
mov rcx, qword [rbp + 0x6f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1800883bd
test r9, r9
je 0x1800883bd
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [rcx + 0x68]
add al, al
movzx ecx, al
shr rdx, cl
movzx ecx, byte [rdi + r11]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
add rax, rsi
mov rsi, qword [rsp + 0x48]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rsp + 0x60]
ja 0x18008839d
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r12
jb 0x18008839d
mov r12, rax
mov qword [rbp - 0x71], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x68], r9
sub r11d, r9d
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x69], r11d
mov qword [rbp - 0x79], rdx
mov r9, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
jmp 0x1800883cc
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180088306
mov rdx, qword [rsp + 8]
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rbp + 0x6f]
lea rax, [r15 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x18008851e
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x18008851e
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 0x18008844e
mov r10, r9
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18008850a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180088430
mov r8, r11
and r8d, 7
je 0x180088475
mov r9, qword [rsp + 0x10]
nop dword [rax]
movzx eax, byte [rdx]
cmp byte [rcx + r9], al
jne 0x180088475
inc rdx
inc rcx
sub r8, 1
jne 0x180088460
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x18008851e
test r9, r9
je 0x18008851e
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 0x18008851e
mov rsi, qword [rbp + 0x77]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rax, r12
jb 0x180088530
sub r11d, r9d
mov qword [rsp + 0x68], r9
inc qword [r13 + 0x10]
mov r12, rax
mov dword [rbp - 0x69], r11d
mov qword [rbp - 0x79], rdx
mov qword [rbp - 0x71], rax
jmp 0x180088530
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180088478
mov rcx, qword [rsp]
mov rsi, qword [rbp + 0x77]
jmp 0x180088530
mov rcx, qword [rsp]
mov r14, qword [rbp + 0x6f]
mov rax, qword [rsp + 0x38]
add rax, 0xaf
cmp r12, rax
jb 0x18008859c
movups xmm0, xmmword [rsp + 0x68]
inc qword [rsp + 0x30]
mov r15, rcx
movups xmm1, xmmword [rbp - 0x71]
mov qword [rbp + 0x4f], rcx
mov ecx, dword [rbp + 0x47]
inc ecx
mov dword [rbp + 0x47], ecx
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm1
cmp ecx, 4
jge 0x180088596
lea rax, [r15 + 8]
cmp rax, qword [rbp - 0x61]
jae 0x180088596
mov r12, qword [rsp + 8]
mov r9, qword [rbp - 0x39]
dec r12
mov rcx, qword [rbp - 0x49]
xor r13d, r13d
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x20], rcx
jmp 0x180087e19
mov r13, qword [rbp - 0x49]
jmp 0x1800885a5
mov r15, qword [rbp + 0x4f]
mov r13, qword [rsp + 0x20]
mov rax, qword [rbp - 0x21]
mov r10, qword [rbp - 0x59]
mov r11, qword [rbp + 0x7f]
mov rdi, qword [rbp - 0x41]
lea r12, [rax + r13*2]
mov rax, qword [rsp + 0x58]
add rax, r15
add r12, r15
cmp rax, r10
mov qword [rsp + 0x60], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rdi, r10
ja 0x18008865e
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 0x1800885fd
xor r9d, r9d
mov r8d, r9d
jmp 0x180088665
cmp rdi, r9
jne 0x18008860a
mov r8d, 1
jmp 0x180088662
cmp r8, 7
jae 0x180088626
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x180088662
cmp rcx, 7
jae 0x18008863e
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x180088662
movsxd rax, dword [r11 + 8]
cmp rdi, rax
jne 0x18008864f
mov r8d, 2
jmp 0x180088662
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x180088662
lea r8, [rdi + 0xf]
xor r9d, r9d
cmp rdi, r10
ja 0x1800886e6
test r8, r8
je 0x1800886e6
mov eax, dword [r11 + 8]
mov ecx, dword [r11]
mov dword [r11 + 0xc], eax
mov eax, dword [rdx]
mov dword [r11 + 8], eax
mov dword [rdx], ecx
mov dword [r11], edi
mov edx, dword [rsi + 0x58]
cmp edx, 4
jle 0x1800886e6
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 0x1800886e6
lea eax, [rcx - 1]
mov dword [r11 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r11 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r11 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r11 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r11 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r11 + 0x3c], eax
mov r11, qword [rbp + 0x8f]
mov esi, dword [rbp - 0x31]
mov r12, qword [rsp + 0x30]
movzx eax, sil
shl eax, 0x19
or eax, r13d
mov dword [r11], r12d
mov dword [r11 + 4], eax
mov r14d, dword [r14 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x180088718
mov ebx, r9d
jmp 0x180088797
mov rcx, qword [rbp + 0x6f]
add r8, 0xfffffffffffffff0
mov r10d, 1
mov r11d, dword [rcx + 0x40]
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rbp + 0x8f]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea edx, [rsi + r13]
mov eax, 0x3ff
mov dword [r11 + 8], ebx
and r8w, ax
movsxd r9, edx
cmp r12, 6
jae 0x1800887c1
movzx r10d, r12w
mov eax, 0x17
jmp 0x180088836
cmp r12, 0x82
jae 0x1800887ed
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 0x180088836
cmp r12, 0x842
jae 0x18008880b
lea eax, [r12 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x180088836
mov eax, 0x17
cmp r12, 0x1842
jae 0x180088821
mov r10d, 0x15
jmp 0x180088836
cmp r12, 0x5842
jae 0x180088832
mov r10d, 0x16
jmp 0x180088836
movzx r10d, ax
cmp r9, 0xa
jae 0x180088843
sub r9w, 2
jmp 0x180088883
cmp r9, 0x86
jae 0x180088868
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 0x180088883
cmp r9, 0x846
jae 0x18008887f
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x180088883
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 0x1800888bb
cmp r10w, 8
jae 0x1800888bb
cmp r9w, 0x10
jae 0x1800888bb
cmp r9w, 8
jb 0x1800888ef
or dx, 0x40
jmp 0x1800888ef
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x9f]
lea rbx, [r15 + 2]
mov rsi, qword [rbp - 0x29]
mov word [r11 + 0xc], dx
add r11, 0x10
mov qword [rbp + 0x8f], r11
add qword [rax], r12
xor eax, eax
mov r14d, eax
mov qword [rsp + 0x30], rax
lea rax, [r15 + r13]
cmp rax, rsi
cmovb rsi, rax
mov rax, r13
shr rax, 2
cmp rdi, rax
jae 0x18008895b
lea rax, [rdi*4]
mov rcx, r13
sub rcx, rax
lea rax, [rcx + r15]
cmp rbx, rax
mov eax, 2
cmova rcx, rax
lea rbx, [r15 + rcx]
cmp rsi, rbx
cmovb rbx, rsi
cmp rbx, rsi
jae 0x1800889cd
mov rdi, qword [rbp + 0x77]
movabs r14, 0x1fe35a7bd3579bd3
nop
mov rdx, qword [rdi + 0x68]
mov rax, rbx
and rax, qword [rbp + 0x5f]
mov rcx, qword [rbp + 0x57]
mov r11, qword [rdi + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [rdi + 0x48]
mov ecx, dword [rdi + 0x40]
imul r10, r14
shr r10, cl
mov ecx, dword [rdi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [rdi + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], ebx
inc rbx
cmp rbx, rsi
jb 0x180088970
mov r14, qword [rsp + 0x30]
add r15, r13
mov qword [rbp + 0x4f], r15
mov r13, qword [rbp + 0x5f]
mov rbx, qword [rbp - 0x61]
lea rax, [r15 + 8]
mov r11, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x77]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x7f]
mov r10, qword [rbp - 0x59]
mov rcx, qword [rsp + 0x58]
cmp rax, rbx
jb 0x180087721
mov r12, qword [rsp + 0xe8]
mov rsi, qword [rbp + 0x8f]
mov rax, qword [rbp + 0x87]
sub rbx, r15
sub rsi, qword [rbp - 0x19]
add rbx, r14
sar rsi, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x97]
add qword [rax], rsi
add rsp, 0xf0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r14, qword [rsp + 0x30]
inc r15
mov r12, qword [rsp + 0x60]
inc r14
mov qword [rsp + 0x30], r14
mov qword [rbp + 0x4f], r15
cmp r15, r12
jbe 0x1800889d4
mov rax, qword [rbp - 0x21]
mov rbx, qword [rbp - 0x61]
mov r13, qword [rbp + 0x5f]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp r15, rax
jbe 0x180088b26
lea rax, [r15 + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x1800889d8
add r14, 4
mov rax, rbx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r14, rax
mov qword [rsp + 0x30], r14
movabs r14, 0x1fe35a7bd3579bd3
nop dword [rax + rax]
mov rdx, qword [rsi + 0x68]
mov rax, r15
mov rcx, qword [rbp + 0x57]
and rax, r13
mov r11, qword [rsi + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [rsi + 0x48]
mov ecx, dword [rsi + 0x40]
imul r10, r14
shr r10, cl
mov ecx, dword [rsi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [rsi + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], r15d
add r15, 4
cmp r15, rbx
jb 0x180088ac0
mov r14, qword [rsp + 0x30]
mov qword [rbp + 0x4f], r15
jmp 0x1800889d8
lea rax, [r15 + 8]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x1800889d8
add r14, 2
mov rax, rbx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r14, rax
mov qword [rsp + 0x30], r14
movabs r14, 0x1fe35a7bd3579bd3
nop dword [rax]
mov rdx, qword [rsi + 0x68]
mov rax, r15
mov rcx, qword [rbp + 0x57]
and rax, r13
mov r11, qword [rsi + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [rsi + 0x48]
mov ecx, dword [rsi + 0x40]
imul r10, r14
shr r10, cl
mov ecx, dword [rsi + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [rsi + 0x50]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], r15d
add r15, 2
cmp r15, rbx
jb 0x180088b60
mov r14, qword [rsp + 0x30]
mov qword [rbp + 0x4f], r15
jmp 0x1800889d8
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0x100
mov r15, qword [rbp + 0x5f]
mov rax, rcx
mov r10, qword [rbp + 0x77]
mov r9, r8
mov r14, rdx
mov r8d, 1
mov rdx, qword [rbp + 0x7f]
mov ecx, dword [r15 + 8]
mov r10, qword [r10]
shl r8, cl
lea rbx, [rax + r14]
mov rcx, qword [r15 + 0x10]
sub r8, 0x10
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x29], rdx
mov qword [rsp + 0x28], r10
mov qword [rbp - 0x49], rbx
cmp rax, 8
jb 0x180088c4a
lea rax, [rbx - 7]
mov qword [rbp - 0x41], rax
jmp 0x180088c4e
mov qword [rbp - 0x41], r14
cmp dword [r15 + 4], 9
mov edx, 0x40
mov r13, qword [rbp + 0x67]
mov eax, 0x200
cmovl eax, edx
mov qword [rbp - 0x39], rax
add rax, r14
mov qword [rbp - 0x71], rax
mov edx, dword [r13 + 0x58]
cmp edx, 4
jle 0x180088ce5
mov r8, qword [rbp + 0x6f]
mov ecx, dword [r8]
lea eax, [rcx - 1]
mov dword [r8 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r8 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r8 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r8 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r8 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r8 + 0x24], eax
cmp edx, 0xa
jle 0x180088cdc
mov ecx, dword [r8 + 4]
lea eax, [rcx - 1]
mov dword [r8 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r8 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r8 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r8 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r8 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r8 + 0x3c], eax
mov rcx, qword [rbp - 0x79]
mov r8, qword [rsp + 0x78]
lea rax, [r14 + 8]
cmp rax, rbx
jae 0x18008a49b
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0xf0], rdi
xor edi, edi
mov qword [rsp + 0xe8], r12
nop dword [rax]
mov rdx, qword [rbp + 0x3f]
lea rax, [rcx + r14]
movsxd rsi, dword [r13 + 0x58]
mov r11, r8
mov rcx, r8
mov qword [rbp - 0x61], rdi
mov r12, rbx
mov qword [rsp + 0x30], rdi
sub r12, r14
mov dword [rbp - 0x51], edi
cmp r14, r8
mov qword [rsp], r12
mov rbx, rdi
mov qword [rsp + 0x18], rdi
cmovb r11, r14
mov r10, rdi
mov r14, qword [r13 + 0x68]
cmp rax, r8
mov r8, rdx
mov qword [rsp + 8], r11
cmovb rcx, rax
mov qword [rbp + 0x37], r14
mov rax, qword [r15 + 0x50]
mov r15, qword [r13 + 0x70]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x4f]
and r8, rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r8
mov ecx, 0x7e4
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x20], rcx
test rsi, rsi
je 0x180088f16
mov r15, qword [rbp + 0x6f]
mov r14, r8
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x18], rdi
nop dword [rax + rax]
movsxd rdi, dword [r15 + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x180088efb
cmp rdi, r11
ja 0x180088efb
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x180088ef7
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x180088ef3
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x180088ef3
mov r8, r12
lea r11, [rcx + r9]
shr r8, 3
lea rdx, [r14 + r9]
xor ecx, ecx
test r8, r8
je 0x180088e3e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180088ed4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180088e20
mov r8, r12
and r8d, 7
je 0x180088e63
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180088e63
inc rcx
sub r8, 1
jne 0x180088e50
mov r8, rcx
cmp r8, 3
jae 0x180088e77
cmp r8, 2
jne 0x180088ee5
cmp rbx, r8
jae 0x180088ee5
mov r11, qword [rsp + 0x20]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x180088ee5
test rbx, rbx
je 0x180088eb7
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 0x180088ee5
mov qword [rsp + 0x20], r9
mov r10, r8
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x30], r8
mov qword [rbp - 0x61], rdi
mov qword [rsp + 0x10], r9
jmp 0x180088eea
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180088e66
mov r10, qword [rsp + 0x18]
mov r9, qword [rbp + 0x47]
mov r11, qword [rsp + 8]
mov rax, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x3f]
inc rbx
cmp rbx, rsi
jb 0x180088db0
mov r14, qword [rbp + 0x37]
xor edi, edi
mov r15, qword [r13 + 0x70]
mov r8, qword [rsp + 0x38]
mov ecx, dword [r13 + 0x40]
add r9, r8
mov rdx, qword [r13 + 0x48]
movabs rax, 0x1fe35a7bd3579bd3
mov qword [rbp + 0x37], r9
and rdx, qword [r9]
imul rdx, rax
shr rdx, cl
mov ecx, dword [r13 + 0x54]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx r13d, word [r14 + rax*2]
lea r12, [r14 + rax*2]
mov rdx, qword [rbp + 0x67]
mov esi, r13d
mov qword [rsp + 0x70], r12
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rdi
mov edi, r13d
cmp r13, rsi
jbe 0x1800890a7
mov r14d, dword [rdx + 0x50]
mov r13, qword [rbp + 0x47]
mov r12, qword [rsp]
mov rbx, qword [rbp + 0x3f]
dec rdi
mov rax, rdi
and rax, r14
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r11
ja 0x180089099
and rcx, qword [rbp + 0x4f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x4f]
ja 0x180089090
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x180089090
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x180089090
xor eax, eax
lea r11, [rcx + r13]
mov r8, r12
mov rdx, r9
shr r8, 3
mov ecx, eax
test r8, r8
je 0x18008900a
mov r10, r11
sub r10, r9
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x18008907a
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180088ff0
mov r8, r12
and r8d, 7
je 0x180089029
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180089029
inc rcx
sub r8, 1
jne 0x180089016
mov rdx, rcx
mov r8, qword [rsp + 0x38]
mov r9, qword [rbp + 0x37]
mov r11, qword [rsp + 8]
cmp rdx, 4
jb 0x18008908b
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x20], rax
jae 0x18008908b
mov qword [rsp + 0x20], rax
mov r10, rdx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x30], rdx
mov qword [rbp - 0x61], rbx
mov qword [rsp + 0x10], rax
jmp 0x180089090
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18008902c
mov r10, qword [rsp + 0x18]
cmp rdi, rsi
ja 0x180088f80
mov r12, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x67]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
mov r14, qword [rbp + 0x3f]
and rax, r13
mov rbx, qword [rsp + 0x10]
mov dword [r15 + rax*4], r14d
inc word [r12]
cmp rbx, 0x7e4
jne 0x1800893c9
mov r13, qword [rdx + 0x60]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x1800893c3
imul ebx, dword [r9], 0x1e35a7bd
lea r15, [rcx + 1]
mov r12, qword [rbp + 0x5f]
mov rdx, qword [rsp]
mov qword [r13 + 8], r15
mov rax, qword [r12 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180089261
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180089261
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 0x180089182
mov r10, r9
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180089245
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180089160
mov r9, qword [rbp + 0x37]
mov r8, r11
and r8d, 7
je 0x1800891a3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r9], al
jne 0x1800891a3
inc rcx
sub r8, 1
jne 0x180089190
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180089259
test r9, r9
je 0x180089259
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r12 + 0x68]
mov r12, qword [rsp + 0x40]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rdi]
and edx, 0x3f
lea rax, [rdx + r8*4]
shl rax, cl
lea rdx, [r12 + 1]
add rax, rsi
add rdx, rax
cmp rdx, qword [rsp + 0x68]
ja 0x18008923b
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jb 0x18008923b
mov qword [rsp + 0x10], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x30], r9
mov qword [r13 + 0x10], rax
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
mov r9, qword [rbp + 0x37]
mov rdx, qword [rsp]
jmp 0x180089266
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1800891a6
mov rdx, qword [rsp]
mov r9, qword [rbp + 0x37]
mov r12, qword [rsp + 0x40]
mov r14, qword [rbp + 0x5f]
lea rax, [r15 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x1800893cf
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1800893cf
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 0x1800892ee
mov r10, r9
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1800893ab
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800892d0
mov rsi, qword [rbp + 0x37]
mov r8, r11
and r8d, 7
je 0x180089314
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + rsi], al
jne 0x180089314
inc rdx
inc rcx
sub r8, 1
jne 0x180089300
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1800893d3
test r9, r9
je 0x1800893d3
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea eax, [rdx + r8]
mov rdx, qword [r14 + 0x68]
lea ecx, [rax + rax]
shr rdx, cl
movzx ecx, byte [r11 + rbx]
and edx, 0x3f
mov rbx, qword [rsp + 0x10]
lea rdx, [rdx + r8*4]
shl rdx, cl
inc rdx
add rdx, rdi
add rdx, r12
cmp rdx, qword [rsp + 0x68]
ja 0x1800893d8
mov r14, qword [rbp + 0x3f]
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rbx
jb 0x1800893dc
sub r11d, r9d
mov qword [rsp + 0x30], r9
inc qword [r13 + 0x10]
mov rbx, rax
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], rdx
mov qword [rsp + 0x10], rax
jmp 0x1800893dc
mov rsi, qword [rbp + 0x37]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180089317
mov rsi, qword [rbp + 0x37]
jmp 0x1800893d8
mov rsi, qword [rbp + 0x37]
jmp 0x1800893dc
mov rsi, qword [rbp + 0x37]
mov rbx, qword [rsp + 0x10]
mov r14, qword [rbp + 0x3f]
mov r12, qword [rsp]
mov r13, qword [rbp + 0x67]
cmp r12, 0x20
jb 0x180089571
mov r11, qword [r13 + 0x88]
cmp r11, r14
ja 0x180089566
mov r14, qword [rsp + 8]
lea rdi, [r11 + 0x20]
mov r10, qword [rbp + 0x47]
mov r15, qword [rbp + 0x4f]
nop
mov r8d, dword [r13 + 0x78]
mov rax, r11
and rax, r15
mov r9d, r8d
imul r8d, dword [r13 + 0x94]
and r9d, 0x3fffffff
movzx edx, byte [rax + r10]
mov rax, rdi
and rax, r15
inc edx
imul edx, dword [r13 + 0x98]
movzx ecx, byte [rax + r10]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [r13 + 0x78], eax
cmp r9d, 0x1000000
jae 0x180089552
mov rax, qword [r13 + 0x80]
mov ecx, r9d
mov r9d, dword [rax + r9*4]
mov dword [rax + rcx*4], r11d
mov rax, qword [rbp + 0x3f]
cmp r11, rax
jne 0x180089552
mov ecx, 0xffffffff
cmp r9, rcx
je 0x180089552
sub eax, r9d
mov ebx, eax
cmp rbx, r14
ja 0x18008954d
and r9, r15
xor eax, eax
mov r8, r12
add r9, r10
shr r8, 3
mov rdx, rsi
mov ecx, eax
test r8, r8
je 0x1800894cd
mov r10, qword [rdx]
mov rax, qword [rcx + r9]
cmp r10, rax
jne 0x18008953c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800894b3
mov r8, r12
and r8d, 7
je 0x1800894f3
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r9], al
jne 0x1800894f3
inc rcx
sub r8, 1
jne 0x1800894e0
mov rdx, rcx
mov r10, qword [rbp + 0x47]
cmp rdx, 4
jb 0x18008954d
cmp rdx, qword [rsp + 0x30]
jbe 0x18008954d
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jbe 0x18008954d
mov qword [rbp - 0x61], rbx
mov rbx, rax
mov qword [rsp + 0x10], rax
xor eax, eax
mov dword [rbp - 0x51], eax
mov qword [rsp + 0x30], rdx
jmp 0x180089552
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1800894f6
mov rbx, qword [rsp + 0x10]
inc r11
inc rdi
cmp r11, qword [rbp + 0x3f]
jbe 0x180089410
mov r14, qword [rbp + 0x3f]
lea rax, [r14 + 1]
mov qword [r13 + 0x88], rax
cmp rbx, 0x7e4
jbe 0x18008a2dd
mov rax, qword [rsp + 0x30]
xor edi, edi
mov dword [rbp + 0x37], edi
dec r12
mov r8, qword [rbp + 0x5f]
mov qword [rsp], r12
cmp dword [r8 + 4], 5
jge 0x1800895a9
dec rax
mov r10, r12
cmp rax, r12
cmovb r10, rax
jmp 0x1800895ac
mov r10, rdi
mov rbx, qword [rsp + 0x78]
lea r11, [r14 + 1]
mov rax, qword [rbp - 0x79]
cmp r11, rbx
movsxd rsi, dword [r13 + 0x58]
mov rdx, rbx
mov r15, qword [r13 + 0x70]
cmovb rdx, r11
inc rax
mov qword [rsp + 0x20], r10
add rax, r14
mov qword [rsp + 0x50], rdi
mov r14, qword [r13 + 0x68]
cmp rax, rbx
mov rcx, rbx
mov qword [rsp + 0x18], r11
cmovb rcx, rax
mov qword [rsp + 8], rdx
mov rax, qword [r8 + 0x50]
mov r9d, 0x7e4
mov qword [rbp - 0x71], rax
mov r8, r11
mov rax, qword [rbp + 0x4f]
mov rbx, rdi
and r8, rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], r9
mov ecx, r9d
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x40], rcx
test rsi, rsi
je 0x1800897be
mov r15, qword [rbp + 0x47]
mov r14, r8
mov qword [rsp + 0x40], rcx
nop dword [rax + rax]
mov rcx, qword [rbp + 0x6f]
movsxd rdi, dword [rcx + rbx*4]
mov rcx, r11
sub rcx, rdi
cmp rcx, r11
jae 0x18008979e
cmp rdi, rdx
ja 0x18008979e
and rcx, rax
lea rdx, [r10 + r14]
cmp rdx, rax
ja 0x180089799
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x180089795
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x180089795
xor eax, eax
lea r11, [rcx + r15]
mov r8, r12
lea rdx, [r14 + r15]
shr r8, 3
mov ecx, eax
test r8, r8
je 0x1800896de
mov r10, r11
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x180089775
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1800896c0
mov r8, r12
and r8d, 7
je 0x180089703
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x180089703
inc rcx
sub r8, 1
jne 0x1800896f0
mov r8, rcx
cmp r8, 3
jae 0x180089717
cmp r8, 2
jne 0x180089786
cmp rbx, r8
jae 0x180089786
mov r11, qword [rsp + 0x40]
imul r9, r8, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x180089786
test rbx, rbx
je 0x180089757
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 0x180089786
mov qword [rsp + 0x40], r9
mov r10, r8
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r9
jmp 0x180089790
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x180089706
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x18]
mov rax, qword [rbp + 0x4f]
mov rdx, qword [rsp + 8]
inc rbx
cmp rbx, rsi
jb 0x180089650
mov r13, qword [rbp + 0x67]
xor edi, edi
mov r14, qword [rsp + 0x68]
mov r8, qword [rsp + 0x38]
mov r15, qword [r13 + 0x70]
mov rcx, qword [rbp + 0x47]
mov rdx, qword [r8 + rcx]
lea rax, [r8 + rcx]
and rdx, qword [r13 + 0x48]
mov ecx, dword [r13 + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x1fe35a7bd3579bd3
imul rdx, rax
shr rdx, cl
mov ecx, dword [r13 + 0x54]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx r13d, word [r14 + rax*2]
lea r12, [r14 + rax*2]
mov rdx, qword [rbp + 0x67]
mov esi, r13d
mov qword [rbp - 0x31], r12
sub rsi, qword [rdx + 0x38]
cmp r13, qword [rdx + 0x38]
cmovbe rsi, rdi
mov edi, r13d
cmp r13, rsi
jbe 0x180089975
mov r14d, dword [rdx + 0x50]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 8]
dec rdi
mov rax, r14
and rax, rdi
mov rbx, r11
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r12
ja 0x180089968
and rcx, qword [rbp + 0x4f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x4f]
ja 0x18008995f
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x4f]
ja 0x18008995f
mov r12, qword [rbp + 0x47]
movzx eax, byte [rax + r12]
cmp byte [rdx + r12], al
mov r12, qword [rsp + 8]
jne 0x18008995f
mov r11, qword [rbp + 0x47]
xor eax, eax
add r11, rcx
mov rdx, r13
mov ecx, eax
mov rax, qword [rsp]
mov r9, rax
shr r9, 3
test r9, r9
je 0x1800898d2
mov r10, r11
sub r10, r13
nop dword [rax + rax]
mov rax, qword [rdx]
mov r8, qword [rdx + r10]
cmp rax, r8
jne 0x180089944
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x1800898b0
mov rax, qword [rsp]
mov r8, rax
and r8d, 7
je 0x1800898f3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1800898f3
inc rcx
sub r8, 1
jne 0x1800898e0
mov rdx, rcx
mov r8, qword [rsp + 0x38]
mov r11, qword [rsp + 0x18]
cmp rdx, 4
jb 0x180089955
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x40], rax
jae 0x180089955
mov qword [rsp + 0x40], rax
mov r10, rdx
mov qword [rsp + 0x20], rdx
mov r9, rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rax
jmp 0x18008995f
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1800898f6
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x20]
cmp rdi, rsi
ja 0x180089830
mov r12, qword [rbp - 0x31]
mov rdx, qword [rbp + 0x67]
movzx r13d, word [r12]
mov eax, dword [rdx + 0x50]
and rax, r13
mov dword [r15 + rax*4], r11d
inc word [r12]
mov r12, qword [rsp + 0x68]
cmp r9, 0x7e4
jne 0x180089c87
mov r13, qword [rdx + 0x60]
mov rcx, qword [r13 + 8]
mov r14, qword [r13 + 0x10]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x180089c87
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x5f]
mov rdx, qword [rsp]
mov qword [r13 + 8], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x180089b24
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x180089b24
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 0x180089a4e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [rdx + r10]
cmp r8, rax
jne 0x180089b10
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x180089a30
mov r8, r11
and r8d, 7
je 0x180089a73
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x180089a73
inc rcx
sub r8, 1
jne 0x180089a60
mov r9, rcx
mov rcx, qword [rbp + 0x5f]
mov eax, dword [rcx + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180089b2b
test r9, r9
je 0x180089b2b
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 + 0x70]
lea rdx, [rsi + 1]
add rdx, rax
cmp rdx, qword [rbp - 0x71]
ja 0x180089b30
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x58]
jb 0x180089b30
mov qword [rsp + 0x58], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x48], r9
mov qword [r13 + 0x10], rax
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x50], rdx
jmp 0x180089b30
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180089a76
mov rsi, qword [rsp + 0x70]
jmp 0x180089b34
mov rsi, qword [rsp + 0x70]
mov rdx, qword [rsp]
mov r14, qword [rbp + 0x5f]
lea rax, [r15 + 1]
mov qword [r13 + 8], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x180089c87
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x180089c87
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 0x180089bbe
mov r10, r12
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x180089c73
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x180089ba0
mov r8, r11
and r8d, 7
je 0x180089bdc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x180089bdc
inc rdx
inc rcx
sub r8, 1
jne 0x180089bc7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x180089c87
test r9, r9
je 0x180089c87
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
mov rsi, qword [rsp + 0x58]
cmp rdx, qword [rbp - 0x71]
ja 0x180089c8c
bsr eax, edx
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x180089c8c
sub r11d, r9d
mov qword [rsp + 0x48], r9
inc qword [r13 + 0x10]
mov r15, r9
mov dword [rsp + 0x60], r11d
mov rsi, rax
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
jmp 0x180089c91
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x180089bdf
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
cmp qword [rsp], 0x20
mov r13, qword [rbp + 0x67]
mov r14, qword [rsp + 0x18]
jb 0x180089e2c
mov r11, qword [r13 + 0x88]
cmp r11, r14
ja 0x180089e21
mov r10, qword [rbp + 0x4f]
lea rdi, [r11 + 0x20]
nop dword [rax]
mov r8d, dword [r13 + 0x78]
mov rax, r11
mov rcx, qword [rbp + 0x47]
and rax, r10
mov r9d, r8d
imul r8d, dword [r13 + 0x94]
and r9d, 0x3fffffff
movzx edx, byte [rax + rcx]
mov rax, rdi
and rax, r10
inc edx
imul edx, dword [r13 + 0x98]
movzx ecx, byte [rax + rcx]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [r13 + 0x78], eax
cmp r9d, 0x1000000
jae 0x180089e08
mov rax, qword [r13 + 0x80]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], r11d
cmp r11, r14
jne 0x180089e04
mov eax, 0xffffffff
cmp r10, rax
je 0x180089e04
mov ebx, r14d
sub ebx, r10d
cmp rbx, qword [rsp + 8]
ja 0x180089e04
and r10, qword [rbp + 0x4f]
xor eax, eax
mov rcx, qword [rsp]
mov rdx, r12
add r10, qword [rbp + 0x47]
mov r8, rcx
shr r8, 3
test r8, r8
je 0x180089d8e
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x180089df3
add rdx, 8
add rax, 8
sub r8, 1
jne 0x180089d70
mov rcx, qword [rsp]
mov r8, rcx
and r8d, 7
je 0x180089db3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r10], cl
jne 0x180089db3
inc rax
sub r8, 1
jne 0x180089da0
mov rdx, rax
cmp rdx, 4
jb 0x180089e04
cmp rdx, r15
jbe 0x180089e04
mov r10, qword [rbp + 0x4f]
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jbe 0x180089e08
mov rsi, rax
mov qword [rsp + 0x50], rbx
xor eax, eax
mov r15, rdx
mov dword [rsp + 0x60], eax
jmp 0x180089e08
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x180089db6
mov r10, qword [rbp + 0x4f]
inc r11
inc rdi
cmp r11, r14
jbe 0x180089cc0
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x48], r15
lea rax, [r14 + 1]
mov qword [r13 + 0x88], rax
mov rax, qword [rsp + 0x10]
add rax, 0xaf
cmp rsi, rax
jb 0x180089e99
mov ecx, dword [rbp + 0x37]
movups xmm0, xmmword [rsp + 0x48]
inc qword [rsp + 0x28]
inc ecx
mov qword [rbp + 0x3f], r14
mov dword [rbp + 0x37], ecx
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x180089e8e
lea rax, [r14 + 8]
cmp rax, qword [rbp - 0x49]
jae 0x180089e8e
mov rax, qword [rbp - 0x59]
mov r12, qword [rsp]
mov qword [rsp + 0x10], rax
dec r12
mov rax, qword [rbp - 0x69]
xor edi, edi
mov qword [rsp + 0x30], rax
jmp 0x18008958b
mov rcx, qword [rbp - 0x69]
mov qword [rsp + 0x30], rcx
jmp 0x180089ea2
mov r14, qword [rbp + 0x3f]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbp - 0x39]
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp + 0x6f]
mov rdi, qword [rbp - 0x61]
lea r12, [rax + rcx*2]
mov rax, qword [rbp - 0x79]
add rax, r14
add r12, r14
cmp rax, r10
mov qword [rbp - 0x71], r12
lea rdx, [r11 + 4]
cmovb r10, rax
cmp rdi, r10
ja 0x180089f5a
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 0x180089ef9
xor r9d, r9d
mov r8d, r9d
jmp 0x180089f61
cmp rdi, r9
jne 0x180089f06
mov r8d, 1
jmp 0x180089f5e
cmp r8, 7
jae 0x180089f22
movzx ecx, r8b
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x180089f5e
cmp rcx, 7
jae 0x180089f3a
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x180089f5e
movsxd rax, dword [r11 + 8]
cmp rdi, rax
jne 0x180089f4b
mov r8d, 2
jmp 0x180089f5e
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x180089f5e
lea r8, [rdi + 0xf]
xor r9d, r9d
cmp rdi, r10
ja 0x180089fe3
test r8, r8
je 0x180089fe3
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 0x180089fe3
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 0x180089fe3
lea eax, [rcx - 1]
mov dword [r11 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r11 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r11 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r11 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r11 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r11 + 0x3c], eax
mov rcx, qword [rbp + 0x7f]
mov esi, dword [rbp - 0x51]
mov r12, qword [rsp + 0x30]
mov r15, qword [rbp + 0x5f]
mov r11, qword [rsp + 0x28]
movzx eax, sil
shl eax, 0x19
or eax, r12d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r14d, dword [r15 + 0x44]
lea rax, [r14 + 0x10]
cmp r8, rax
jae 0x18008a01a
mov ebx, r9d
jmp 0x18008a093
mov r11d, dword [r15 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r14
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x28]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r14w
or r8w, r9w
mov r14, qword [rbp + 0x7f]
lea edx, [r12 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r14 + 0xe], r8w
and r8w, ax
mov dword [r14 + 8], ebx
cmp r11, 6
jae 0x18008a0c1
movzx r10d, r11w
mov eax, 0x17
jmp 0x18008a133
cmp r11, 0x82
jae 0x18008a0eb
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 0x18008a133
cmp r11, 0x842
jae 0x18008a108
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x18008a133
mov eax, 0x17
cmp r11, 0x1842
jae 0x18008a11e
mov r10d, 0x15
jmp 0x18008a133
cmp r11, 0x5842
jae 0x18008a12f
mov r10d, 0x16
jmp 0x18008a133
movzx r10d, ax
cmp r9, 0xa
jae 0x18008a140
sub r9w, 2
jmp 0x18008a180
cmp r9, 0x86
jae 0x18008a165
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 0x18008a180
cmp r9, 0x846
jae 0x18008a17c
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x18008a180
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 0x18008a1b8
cmp r10w, 8
jae 0x18008a1b8
cmp r9w, 0x10
jae 0x18008a1b8
cmp r9w, 8
jb 0x18008a1ec
or dx, 0x40
jmp 0x18008a1ec
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0x8f]
mov rsi, qword [rbp - 0x41]
mov word [r14 + 0xc], dx
add r14, 0x10
mov qword [rbp + 0x7f], r14
add qword [rax], r11
xor eax, eax
mov r14, qword [rbp + 0x3f]
mov qword [rsp + 0x28], rax
lea rax, [r12 + r14]
cmp rax, rsi
lea rbx, [r14 + 2]
cmovb rsi, rax
mov rax, r12
shr rax, 2
cmp rdi, rax
jae 0x18008a256
lea rax, [rdi*4]
mov rcx, r12
sub rcx, rax
lea rax, [rcx + r14]
cmp rbx, rax
mov eax, 2
cmova rcx, rax
lea rbx, [r14 + rcx]
cmp rsi, rbx
cmovb rbx, rsi
cmp rbx, rsi
jae 0x18008a2cc
movabs r15, 0x1fe35a7bd3579bd3
nop word [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, rbx
and rax, qword [rbp + 0x4f]
mov r8d, dword [r13 + 0x50]
mov rcx, qword [rbp + 0x47]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + rcx]
and r10, qword [r13 + 0x48]
mov ecx, dword [r13 + 0x40]
imul r10, r15
shr r10, cl
mov ecx, dword [r13 + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
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 0x18008a270
mov r15, qword [rbp + 0x5f]
mov r10, qword [rsp + 0x28]
add r14, r12
mov qword [rbp + 0x3f], r14
jmp 0x18008a460
mov r10, qword [rsp + 0x28]
inc r14
mov r12, qword [rbp - 0x71]
inc r10
mov qword [rsp + 0x28], r10
mov qword [rbp + 0x3f], r14
cmp r14, r12
jbe 0x18008a45c
mov rax, qword [rbp - 0x39]
mov rbx, qword [rbp - 0x49]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp r14, rax
jbe 0x18008a3b8
lea rax, [r14 + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp r14, rbx
jae 0x18008a45c
mov rax, rbx
add r10, 4
sub rax, r14
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x28], r10
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, r14
and rax, qword [rbp + 0x4f]
mov r8d, dword [r13 + 0x50]
mov rcx, qword [rbp + 0x47]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r13 + 0x48]
mov ecx, dword [r13 + 0x40]
imul r10, rax
shr r10, cl
mov ecx, dword [r13 + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], r14d
add r14, 4
cmp r14, rbx
jb 0x18008a350
jmp 0x18008a453
lea rax, [r14 + 8]
cmp rax, rbx
cmovb rbx, rax
cmp r14, rbx
jae 0x18008a45c
mov rax, rbx
add r10, 2
sub rax, r14
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x28], r10
nop word [rax + rax]
mov rdx, qword [r13 + 0x68]
mov rax, r14
and rax, qword [rbp + 0x4f]
mov r8d, dword [r13 + 0x50]
mov rcx, qword [rbp + 0x47]
mov r11, qword [r13 + 0x70]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r13 + 0x48]
mov ecx, dword [r13 + 0x40]
imul r10, rax
shr r10, cl
mov ecx, dword [r13 + 0x54]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], r14d
add r14, 2
cmp r14, rbx
jb 0x18008a3f0
mov r10, qword [rsp + 0x28]
mov qword [rbp + 0x3f], r14
mov r15, qword [rbp + 0x5f]
mov rbx, qword [rbp - 0x49]
lea rax, [r14 + 8]
mov r9, qword [rbp + 0x47]
mov edi, 0
mov r8, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x79]
cmp rax, rbx
jb 0x180088d10
mov r12, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xf8]
mov rax, qword [rbp + 0x77]
sub rbx, r14
mov rcx, qword [rbp + 0x7f]
add rbx, r10
sub rcx, qword [rbp - 0x29]
sar rcx, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x87]
add qword [rax], rcx
add rsp, 0x100
pop r15
pop r14
pop r13
pop rbx
pop rbp
ret