Function at 0x1800a6670
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov qword [rsp + 0x38], r9
mov rbp, r8
mov r11, rdx
mov rbx, rcx
mov r10d, dword [rcx + 0x4018]
test r10, r10
je 0x1800a6ec2
mov rcx, qword [rbx + 0x4000]
add rcx, r10
mov edx, dword [rsp + 0x138]
mov r12d, dword [rbx + 0x4010]
mov rax, qword [rsp + 0x38]
lea r8d, [r12 + rax]
cmp r8d, 0x80000001
jb 0x1800a6767
mov r8, qword [rbx + 0x4000]
add r12d, 0xffff0000
movd xmm0, r12d
pshufd xmm0, xmm0, 0
xor r9d, r9d
movdqa xmm1, xmmword [0x1800b71e0]
movdqa xmm2, xmm0
pxor xmm2, xmm1
movdqu xmm3, xmmword [rbx + r9*4]
movdqa xmm4, xmm3
pxor xmm4, xmm1
pcmpgtd xmm4, xmm2
psubd xmm3, xmm0
pand xmm3, xmm4
movdqu xmmword [rbx + r9*4], xmm3
add r9, 4
cmp r9, 0x1000
jne 0x1800a66fa
add r8, r10
mov dword [rbx + 0x4010], 0x10000
mov r10d, dword [rbx + 0x4018]
cmp r10d, 0x10001
jb 0x1800a6754
mov dword [rbx + 0x4018], 0x10000
mov r10d, 0x10000
mov r9d, r10d
sub r8, r9
mov qword [rbx + 0x4000], r8
mov r12d, 0x10000
cmp edx, 2
mov r15d, 1
cmovge r15d, edx
mov edx, 0x10001
cmp r15d, edx
cmovae r15d, edx
cmp r10d, 3
ja 0x1800a67b3
cmp dword [rsp + 0x38], 0
jle 0x1800a67b3
cmp rcx, r11
je 0x1800a67b3
cmp qword [rbx + 0x4008], 0
jne 0x1800a67b3
mov dword [rbx + 0x4018], 0
mov qword [rbx + 0x4000], r11
xor r10d, r10d
mov rcx, r11
movsxd rdx, dword [rsp + 0x38]
add rdx, r11
mov r8, qword [rbx + 0x4000]
cmp rdx, r8
jbe 0x1800a67fd
cmp rdx, rcx
jae 0x1800a67fd
mov r8d, ecx
sub r8d, edx
mov eax, 0x10000
cmp r8d, eax
cmovae r8d, eax
xor r10d, r10d
cmp r8d, 4
cmovae r10d, r8d
mov dword [rbx + 0x4018], r10d
mov r8, rcx
sub r8, r10
mov qword [rbx + 0x4000], r8
mov esi, dword [rsp + 0x130]
cmp rcx, r11
mov qword [rsp + 0x58], rbx
je 0x1800a6ec9
mov rax, qword [rbx + 0x4008]
mov qword [rsp + 0x28], rax
test rax, rax
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x68], r12
je 0x1800a6f88
cmp dword [rsp + 0x38], 0x1001
jl 0x1800a70e4
mov r8d, 0x4020
mov rcx, rbx
mov rdx, qword [rsp + 0x28]
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
cmp dword [rsp + 0x38], 0x7e000000
ja 0x1800a908c
movabs r13, 0xcf1bbcdcbb000000
mov r11d, dword [rbx + 0x4010]
mov r12, qword [rsp + 0x30]
mov edx, r15d
mov r15, r12
sub r15, r11
mov r10, qword [rbx + 0x4000]
mov eax, dword [rbx + 0x4018]
mov r8, qword [rsp + 0x38]
lea ecx, [rax + r8]
mov rdi, rax
add rdi, r10
mov qword [rsp + 0x88], rbp
mov eax, r8d
mov qword [rsp + 0x50], rax
add rax, r12
mov qword [rsp + 0x60], rax
mov r14, rdi
sub r14, r11
movsxd rax, esi
add rax, rbp
mov qword [rsp + 0x28], rax
mov dword [rbx + 0x4018], ecx
mov rax, qword [rsp + 0x38]
add eax, r11d
mov dword [rbx + 0x4010], eax
mov dword [rbx + 0x4014], 2
mov r8, qword [r12]
imul r8, r13
shr r8, 0x32
and r8d, 0xfffffffc
mov r9d, edx
shl r9d, 6
or r9d, 1
lea rcx, [r12 + 2]
lea rax, [r12 + 1]
lea esi, [r11 + 1]
test r10, r10
mov rbp, qword [rsp + 0x50]
lea rbp, [r12 + rbp - 0xb]
mov qword [rsp + 0x70], rbp
cmove r14, r10
mov qword [rsp + 0x78], r14
mov ebp, r9d
mov qword [rsp + 0x68], r11
mov dword [rbx + r8], r11d
mov r9, qword [rsp + 0x50]
lea r8, [r12 + r9 - 5]
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x48], r10
cmove rdi, r10
mov qword [rsp + 0xa0], rdi
lea r8, [r12 + r9 - 0xc]
mov qword [rsp + 0x50], r8
mov rdi, qword [rsp + 0x88]
mov r14, rdi
mov dword [rsp + 0x44], edx
mov dword [rsp + 0xa8], ebp
mov r8, qword [r12 + 1]
mov r9d, edx
mov edx, ebp
mov r10, rcx
imul r8, r13
mov rcx, r8
shr rcx, 0x34
mov r11d, dword [rbx + rcx*4]
mov r8, qword [r10]
mov dword [rbx + rcx*4], esi
lea ecx, [r11 + 0xffff]
cmp ecx, esi
jb 0x1800a69c0
mov rcx, qword [rsp + 0x78]
cmp r11d, dword [rsp + 0x68]
jb 0x1800a69b3
mov rcx, r15
mov ebx, dword [rcx + r11]
cmp ebx, dword [rax]
mov rbx, qword [rsp + 0x58]
je 0x1800a69e6
mov esi, r10d
sub esi, r15d
mov ecx, r9d
add rcx, r10
lea eax, [rdx + 1]
shr edx, 6
mov r9d, edx
mov edx, eax
mov rax, r10
cmp rcx, qword [rsp + 0x70]
jbe 0x1800a6981
jmp 0x1800a915d
add rcx, r11
cmp r11d, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x30]
cmovb rbx, qword [rsp + 0x48]
sub esi, r11d
mov r8d, eax
sub r8d, r12d
lea edx, [r8 + 0xef]
mov qword [rsp + 0xb0], rdx
lea edx, [r8 - 0xf]
mov dword [rsp + 0x90], edx
lea edx, [r8 - 0x10e]
mov dword [rsp + 0x98], edx
xor r11d, r11d
xor r13d, r13d
mov edx, r13d
mov r10, r11
lea rbp, [rcx + r11]
lea r14, [rax + r11]
cmp rbp, rbx
jbe 0x1800a6a5c
cmp r14, r12
jbe 0x1800a6a5c
mov r9b, byte [rax + r10 - 1]
lea r13d, [rdx + 1]
lea r11, [r10 - 1]
cmp r9b, byte [rcx + r10 - 1]
je 0x1800a6a30
add dword [rsp + 0x98], r10d
add dword [rsp + 0x90], r10d
add r10d, r8d
add r10d, 0xef
mov rax, r14
sub rax, r12
mov r13d, eax
lea rcx, [rdi + r13]
inc rcx
mov r8, r13
mov r9d, 0x80808081
imul r8, r9
shr r8, 0x27
add rcx, r8
add rcx, 8
cmp rcx, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
ja 0x1800a9624
lea rcx, [rdi + 1]
cmp eax, 0xf
jb 0x1800a6b51
add eax, 0xfffffff1
mov byte [rdi], 0xf0
cmp eax, 0xff
jl 0x1800a6b45
mov r8d, 0x1fd
cmp eax, r8d
cmovge eax, r8d
add edx, eax
mov r8, qword [rsp + 0xb0]
sub r8d, edx
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
inc r8d
mov dl, 0xff
mov dword [rsp + 0xb0], r10d
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0x30]
mov eax, dword [rsp + 0x90]
mov ecx, 0x1fd
cmp eax, ecx
cmovge eax, ecx
mov ecx, dword [rsp + 0xb0]
sub ecx, eax
mov edx, ecx
mov eax, 0x80808081
imul rdx, rax
shr rdx, 0x27
mov eax, edx
lea rcx, [rdi + rdx]
add rcx, 2
shl edx, 8
sub eax, edx
add eax, dword [rsp + 0x98]
mov r10, qword [rsp + 0x48]
mov byte [rcx], al
inc rcx
jmp 0x1800a6b5b
shl al, 4
mov byte [rdi], al
mov r10, qword [rsp + 0x48]
add r13, rcx
mov rax, qword [r12]
mov qword [rcx], rax
add rcx, 8
add r12, 8
cmp rcx, r13
jb 0x1800a6b5e
mov rax, rdi
mov r12, r14
mov word [r13], si
cmp rbx, r10
mov rdi, qword [rsp + 0x50]
je 0x1800a6d0c
add rbp, 4
lea rcx, [r12 + 4]
cmp rdi, rcx
mov rbx, qword [rsp + 0x58]
jbe 0x1800a94dd
mov rdx, qword [rcx]
xor rdx, qword [rbp]
je 0x1800a6d81
tzcnt rsi, rdx
xor r8d, r8d
test rdx, rdx
sete dl
je 0x1800a6d8b
shr esi, 3
mov ecx, esi
add r12, rcx
add r12, 4
lea ecx, [rsi + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, r13
add rcx, 8
cmp rcx, qword [rsp + 0x28]
ja 0x1800a9297
lea rdi, [r13 + 2]
mov cl, byte [rax]
cmp esi, 0xf
jb 0x1800a6c7c
add cl, 0xf
mov byte [rax], cl
lea eax, [rsi - 0xf]
mov dword [rdi], 0xffffffff
cmp eax, 0x3fc
jb 0x1800a6c63
lea rcx, [r13 + 6]
add esi, 0xfffffbf5
mov rdi, rsi
mov eax, 0x80808081
imul rdi, rax
shr rdi, 0x29
mov ebx, edi
lea r8, [rbx*4 + 4]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
imul eax, edi, 0x3fc
sub esi, eax
lea rdi, [rbx*4 + 6]
add rdi, r13
mov rbx, qword [rsp + 0x58]
mov eax, esi
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
add rdi, rcx
inc rdi
add ecx, eax
mov byte [rdi - 1], cl
jmp 0x1800a6c81
add cl, sil
mov byte [rax], cl
cmp r12, qword [rsp + 0x70]
movabs r13, 0xcf1bbcdcbb000000
jae 0x1800a74a1
lea rax, [r12 - 2]
mov rcx, qword [r12 - 2]
imul rcx, r13
sub eax, r15d
shr rcx, 0x34
mov dword [rbx + rcx*4], eax
mov rcx, qword [r12]
imul rcx, r13
mov esi, r12d
sub esi, r15d
shr rcx, 0x34
mov eax, dword [rbx + rcx*4]
cmp eax, dword [rsp + 0x68]
mov rbp, r15
cmovb rbp, qword [rsp + 0x78]
mov rdx, rbx
mov rbx, r11
cmovb rbx, r10
mov dword [rdx + rcx*4], esi
lea ecx, [rax + 0xffff]
cmp ecx, esi
jb 0x1800a6e8b
add rbp, rax
mov ecx, dword [rbp]
cmp ecx, dword [r12]
jne 0x1800a6e8b
lea r13, [rdi + 1]
mov byte [rdi], 0
sub esi, eax
mov rax, rdi
jmp 0x1800a6b78
mov rcx, qword [rsp + 0xa0]
sub rcx, rbp
add rcx, r12
mov rdx, qword [rsp + 0x80]
cmp rcx, rdx
cmova rcx, rdx
add rbp, 4
lea rdx, [r12 + 4]
lea r8, [rcx - 7]
cmp r8, rdx
mov rbx, qword [rsp + 0x58]
jbe 0x1800a9546
mov r9, qword [rdx]
xor r9, qword [rbp]
je 0x1800a6e04
tzcnt rsi, r9
xor r10d, r10d
test r9, r9
sete r9b
je 0x1800a6e0e
shr esi, 3
mov edx, esi
add r12, rdx
add r12, 4
cmp r12, rcx
je 0x1800a6dc5
mov r10, qword [rsp + 0x48]
jmp 0x1800a6bcf
mov esi, 0x40
jmp 0x1800a6bb4
mov r8b, dl
lea rdx, [rcx + r8*8]
lea rbp, [rbp + r8*8]
mov rsi, rdx
cmp rdx, rdi
jae 0x1800a90b7
mov r8, qword [rsi]
lea rdx, [rsi + 8]
xor r8, qword [rbp]
lea rbp, [rbp + 8]
je 0x1800a6d97
tzcnt rdx, r8
shr edx, 3
add esi, edx
sub esi, ecx
jmp 0x1800a6bc6
mov r9, rcx
mov r8, r11
cmp rdi, rcx
jbe 0x1800a6e5c
mov r8, qword [rcx]
xor r8, qword [r11]
je 0x1800a6e4a
tzcnt rdx, r8
xor r10d, r10d
test r8, r8
sete r8b
je 0x1800a6e51
shr edx, 3
mov r10, qword [rsp + 0x48]
add esi, edx
mov edx, edx
add rcx, rdx
mov r12, rcx
jmp 0x1800a6bcf
mov esi, 0x40
jmp 0x1800a6d56
mov r10b, r9b
lea r9, [rdx + r10*8]
lea rbp, [rbp + r10*8]
mov rsi, r9
cmp r9, r8
jae 0x1800a9167
mov r10, qword [rsi]
lea r9, [rsi + 8]
xor r10, qword [rbp]
lea rbp, [rbp + 8]
je 0x1800a6e1a
tzcnt r8, r10
shr r8d, 3
add esi, r8d
sub esi, edx
jmp 0x1800a6d69
mov edx, 0x40
jmp 0x1800a6de1
mov r10b, r8b
lea r9, [rcx + r10*8]
lea r8, [r11 + r10*8]
mov rdx, r9
cmp r9, rdi
jae 0x1800a929e
mov r10, qword [rdx]
lea r9, [rdx + 8]
xor r10, qword [r8]
lea r8, [r8 + 8]
je 0x1800a6e5c
tzcnt r8, r10
shr r8d, 3
add edx, r8d
sub edx, ecx
jmp 0x1800a6df0
lea rax, [r12 + 1]
mov esi, eax
sub esi, r15d
lea rcx, [r12 + 2]
cmp rcx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov ebp, dword [rsp + 0xa8]
jbe 0x1800a6977
jmp 0x1800a74a9
xor ecx, ecx
jmp 0x1800a66ab
cmp r10d, 0xffff
ja 0x1800a7243
mov eax, r12d
sub eax, r10d
mov dword [rsp + 0x70], eax
jbe 0x1800a7243
xor eax, eax
cmp dword [rsp + 0x38], 0x7e000000
ja 0x1800a90a3
cmp dword [rsp + 0x38], 0
je 0x1800a7569
mov r8, qword [rsp + 0x38]
mov ecx, r8d
lea r9, [r11 + rcx]
movsxd rax, esi
add rax, rbp
mov qword [rsp + 0x30], rax
lea edx, [r10 + r8]
mov dword [rbx + 0x4018], edx
lea edx, [r12 + r8]
mov dword [rbx + 0x4010], edx
mov dword [rbx + 0x4014], 2
cmp r8d, 0xd
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x28], r9
jae 0x1800a7b7c
mov rsi, rbp
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x28]
sub r15, r11
lea rcx, [rsi + r15]
lea rax, [r15 + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
inc rax
cmp rax, r14
jmp 0x1800a72e0
cmp r10d, 0xffff
mov qword [rsp + 0x28], r8
ja 0x1800a7368
mov r13d, r12d
sub r13d, r10d
jbe 0x1800a7368
xor eax, eax
cmp dword [rsp + 0x38], 0x7e000000
ja 0x1800a9091
cmp dword [rsp + 0x38], 0
je 0x1800a7553
mov dword [rsp + 0x44], r15d
mov ecx, r12d
mov r9d, r10d
add r9, r8
mov rdi, qword [rsp + 0x38]
mov edx, edi
lea rax, [r11 + rdx]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x98], r9
sub r9, rcx
test r8, r8
cmove r9, r8
mov qword [rsp + 0x78], r9
movsxd rax, esi
add rax, rbp
mov qword [rsp + 0x50], rax
add r10d, edi
mov dword [rbx + 0x4018], r10d
lea eax, [r12 + rdi]
mov dword [rbx + 0x4010], eax
mov dword [rbx + 0x4014], 2
mov r12, r11
mov rax, rbp
mov qword [rsp + 0x88], rbp
cmp edi, 0xd
jae 0x1800a846d
mov rsi, qword [rsp + 0x60]
sub rsi, r12
lea rcx, [rsi + rbp]
lea rax, [rsi + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
inc rax
cmp rax, qword [rsp + 0x50]
mov eax, 0
ja 0x1800a9091
cmp rsi, 0xf
jb 0x1800a9115
lea rax, [rsi - 0xf]
mov byte [rbp], 0xf0
lea rcx, [rbp + 1]
cmp rax, 0xff
jb 0x1800a70d3
lea rax, [rsi - 0x10e]
mul r8
mov r13, rdx
shr r13, 7
lea r8, [r13 + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, r13
shl rax, 8
mov rdx, r13
sub rdx, rax
lea rcx, [rbp + 2]
add rcx, r13
add rbp, r13
inc rbp
lea rax, [rsi + rdx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
add rbp, 2
mov rax, rbp
mov rbp, rcx
jmp 0x1800a9121
xor eax, eax
cmp dword [rsp + 0x38], 0x7e000000
ja 0x1800a9091
cmp dword [rsp + 0x38], 0
je 0x1800a7553
mov rax, qword [rsp + 0x28]
mov r8, qword [rax + 0x4000]
mov r9d, dword [rax + 0x4018]
mov eax, dword [rax + 0x4010]
add r9, r8
mov r10, qword [rsp + 0x38]
mov ecx, r10d
lea rdx, [r11 + rcx]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x98], r9
sub r9, rax
test r8, r8
mov qword [rsp + 0x78], r8
cmove r9, r8
mov qword [rsp + 0x50], r9
movsxd rdx, esi
add rdx, rbp
mov qword [rsp + 0x80], rdx
mov qword [rbx + 0x4008], 0
mov dword [rbx + 0x4018], r10d
lea edx, [r12 + r10]
mov dword [rbx + 0x4010], edx
mov dword [rbx + 0x4014], 2
mov r13, r11
mov rdx, rbp
mov qword [rsp + 0x88], rbp
cmp r10d, 0xd
jae 0x1800a757f
mov rsi, qword [rsp + 0x60]
sub rsi, r13
lea rcx, [rsi + rbp]
lea rax, [rsi + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
inc rax
cmp rax, qword [rsp + 0x80]
mov eax, 0
ja 0x1800a9091
cmp rsi, 0xf
jb 0x1800a9065
lea rax, [rsi - 0xf]
mov byte [rbp], 0xf0
lea rcx, [rbp + 1]
cmp rax, 0xff
jb 0x1800a7232
lea rax, [rsi - 0x10e]
mul r8
mov r12, rdx
shr r12, 7
lea r8, [r12 + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, r12
shl rax, 8
mov rdx, r12
sub rdx, rax
lea rcx, [r12 + rbp]
add rcx, 2
add rbp, r12
inc rbp
lea rax, [rsi + rdx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
add rbp, 2
mov rax, rbp
mov rbp, rcx
jmp 0x1800a9071
xor eax, eax
cmp dword [rsp + 0x38], 0x7e000000
ja 0x1800a90a3
cmp dword [rsp + 0x38], 0
je 0x1800a7569
mov r9, qword [rsp + 0x38]
mov ecx, r9d
lea r8, [r11 + rcx]
movsxd rax, esi
add rax, rbp
mov qword [rsp + 0x68], rax
lea edx, [r10 + r9]
mov dword [rbx + 0x4018], edx
lea edx, [r12 + r9]
mov dword [rbx + 0x4010], edx
mov dword [rbx + 0x4014], 2
cmp r9d, 0xd
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x50], r8
jae 0x1800a7fd5
mov rsi, rbp
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x50]
sub r15, r11
lea rcx, [rsi + r15]
lea rax, [r15 + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
inc rax
cmp rax, r12
mov r14, qword [rsp + 0x88]
mov eax, 0
ja 0x1800a90a3
cmp r15, 0xf
jb 0x1800a841f
lea rax, [r15 - 0xf]
mov byte [rsi], 0xf0
lea rcx, [rsi + 1]
cmp rax, 0xff
jb 0x1800a7357
lea rax, [r15 - 0x10e]
mul r8
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov dl, 0xff
mov rdi, r11
call sub.VCRUNTIME140.dll_memset
mov r11, rdi
mov rax, rbx
shl rax, 8
mov rdx, rbx
sub rdx, rax
lea rcx, [rbx + rsi]
add rcx, 2
add rsi, rbx
inc rsi
lea rax, [r15 + rdx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
add rsi, 2
mov rax, rsi
mov rsi, rcx
jmp 0x1800a842b
xor eax, eax
cmp dword [rsp + 0x38], 0x7e000000
ja 0x1800a9091
cmp dword [rsp + 0x38], 0
je 0x1800a7553
mov ecx, r12d
mov eax, r10d
add rax, r8
mov r9, qword [rsp + 0x38]
mov edx, r9d
lea r13, [r11 + rdx]
mov qword [rsp + 0x80], rax
sub rax, rcx
test r8, r8
cmove rax, r8
mov qword [rsp + 0x78], rax
movsxd rax, esi
add rax, rbp
mov qword [rsp + 0x50], rax
add r10d, r9d
mov dword [rbx + 0x4018], r10d
lea eax, [r12 + r9]
mov dword [rbx + 0x4010], eax
mov dword [rbx + 0x4014], 2
mov r12, r11
mov rax, rbp
mov qword [rsp + 0x88], rbp
cmp r9d, 0xd
jae 0x1800a8a71
sub r13, r12
mov rcx, rbp
add rcx, r13
lea rax, [r13 + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
inc rax
cmp rax, qword [rsp + 0x50]
mov eax, 0
ja 0x1800a9091
cmp r13, 0xf
jb 0x1800a912c
lea rax, [r13 - 0xf]
mov byte [rbp], 0xf0
lea rcx, [rbp + 1]
cmp rax, 0xff
jb 0x1800a7490
lea rax, [r13 - 0x10e]
mul r8
mov rsi, r13
mov r13, rdx
shr r13, 7
lea r8, [r13 + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, r13
shl rax, 8
mov rdx, r13
sub rdx, rax
lea rcx, [rbp + 2]
add rcx, r13
add rbp, r13
inc rbp
mov r13, rsi
lea rax, [rsi + rdx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
add rbp, 2
mov rax, rbp
mov rbp, rcx
jmp 0x1800a9139
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x60]
sub rsi, r12
lea rcx, [rdi + rsi]
lea rax, [rsi + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
inc rax
cmp rax, qword [rsp + 0x28]
mov eax, 0
ja 0x1800a9091
cmp rsi, 0xf
jb 0x1800a844a
lea rax, [rsi - 0xf]
mov byte [rdi], 0xf0
lea rcx, [rdi + 1]
cmp rax, 0xff
jb 0x1800a7542
lea rax, [rsi - 0x10e]
mul r8
mov r13, rdx
shr r13, 7
lea r8, [r13 + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, r13
shl rax, 8
mov rdx, r13
sub rdx, rax
lea rcx, [rdi + r13]
add rcx, 2
add rdi, r13
inc rdi
lea rax, [rsi + rdx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
add rdi, 2
mov rax, rdi
mov rdi, rcx
jmp 0x1800a8455
test esi, esi
jle 0x1800a9091
mov byte [rbp], 0
mov eax, 1
jmp 0x1800a9091
test esi, esi
jle 0x1800a90a3
mov byte [rbp], 0
mov eax, 1
jmp 0x1800a90a3
mov edx, r12d
mov r14, r11
sub r14, rdx
mov edx, r12d
sub edx, eax
mov qword [rsp + 0x48], rdx
lea rax, [r11 + rcx]
add rax, 0xfffffffffffffff5
mov qword [rsp + 0x70], rax
lea rax, [r11 + rcx]
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x78]
test rax, rax
movabs rdx, 0xcf1bbcdcbb000000
mov rcx, qword [rsp + 0x98]
cmove rcx, rax
mov qword [rsp + 0x98], rcx
mov rax, qword [r11]
imul rax, rdx
shr rax, 0x32
and eax, 0xfffffffc
mov dword [rbx + rax], r12d
mov r8d, r15d
shl r8d, 6
or r8d, 1
lea r9, [r11 + 2]
lea rax, [r11 + 1]
lea edi, [r12 + 1]
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff4
mov qword [rsp + 0xa0], rcx
mov r13, r11
mov rbp, qword [rsp + 0x88]
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0xc4], r8d
mov r10, qword [r13 + 1]
mov edx, r15d
mov ecx, r8d
mov r8, r9
movabs r9, 0xcf1bbcdcbb000000
imul r10, r9
mov rsi, r10
shr rsi, 0x34
mov r11d, dword [rbx + rsi*4]
cmp r11d, r12d
jae 0x1800a7671
mov r9, qword [rsp + 0x28]
mov r9d, dword [r9 + rsi*4]
mov r10, qword [rsp + 0x48]
lea r11d, [r9 + r10]
add r9, qword [rsp + 0x50]
mov r15, qword [rsp + 0x78]
jmp 0x1800a767a
lea r9, [r14 + r11]
mov r15, qword [rsp + 0x30]
mov r10, qword [r8]
mov dword [rbx + rsi*4], edi
lea esi, [r11 + 0xffff]
cmp esi, edi
jb 0x1800a7692
mov esi, dword [r9]
cmp esi, dword [rax]
je 0x1800a76b7
mov edi, r8d
sub edi, r14d
mov r9d, edx
add r9, r8
lea eax, [rcx + 1]
shr ecx, 6
mov edx, ecx
mov ecx, eax
mov rax, r8
cmp r9, qword [rsp + 0x70]
jbe 0x1800a7632
jmp 0x1800a9217
sub edi, r11d
mov r8d, eax
sub r8d, r13d
lea ecx, [r8 + 0xef]
mov qword [rsp + 0xb8], rcx
lea ecx, [r8 - 0xf]
mov dword [rsp + 0xa8], ecx
lea ecx, [r8 - 0x10e]
mov dword [rsp + 0xb0], ecx
xor r11d, r11d
xor r12d, r12d
mov edx, r12d
mov r10, r11
lea rsi, [r9 + r11]
lea rbx, [rax + r11]
cmp rsi, r15
jbe 0x1800a771a
cmp rbx, r13
jbe 0x1800a771a
mov cl, byte [rax + r10 - 1]
lea r12d, [rdx + 1]
lea r11, [r10 - 1]
cmp cl, byte [r9 + r10 - 1]
je 0x1800a76ee
add dword [rsp + 0xb0], r10d
add dword [rsp + 0xa8], r10d
add r10d, r8d
add r10d, 0xef
mov rax, rbx
sub rax, r13
mov r12d, eax
lea rcx, [r12 + rbp]
inc rcx
mov r8, r12
mov r9d, 0x80808081
imul r8, r9
shr r8, 0x27
add rcx, r8
add rcx, 8
cmp rcx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x30]
ja 0x1800a9624
lea rcx, [rbp + 1]
cmp eax, 0xf
jb 0x1800a780e
add eax, 0xfffffff1
mov byte [rbp], 0xf0
cmp eax, 0xff
jl 0x1800a7807
mov r8d, 0x1fd
cmp eax, r8d
cmovge eax, r8d
add edx, eax
mov r8, qword [rsp + 0xb8]
sub r8d, edx
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
inc r8d
mov dl, 0xff
mov dword [rsp + 0xb8], r10d
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0x30]
mov eax, dword [rsp + 0xa8]
mov ecx, 0x1fd
cmp eax, ecx
cmovge eax, ecx
mov ecx, dword [rsp + 0xb8]
sub ecx, eax
mov edx, ecx
mov eax, 0x80808081
imul rdx, rax
shr rdx, 0x27
mov eax, edx
lea rcx, [rdx + rbp]
add rcx, 2
shl edx, 8
sub eax, edx
add eax, dword [rsp + 0xb0]
mov byte [rcx], al
inc rcx
jmp 0x1800a7814
shl al, 4
mov byte [rbp], al
add r12, rcx
mov rax, qword [r13]
mov qword [rcx], rax
add rcx, 8
add r13, 8
cmp rcx, r12
jb 0x1800a7817
mov rax, rbp
mov r13, rbx
mov rbx, qword [rsp + 0x58]
mov word [r12], di
cmp r15, qword [rsp + 0x78]
je 0x1800a79d6
add rsi, 4
lea rcx, [r13 + 4]
mov r9, qword [rsp + 0xa0]
cmp r9, rcx
jbe 0x1800a961c
mov rdx, qword [rcx]
xor rdx, qword [rsi]
je 0x1800a7a88
tzcnt rdi, rdx
xor r8d, r8d
test rdx, rdx
sete dl
je 0x1800a7a92
shr edi, 3
mov ecx, edi
add r13, rcx
add r13, 4
lea ecx, [rdi + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, r12
add rcx, 8
cmp rcx, qword [rsp + 0x80]
ja 0x1800a9297
lea rbp, [r12 + 2]
mov cl, byte [rax]
cmp edi, 0xf
jb 0x1800a7936
add cl, 0xf
mov byte [rax], cl
lea eax, [rdi - 0xf]
mov dword [rbp], 0xffffffff
cmp eax, 0x3fc
jb 0x1800a791d
lea rcx, [r12 + 6]
add edi, 0xfffffbf5
mov rsi, rdi
mov eax, 0x80808081
imul rsi, rax
shr rsi, 0x29
mov ebx, esi
lea r8, [rbx*4 + 4]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0x30]
imul eax, esi, 0x3fc
sub edi, eax
lea rbp, [r12 + rbx*4]
add rbp, 6
mov rbx, qword [rsp + 0x58]
mov eax, edi
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
add rbp, rcx
inc rbp
add ecx, eax
mov byte [rbp - 1], cl
jmp 0x1800a793b
add cl, dil
mov byte [rax], cl
cmp r13, qword [rsp + 0x70]
mov r12, qword [rsp + 0x68]
jae 0x1800a7194
lea rax, [r13 - 2]
mov rcx, qword [r13 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, r14d
shr rcx, 0x34
mov dword [rbx + rcx*4], eax
mov rax, qword [r13]
imul rax, rdx
shr rax, 0x34
mov ecx, dword [rbx + rax*4]
cmp ecx, r12d
jae 0x1800a799a
mov rcx, qword [rsp + 0x28]
mov esi, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x48]
add ecx, esi
add rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x78]
jmp 0x1800a79a1
lea rsi, [r14 + rcx]
mov r15, r11
mov edi, r13d
sub edi, r14d
mov dword [rbx + rax*4], edi
lea eax, [rcx + 0xffff]
cmp eax, edi
jb 0x1800a7b52
mov eax, dword [rsi]
cmp eax, dword [r13]
jne 0x1800a7b52
lea r12, [rbp + 1]
mov byte [rbp], 0
sub edi, ecx
mov rax, rbp
jmp 0x1800a7836
mov rcx, qword [rsp + 0x98]
sub rcx, rsi
add rcx, r13
mov rdx, qword [rsp + 0x90]
cmp rcx, rdx
cmova rcx, rdx
add rsi, 4
lea rdx, [r13 + 4]
lea r8, [rcx - 7]
cmp r8, rdx
mov r15, qword [rsp + 0xa0]
jbe 0x1800a9630
mov r9, qword [rdx]
xor r9, qword [rsi]
je 0x1800a7aca
tzcnt rdi, r9
xor r10d, r10d
test r9, r9
sete r9b
je 0x1800a7ad4
shr edi, 3
mov edx, edi
add r13, rdx
add r13, 4
cmp r13, rcx
jne 0x1800a788b
mov r9, rcx
mov r8, r11
cmp r15, rcx
jbe 0x1800a7b23
mov r8, qword [rcx]
xor r8, qword [r11]
je 0x1800a7b0e
tzcnt rdx, r8
xor r10d, r10d
test r8, r8
sete r8b
je 0x1800a7b18
shr edx, 3
add edi, edx
mov edx, edx
add rcx, rdx
mov r13, rcx
jmp 0x1800a788b
mov edi, 0x40
jmp 0x1800a7870
mov r8b, dl
lea rdx, [rcx + r8*8]
lea rsi, [rsi + r8*8]
mov rdi, rdx
cmp rdx, r9
jae 0x1800a91bc
mov r8, qword [rdi]
lea rdx, [rdi + 8]
xor r8, qword [rsi]
lea rsi, [rsi + 8]
je 0x1800a7a9d
tzcnt rdx, r8
shr edx, 3
add edi, edx
sub edi, ecx
jmp 0x1800a7882
mov edi, 0x40
jmp 0x1800a7a21
mov r10b, r9b
lea r9, [rdx + r10*8]
lea rsi, [rsi + r10*8]
mov rdi, r9
cmp r9, r8
jae 0x1800a92ce
mov r10, qword [rdi]
lea r9, [rdi + 8]
xor r10, qword [rsi]
lea rsi, [rsi + 8]
je 0x1800a7adf
tzcnt r8, r10
shr r8d, 3
add edi, r8d
sub edi, edx
jmp 0x1800a7a34
mov edx, 0x40
jmp 0x1800a7a66
mov r10b, r8b
lea r9, [rcx + r10*8]
lea r8, [r11 + r10*8]
mov rdx, r9
cmp r9, r15
jae 0x1800a94e5
mov r10, qword [rdx]
lea r9, [rdx + 8]
xor r10, qword [r8]
lea r8, [r8 + 8]
je 0x1800a7b23
tzcnt r8, r10
shr r8d, 3
add edx, r8d
sub edx, ecx
jmp 0x1800a7a79
lea rax, [r13 + 1]
mov edi, eax
sub edi, r14d
lea r9, [r13 + 2]
cmp r9, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0xc4]
jbe 0x1800a7628
jmp 0x1800a7194
mov edx, r12d
mov r8, r12
mov r12, r11
sub r12, rdx
lea rax, [r11 + rcx]
add rax, 0xfffffffffffffff5
mov qword [rsp + 0x68], rax
lea rax, [r11 + rcx - 5]
mov qword [rsp + 0xa0], rax
movabs rcx, 0xcf1bbcdcbb000000
mov eax, r10d
mov rdx, r11
sub rdx, rax
mov qword [rsp + 0x78], rdx
mov rax, qword [r11]
imul rax, rcx
shr rax, 0x32
and eax, 0xfffffffc
mov dword [rbx + rax], r8d
mov ecx, r15d
shl ecx, 6
or ecx, 1
lea rdx, [r11 + 2]
mov rsi, rbp
lea rbp, [r9 - 0xc]
mov r14, qword [rsp + 0x30]
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x80], ecx
lea rax, [r11 + 1]
mov r13, r11
mov r9, qword [r11 + 1]
mov r10d, r15d
mov r8d, ecx
mov rcx, rax
mov rax, rdx
movabs rdx, 0xcf1bbcdcbb000000
imul r9, rdx
mov rdi, r9
shr rdi, 0x34
mov edx, dword [rbx + rdi*4]
mov r11d, ecx
sub r11d, r12d
mov r9, qword [rax]
mov dword [rbx + rdi*4], r11d
cmp edx, dword [rsp + 0x70]
jb 0x1800a7c47
lea edi, [rdx + 0xffff]
cmp edi, r11d
jb 0x1800a7c47
mov r11d, dword [r12 + rdx]
cmp r11d, dword [rcx]
je 0x1800a7c67
mov edx, r10d
add rdx, rax
lea ecx, [r8 + 1]
shr r8d, 6
mov r10d, r8d
mov r8d, ecx
cmp rdx, qword [rsp + 0x68]
jbe 0x1800a7c02
jmp 0x1800a9285
add rdx, r12
mov r8d, ecx
sub r8d, r13d
lea eax, [r8 + 0xef]
mov qword [rsp + 0x48], rax
lea eax, [r8 - 0xf]
mov dword [rsp + 0x38], eax
lea r14d, [r8 - 0x10e]
xor r11d, r11d
xor edi, edi
mov eax, edi
mov r10, r11
lea r15, [rdx + r11]
lea rbx, [rcx + r11]
cmp r15, qword [rsp + 0x78]
mov r9, r13
jbe 0x1800a7cdd
cmp rbx, r9
jbe 0x1800a7cdd
mov r9b, byte [rcx + r10 - 1]
lea edi, [rax + 1]
lea r11, [r10 - 1]
cmp r9b, byte [rdx + r10 - 1]
je 0x1800a7c90
mov r11d, r14d
add r11d, r10d
add dword [rsp + 0x38], r10d
lea ecx, [r8 + r10]
add ecx, 0xef
mov dword [rsp + 0x50], ecx
mov r9, r13
jmp 0x1800a7cf6
mov r11d, r14d
add r11d, r10d
add dword [rsp + 0x38], r10d
lea ecx, [r8 + r10]
add ecx, 0xef
mov dword [rsp + 0x50], ecx
mov rdx, rbx
sub rdx, r9
mov edi, edx
lea rcx, [rsi + rdi]
inc rcx
mov r8, rdi
mov r10d, 0x80808081
imul r8, r10
shr r8, 0x27
add rcx, r8
add rcx, 8
mov r14, qword [rsp + 0x30]
cmp rcx, r14
ja 0x1800a94d6
lea rcx, [rsi + 1]
cmp edx, 0xf
jb 0x1800a7db3
add edx, 0xfffffff1
mov byte [rsi], 0xf0
cmp edx, 0xff
jl 0x1800a7dac
mov r8d, 0x1fd
cmp edx, r8d
cmovge edx, r8d
add eax, edx
mov r8, qword [rsp + 0x48]
sub r8d, eax
imul r8, r10
shr r8, 0x27
inc r8d
mov dl, 0xff
mov r14d, r11d
call sub.VCRUNTIME140.dll_memset
mov r10d, 0x80808081
mov r9, r13
mov eax, dword [rsp + 0x38]
mov ecx, 0x1fd
cmp eax, ecx
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
imul rax, r10
shr rax, 0x27
mov edx, eax
lea rcx, [rsi + rax]
add rcx, 2
shl eax, 8
sub edx, eax
add edx, r14d
mov r14, qword [rsp + 0x30]
mov byte [rcx], dl
inc rcx
jmp 0x1800a7db8
shl dl, 4
mov byte [rsi], dl
add rdi, rcx
mov rax, qword [r9]
mov qword [rcx], rax
add rcx, 8
add r9, 8
cmp rcx, rdi
jb 0x1800a7dbb
mov rax, rsi
mov r11, rbx
mov ecx, r11d
sub ecx, r15d
mov word [rdi], cx
add r15, 4
lea rcx, [r11 + 4]
cmp rbp, rcx
jbe 0x1800a960c
mov rdx, qword [rcx]
xor rdx, qword [r15]
je 0x1800a7f38
tzcnt rbx, rdx
xor r8d, r8d
test rdx, rdx
sete dl
je 0x1800a7f42
shr ebx, 3
lea ecx, [rbx + 0xf0]
imul rcx, r10
shr rcx, 0x27
add rcx, rdi
add rcx, 8
cmp rcx, r14
ja 0x1800a94d6
lea rsi, [rdi + 2]
mov cl, byte [rax]
cmp ebx, 0xf
jb 0x1800a7eb7
add cl, 0xf
mov byte [rax], cl
lea r15d, [rbx - 0xf]
mov dword [rsi], 0xffffffff
cmp r15d, 0x3fc
jb 0x1800a7e9c
lea rcx, [rdi + 6]
lea r15d, [rbx - 0x40b]
mov rsi, r15
imul rsi, r10
shr rsi, 0x29
mov r13d, esi
lea r8, [r13*4 + 4]
mov dl, 0xff
mov r14, r11
call sub.VCRUNTIME140.dll_memset
mov r10d, 0x80808081
mov r11, r14
mov r14, qword [rsp + 0x30]
imul eax, esi, 0x3fc
sub r15d, eax
lea rsi, [rdi + r13*4]
add rsi, 6
movzx eax, r15w
imul eax, eax, 0x8081
shr eax, 0x17
add rsi, rax
inc rsi
add eax, r15d
mov byte [rsi - 1], al
jmp 0x1800a7ebb
add cl, bl
mov byte [rax], cl
mov eax, ebx
add r11, rax
add r11, 4
cmp r11, qword [rsp + 0x68]
jae 0x1800a6f55
lea rax, [r11 - 2]
mov rcx, qword [r11 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, r12d
shr rcx, 0x34
mov rbx, qword [rsp + 0x58]
mov dword [rbx + rcx*4], eax
mov rcx, qword [r11]
imul rcx, rdx
mov eax, r11d
sub eax, r12d
shr rcx, 0x34
mov r15d, dword [rbx + rcx*4]
mov dword [rbx + rcx*4], eax
cmp r15d, dword [rsp + 0x70]
jb 0x1800a7f76
lea ecx, [r15 + 0xffff]
cmp ecx, eax
jb 0x1800a7f76
add r15, r12
mov eax, dword [r15]
cmp eax, dword [r11]
jne 0x1800a7f76
lea rdi, [rsi + 1]
mov byte [rsi], 0
mov rax, rsi
jmp 0x1800a7dd4
mov ebx, 0x40
jmp 0x1800a7dff
mov r8b, dl
lea rdx, [rcx + r8*8]
lea r15, [r15 + r8*8]
mov rbx, rdx
cmp rdx, rbp
jae 0x1800a7f96
mov r8, qword [rbx]
lea rdx, [rbx + 8]
xor r8, qword [r15]
lea r15, [r15 + 8]
je 0x1800a7f4d
tzcnt rdx, r8
shr edx, 3
add ebx, edx
sub ebx, ecx
jmp 0x1800a7e11
lea rdx, [r11 + 2]
cmp rdx, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x80]
jbe 0x1800a7bf1
jmp 0x1800a6f55
mov rdx, qword [rsp + 0x28]
add rdx, 0xfffffffffffffff8
cmp rbx, rdx
jb 0x1800a9221
mov rdx, qword [rsp + 0x28]
add rdx, 0xfffffffffffffffa
cmp rbx, rdx
jb 0x1800a9239
cmp rbx, qword [rsp + 0xa0]
jae 0x1800a7f6f
mov dl, byte [r15]
xor r8d, r8d
cmp dl, byte [rbx]
sete r8b
add rbx, r8
jmp 0x1800a7f6f
mov edx, r12d
mov r14, r11
sub r14, rdx
lea r13, [r11 + rcx]
add r13, 0xfffffffffffffff5
lea rax, [r11 + rcx - 5]
mov qword [rsp + 0xa0], rax
movabs rcx, 0xcf1bbcdcbb000000
mov eax, r10d
mov rdx, r11
sub rdx, rax
mov qword [rsp + 0x70], rdx
mov rax, qword [r11]
imul rax, rcx
shr rax, 0x32
and eax, 0xfffffffc
mov dword [rbx + rax], r12d
mov eax, r15d
shl eax, 6
or eax, 1
lea rdx, [r11 + 2]
mov rsi, rbp
lea rbp, [r8 - 0xc]
mov r12, qword [rsp + 0x68]
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x48], eax
lea rcx, [r11 + 1]
mov qword [rsp + 0x30], r11
mov r8, qword [r11 + 1]
mov r9d, r15d
mov r10, rdx
movabs rdx, 0xcf1bbcdcbb000000
imul r8, rdx
mov r11, r8
shr r11, 0x34
mov edx, dword [rbx + r11*4]
mov edi, ecx
sub edi, r14d
mov r8, qword [r10]
mov dword [rbx + r11*4], edi
lea r11d, [rdx + 0xffff]
cmp r11d, edi
jb 0x1800a8091
mov r11d, dword [r14 + rdx]
cmp r11d, dword [rcx]
je 0x1800a80af
mov edx, r9d
add rdx, r10
lea ecx, [rax + 1]
shr eax, 6
mov r9d, eax
mov eax, ecx
mov rcx, r10
cmp rdx, r13
jbe 0x1800a8054
jmp 0x1800a928d
add rdx, r14
mov r9d, ecx
sub r9d, dword [rsp + 0x30]
lea r8d, [r9 + 0xef]
lea eax, [r9 - 0xf]
mov dword [rsp + 0x28], eax
lea eax, [r9 - 0x10e]
mov dword [rsp + 0x38], eax
xor r11d, r11d
xor edi, edi
mov eax, edi
mov r10, r11
lea r15, [rdx + r11]
lea rbx, [rcx + r11]
cmp r15, qword [rsp + 0x70]
mov r11, qword [rsp + 0x30]
jbe 0x1800a8126
cmp rbx, r11
jbe 0x1800a8126
mov r13b, byte [rcx + r10 - 1]
lea edi, [rax + 1]
lea r11, [r10 - 1]
cmp r13b, byte [rdx + r10 - 1]
je 0x1800a80d9
add dword [rsp + 0x38], r10d
add dword [rsp + 0x28], r10d
lea r13d, [r9 + r10]
add r13d, 0xef
mov r11, qword [rsp + 0x30]
jmp 0x1800a813b
add dword [rsp + 0x38], r10d
add dword [rsp + 0x28], r10d
lea r13d, [r9 + r10]
add r13d, 0xef
mov rdx, rbx
sub rdx, r11
mov edi, edx
lea rcx, [rsi + rdi]
inc rcx
mov r9, rdi
mov r10d, 0x80808081
imul r9, r10
shr r9, 0x27
add rcx, r9
add rcx, 8
cmp rcx, r12
ja 0x1800a94d6
lea rcx, [rsi + 1]
cmp edx, 0xf
jb 0x1800a81fd
mov dword [rsp + 0x80], r13d
add edx, 0xfffffff1
mov byte [rsi], 0xf0
cmp edx, 0xff
mov r13, qword [rsp + 0x78]
jl 0x1800a81f6
mov r9d, 0x1fd
cmp edx, r9d
cmovge edx, r9d
add eax, edx
sub r8d, eax
imul r8, r10
shr r8, 0x27
inc r8d
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r10d, 0x80808081
mov r11, qword [rsp + 0x30]
mov eax, dword [rsp + 0x28]
mov ecx, 0x1fd
cmp eax, ecx
cmovge eax, ecx
mov ecx, dword [rsp + 0x80]
sub ecx, eax
mov eax, ecx
imul rax, r10
shr rax, 0x27
mov edx, eax
lea rcx, [rsi + rax]
add rcx, 2
shl eax, 8
sub edx, eax
add edx, dword [rsp + 0x38]
mov byte [rcx], dl
inc rcx
jmp 0x1800a8207
shl dl, 4
mov byte [rsi], dl
mov r13, qword [rsp + 0x78]
add rdi, rcx
mov rax, qword [r11]
mov qword [rcx], rax
add rcx, 8
add r11, 8
cmp rcx, rdi
jb 0x1800a820a
mov rax, rsi
mov r11, rbx
mov ecx, r11d
sub ecx, r15d
mov word [rdi], cx
add r15, 4
lea rcx, [r11 + 4]
cmp rbp, rcx
jbe 0x1800a9614
mov rdx, qword [rcx]
xor rdx, qword [r15]
je 0x1800a8387
tzcnt rbx, rdx
xor r8d, r8d
test rdx, rdx
sete dl
je 0x1800a8391
shr ebx, 3
lea ecx, [rbx + 0xf0]
imul rcx, r10
shr rcx, 0x27
add rcx, rdi
add rcx, 8
cmp rcx, r12
ja 0x1800a94d6
lea rsi, [rdi + 2]
mov cl, byte [rax]
cmp ebx, 0xf
jb 0x1800a830f
add cl, 0xf
mov byte [rax], cl
lea r15d, [rbx - 0xf]
mov dword [rsi], 0xffffffff
cmp r15d, 0x3fc
jb 0x1800a82f4
lea rcx, [rdi + 6]
lea r15d, [rbx - 0x40b]
mov rsi, r15
imul rsi, r10
shr rsi, 0x29
mov r13d, esi
lea r8, [r13*4 + 4]
mov dl, 0xff
mov r12, r11
call sub.VCRUNTIME140.dll_memset
mov r10d, 0x80808081
mov r11, r12
mov r12, qword [rsp + 0x68]
imul eax, esi, 0x3fc
sub r15d, eax
lea rsi, [rdi + r13*4]
add rsi, 6
mov r13, qword [rsp + 0x78]
movzx eax, r15w
imul eax, eax, 0x8081
shr eax, 0x17
add rsi, rax
inc rsi
add eax, r15d
mov byte [rsi - 1], al
jmp 0x1800a8313
add cl, bl
mov byte [rax], cl
mov eax, ebx
add r11, rax
add r11, 4
cmp r11, r13
jae 0x1800a72b2
lea rax, [r11 - 2]
mov rcx, qword [r11 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, r14d
shr rcx, 0x34
mov rbx, qword [rsp + 0x58]
mov dword [rbx + rcx*4], eax
mov rax, qword [r11]
imul rax, rdx
mov ecx, r11d
sub ecx, r14d
shr rax, 0x34
mov r15d, dword [rbx + rax*4]
mov dword [rbx + rax*4], ecx
lea eax, [r15 + 0xffff]
cmp eax, ecx
jb 0x1800a83c5
add r15, r14
mov eax, dword [r15]
cmp eax, dword [r11]
jne 0x1800a83c5
lea rdi, [rsi + 1]
mov byte [rsi], 0
mov rax, rsi
jmp 0x1800a8223
mov ebx, 0x40
jmp 0x1800a824e
mov r8b, dl
lea rdx, [rcx + r8*8]
lea r15, [r15 + r8*8]
mov rbx, rdx
cmp rdx, rbp
jae 0x1800a83e0
mov r8, qword [rbx]
lea rdx, [rbx + 8]
xor r8, qword [r15]
lea r15, [r15 + 8]
je 0x1800a839c
tzcnt rdx, r8
shr edx, 3
add ebx, edx
sub ebx, ecx
jmp 0x1800a8260
lea rdx, [r11 + 2]
cmp rdx, r13
mov r15d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x48]
jbe 0x1800a8044
jmp 0x1800a72b2
mov rdx, qword [rsp + 0x50]
add rdx, 0xfffffffffffffff8
cmp rbx, rdx
jb 0x1800a9253
mov rdx, qword [rsp + 0x50]
add rdx, 0xfffffffffffffffa
cmp rbx, rdx
jb 0x1800a926b
cmp rbx, qword [rsp + 0xa0]
jae 0x1800a83be
mov dl, byte [r15]
xor r8d, r8d
cmp dl, byte [rbx]
sete r8b
add rbx, r8
jmp 0x1800a83be
mov eax, r15d
shl al, 4
mov byte [rsi], al
lea rax, [rsi + 1]
mov rcx, rax
mov rdx, r11
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r15d, esi
sub r15d, r14d
inc r15d
mov eax, r15d
jmp 0x1800a90a3
mov eax, esi
shl al, 4
mov byte [rdi], al
lea rax, [rdi + 1]
mov rcx, rax
mov rdx, r12
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add esi, edi
sub esi, r14d
jmp 0x1800a9088
mov r15, r11
sub r15, rcx
lea rax, [r11 + rdx]
add rax, 0xfffffffffffffff5
mov qword [rsp + 0x70], rax
lea rax, [r11 + rdx]
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x28]
test rax, rax
movabs rdx, 0xcf1bbcdcbb000000
mov rcx, qword [rsp + 0x98]
cmove rcx, rax
mov qword [rsp + 0x98], rcx
mov rax, qword [r11]
imul rax, rdx
shr rax, 0x32
and eax, 0xfffffffc
mov rcx, qword [rsp + 0x68]
mov dword [rbx + rax], ecx
mov edx, dword [rsp + 0x44]
shl edx, 6
or edx, 1
lea r9, [r11 + 2]
lea rax, [r11 + 1]
lea esi, [rcx + 1]
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff4
mov qword [rsp + 0x80], rcx
mov r12, r11
mov rbp, qword [rsp + 0x88]
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0xa0], edx
mov r8, qword [r12 + 1]
mov r10d, dword [rsp + 0x44]
mov rcx, rax
mov rax, r9
movabs r9, 0xcf1bbcdcbb000000
imul r8, r9
mov r9, r8
shr r9, 0x34
mov r11d, dword [rbx + r9*4]
mov r8, qword [rax]
mov dword [rbx + r9*4], esi
cmp r11d, r13d
jb 0x1800a8561
lea r9d, [r11 + 0xffff]
cmp r9d, esi
jb 0x1800a8561
mov r9, qword [rsp + 0x78]
cmp r11d, dword [rsp + 0x68]
jb 0x1800a8559
mov r9, r15
mov edi, dword [r9 + r11]
cmp edi, dword [rcx]
je 0x1800a8583
mov esi, eax
sub esi, r15d
mov r9d, r10d
add r9, rax
lea ecx, [rdx + 1]
shr edx, 6
mov r10d, edx
mov edx, ecx
cmp r9, qword [rsp + 0x70]
jbe 0x1800a8513
jmp 0x1800a93d2
add r9, r11
cmp r11d, dword [rsp + 0x68]
mov r13, qword [rsp + 0x30]
cmovb r13, qword [rsp + 0x28]
sub esi, r11d
mov r8d, ecx
sub r8d, r12d
lea eax, [r8 + 0xef]
mov qword [rsp + 0xb8], rax
lea eax, [r8 - 0xf]
mov dword [rsp + 0xa8], eax
lea eax, [r8 - 0x10e]
mov dword [rsp + 0xb0], eax
xor r11d, r11d
xor edi, edi
mov eax, edi
mov r10, r11
lea r14, [r9 + r11]
lea rbx, [rcx + r11]
cmp r14, r13
jbe 0x1800a85f6
cmp rbx, r12
jbe 0x1800a85f6
mov dl, byte [rcx + r10 - 1]
lea edi, [rax + 1]
lea r11, [r10 - 1]
cmp dl, byte [r9 + r10 - 1]
je 0x1800a85cc
add dword [rsp + 0xb0], r10d
add dword [rsp + 0xa8], r10d
add r10d, r8d
add r10d, 0xef
mov rdx, rbx
sub rdx, r12
mov edi, edx
lea rcx, [rdi + rbp]
inc rcx
mov r8, rdi
mov r9d, 0x80808081
imul r8, r9
shr r8, 0x27
add rcx, r8
add rcx, 8
cmp rcx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
ja 0x1800a9624
lea rcx, [rbp + 1]
cmp edx, 0xf
jb 0x1800a86f5
add edx, 0xfffffff1
mov byte [rbp], 0xf0
cmp edx, 0xff
jl 0x1800a86ee
mov r8d, 0x1fd
cmp edx, r8d
cmovge edx, r8d
add eax, edx
mov r8, qword [rsp + 0xb8]
sub r8d, eax
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
inc r8d
mov dl, 0xff
mov dword [rsp + 0xb8], r10d
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov eax, dword [rsp + 0xa8]
mov ecx, 0x1fd
cmp eax, ecx
cmovge eax, ecx
mov ecx, dword [rsp + 0xb8]
sub ecx, eax
mov eax, ecx
mov ecx, 0x80808081
imul rax, rcx
shr rax, 0x27
mov edx, eax
lea rcx, [rax + rbp]
add rcx, 2
shl eax, 8
sub edx, eax
add edx, dword [rsp + 0xb0]
mov byte [rcx], dl
inc rcx
jmp 0x1800a86fb
shl dl, 4
mov byte [rbp], dl
add rdi, rcx
mov rax, qword [r12]
mov qword [rcx], rax
add rcx, 8
add r12, 8
cmp rcx, rdi
jb 0x1800a86fe
mov rax, rbp
mov r12, rbx
mov rbx, qword [rsp + 0x58]
mov word [rdi], si
cmp r13, r9
je 0x1800a88ba
add r14, 4
lea rcx, [r12 + 4]
mov r10, qword [rsp + 0x80]
cmp r10, rcx
jbe 0x1800a9638
mov rdx, qword [rcx]
xor rdx, qword [r14]
je 0x1800a8977
tzcnt rsi, rdx
xor r8d, r8d
test rdx, rdx
sete dl
je 0x1800a8981
shr esi, 3
mov ecx, esi
add r12, rcx
add r12, 4
lea ecx, [rsi + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, rdi
add rcx, 8
cmp rcx, qword [rsp + 0x50]
ja 0x1800a9297
lea rbp, [rdi + 2]
mov cl, byte [rax]
cmp esi, 0xf
jb 0x1800a881b
add cl, 0xf
mov byte [rax], cl
lea eax, [rsi - 0xf]
mov dword [rbp], 0xffffffff
cmp eax, 0x3fc
jb 0x1800a8802
lea rcx, [rdi + 6]
add esi, 0xfffffbf5
mov rbx, rsi
mov eax, 0x80808081
imul rbx, rax
shr rbx, 0x29
mov r14d, ebx
lea r8, [r14*4 + 4]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
imul eax, ebx, 0x3fc
mov rbx, qword [rsp + 0x58]
sub esi, eax
lea rbp, [rdi + r14*4]
add rbp, 6
mov eax, esi
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
add rbp, rcx
inc rbp
add ecx, eax
mov byte [rbp - 1], cl
jmp 0x1800a8820
add cl, sil
mov byte [rax], cl
cmp r12, qword [rsp + 0x70]
jae 0x1800a7036
lea rax, [r12 - 2]
mov rcx, qword [r12 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, r15d
shr rcx, 0x34
mov dword [rbx + rcx*4], eax
mov rcx, qword [r12]
imul rcx, rdx
mov esi, r12d
sub esi, r15d
shr rcx, 0x34
mov eax, dword [rbx + rcx*4]
cmp eax, dword [rsp + 0x68]
mov r14, r15
cmovb r14, qword [rsp + 0x78]
mov r13, r11
cmovb r13, r9
mov dword [rbx + rcx*4], esi
cmp eax, dword [rsp + 0x48]
jb 0x1800a8a46
lea ecx, [rax + 0xffff]
cmp ecx, esi
mov edx, dword [rsp + 0xa0]
jb 0x1800a8a4d
add r14, rax
mov ecx, dword [r14]
cmp ecx, dword [r12]
jne 0x1800a8a4d
lea rdi, [rbp + 1]
mov byte [rbp], 0
sub esi, eax
mov rax, rbp
jmp 0x1800a871d
mov rcx, qword [rsp + 0x98]
sub rcx, r14
add rcx, r12
mov rdx, qword [rsp + 0x90]
cmp rcx, rdx
cmova rcx, rdx
add r14, 4
lea rdx, [r12 + 4]
lea r8, [rcx - 7]
cmp r8, rdx
mov r13, qword [rsp + 0x80]
jbe 0x1800a965a
mov r9, qword [rdx]
xor r9, qword [r14]
je 0x1800a89b9
tzcnt rsi, r9
xor r10d, r10d
test r9, r9
sete r9b
je 0x1800a89c3
shr esi, 3
mov r9, qword [rsp + 0x28]
mov edx, esi
add r12, rdx
add r12, 4
cmp r12, rcx
jne 0x1800a876f
mov r9, rcx
mov r8, r11
cmp r13, rcx
jbe 0x1800a8a12
mov r8, qword [rcx]
xor r8, qword [r11]
je 0x1800a89fd
tzcnt rdx, r8
mov r9, qword [rsp + 0x28]
xor r10d, r10d
test r8, r8
sete r8b
je 0x1800a8a07
shr edx, 3
add esi, edx
mov edx, edx
add rcx, rdx
mov r12, rcx
jmp 0x1800a876f
mov esi, 0x40
jmp 0x1800a8754
mov r8b, dl
lea rdx, [rcx + r8*8]
lea r14, [r14 + r8*8]
mov rsi, rdx
cmp rdx, r10
jae 0x1800a9320
mov r8, qword [rsi]
lea rdx, [rsi + 8]
xor r8, qword [r14]
lea r14, [r14 + 8]
je 0x1800a898c
tzcnt rdx, r8
shr edx, 3
add esi, edx
sub esi, ecx
jmp 0x1800a8766
mov esi, 0x40
jmp 0x1800a8906
mov r10b, r9b
lea r9, [rdx + r10*8]
lea r14, [r14 + r10*8]
mov rsi, r9
cmp r9, r8
jae 0x1800a93e6
mov r10, qword [rsi]
lea r9, [rsi + 8]
xor r10, qword [r14]
lea r14, [r14 + 8]
je 0x1800a89ce
tzcnt r8, r10
shr r8d, 3
add esi, r8d
sub esi, edx
jmp 0x1800a8919
mov edx, 0x40
jmp 0x1800a8950
mov r10b, r8b
lea r9, [rcx + r10*8]
lea r8, [r11 + r10*8]
mov rdx, r9
cmp r9, r13
jae 0x1800a954e
mov r10, qword [rdx]
lea r9, [rdx + 8]
xor r10, qword [r8]
lea r8, [r8 + 8]
je 0x1800a8a12
tzcnt r8, r10
shr r8d, 3
add edx, r8d
sub edx, ecx
mov r9, qword [rsp + 0x28]
jmp 0x1800a8968
mov edx, dword [rsp + 0xa0]
lea rax, [r12 + 1]
mov esi, eax
sub esi, r15d
lea r9, [r12 + 2]
cmp r9, qword [rsp + 0x70]
mov r13d, dword [rsp + 0x48]
jbe 0x1800a8509
jmp 0x1800a7036
mov rdi, r11
sub rdi, rcx
lea rax, [r11 + rdx]
add rax, 0xfffffffffffffff5
mov qword [rsp + 0x70], rax
lea rax, [r11 + rdx]
add rax, 0xfffffffffffffffb
mov qword [rsp + 0xa0], rax
test r8, r8
movabs rcx, 0xcf1bbcdcbb000000
mov rax, qword [rsp + 0x80]
cmove rax, r8
mov qword [rsp + 0x80], rax
mov rax, qword [r11]
imul rax, rcx
shr rax, 0x32
and eax, 0xfffffffc
mov rcx, qword [rsp + 0x68]
mov dword [rbx + rax], ecx
mov r9d, r15d
shl r9d, 6
or r9d, 1
lea rdx, [r11 + 2]
lea rax, [r11 + 1]
lea esi, [rcx + 1]
lea rcx, [r13 - 0xc]
mov qword [rsp + 0x48], rcx
mov r12, r11
mov rbp, qword [rsp + 0x88]
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0xb0], r13
mov dword [rsp + 0x60], r9d
mov r8, qword [r12 + 1]
mov r10d, r15d
mov ecx, r9d
mov r11, rdx
movabs rdx, 0xcf1bbcdcbb000000
imul r8, rdx
mov r9, r8
shr r9, 0x34
mov edx, dword [rbx + r9*4]
mov r8, qword [r11]
mov dword [rbx + r9*4], esi
lea r9d, [rdx + 0xffff]
cmp r9d, esi
jb 0x1800a8b5c
mov r9, qword [rsp + 0x78]
cmp edx, dword [rsp + 0x68]
jb 0x1800a8b4f
mov r9, rdi
mov ebx, dword [r9 + rdx]
cmp ebx, dword [rax]
mov rbx, qword [rsp + 0x58]
je 0x1800a8b81
mov esi, r11d
sub esi, edi
mov edx, r10d
add rdx, r11
lea eax, [rcx + 1]
shr ecx, 6
mov r10d, ecx
mov ecx, eax
mov rax, r11
cmp rdx, qword [rsp + 0x70]
jbe 0x1800a8b12
jmp 0x1800a93dc
add r9, rdx
cmp edx, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x30]
cmovb rbx, qword [rsp + 0x28]
sub esi, edx
mov r8d, eax
sub r8d, r12d
lea ecx, [r8 + 0xef]
mov qword [rsp + 0xa8], rcx
lea ecx, [r8 - 0xf]
mov dword [rsp + 0x90], ecx
lea ecx, [r8 - 0x10e]
mov dword [rsp + 0x98], ecx
xor r11d, r11d
xor r14d, r14d
mov edx, r14d
mov r10, r11
lea r15, [r9 + r11]
lea r13, [rax + r11]
cmp r15, rbx
jbe 0x1800a8bf5
cmp r13, r12
jbe 0x1800a8bf5
mov cl, byte [rax + r10 - 1]
lea r14d, [rdx + 1]
lea r11, [r10 - 1]
cmp cl, byte [r9 + r10 - 1]
je 0x1800a8bc9
add dword [rsp + 0x98], r10d
add dword [rsp + 0x90], r10d
add r10d, r8d
add r10d, 0xef
mov rax, r13
sub rax, r12
mov r14d, eax
lea rcx, [r14 + rbp]
inc rcx
mov r8, r14
mov r9d, 0x80808081
imul r8, r9
shr r8, 0x27
add rcx, r8
add rcx, 8
cmp rcx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
ja 0x1800a9624
lea rcx, [rbp + 1]
cmp eax, 0xf
jb 0x1800a8cf4
add eax, 0xfffffff1
mov byte [rbp], 0xf0
cmp eax, 0xff
jl 0x1800a8ced
mov r8d, 0x1fd
cmp eax, r8d
cmovge eax, r8d
add edx, eax
mov r8, qword [rsp + 0xa8]
sub r8d, edx
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
inc r8d
mov dl, 0xff
mov dword [rsp + 0xa8], r10d
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov eax, dword [rsp + 0x90]
mov ecx, 0x1fd
cmp eax, ecx
cmovge eax, ecx
mov ecx, dword [rsp + 0xa8]
sub ecx, eax
mov edx, ecx
mov eax, 0x80808081
imul rdx, rax
shr rdx, 0x27
mov eax, edx
lea rcx, [rdx + rbp]
add rcx, 2
shl edx, 8
sub eax, edx
add eax, dword [rsp + 0x98]
mov byte [rcx], al
inc rcx
jmp 0x1800a8cfa
shl al, 4
mov byte [rbp], al
add r14, rcx
mov rax, qword [r12]
mov qword [rcx], rax
add rcx, 8
add r12, 8
cmp rcx, r14
jb 0x1800a8cfd
mov rax, rbp
mov r12, r13
mov r13, qword [rsp + 0xb0]
mov word [r14], si
cmp rbx, r9
mov rbp, qword [rsp + 0x48]
je 0x1800a8eaf
add r15, 4
lea rcx, [r12 + 4]
cmp rbp, rcx
jbe 0x1800a9640
mov rdx, qword [rcx]
xor rdx, qword [r15]
mov rbx, qword [rsp + 0x58]
je 0x1800a8f69
tzcnt rsi, rdx
xor r8d, r8d
test rdx, rdx
sete dl
je 0x1800a8f73
shr esi, 3
mov ecx, esi
add r12, rcx
add r12, 4
lea ecx, [rsi + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, r14
add rcx, 8
cmp rcx, qword [rsp + 0x50]
ja 0x1800a9297
lea rbp, [r14 + 2]
mov cl, byte [rax]
cmp esi, 0xf
jb 0x1800a8e20
add cl, 0xf
mov byte [rax], cl
lea eax, [rsi - 0xf]
mov dword [rbp], 0xffffffff
cmp eax, 0x3fc
jb 0x1800a8e07
lea rcx, [r14 + 6]
add esi, 0xfffffbf5
mov rbx, rsi
mov eax, 0x80808081
imul rbx, rax
shr rbx, 0x29
mov r15d, ebx
lea r8, [r15*4 + 4]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
imul eax, ebx, 0x3fc
mov rbx, qword [rsp + 0x58]
sub esi, eax
lea rbp, [r14 + r15*4]
add rbp, 6
mov eax, esi
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
add rbp, rcx
inc rbp
add ecx, eax
mov byte [rbp - 1], cl
jmp 0x1800a8e25
add cl, sil
mov byte [rax], cl
cmp r12, qword [rsp + 0x70]
jae 0x1800a73f0
lea rax, [r12 - 2]
mov rcx, qword [r12 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, edi
shr rcx, 0x34
mov dword [rbx + rcx*4], eax
mov rcx, qword [r12]
imul rcx, rdx
mov esi, r12d
sub esi, edi
shr rcx, 0x34
mov eax, dword [rbx + rcx*4]
cmp eax, dword [rsp + 0x68]
mov r15, rdi
cmovb r15, qword [rsp + 0x78]
mov rdx, rbx
mov rbx, r11
cmovb rbx, r9
mov dword [rdx + rcx*4], esi
lea ecx, [rax + 0xffff]
cmp ecx, esi
jb 0x1800a9038
add r15, rax
mov ecx, dword [r15]
cmp ecx, dword [r12]
jne 0x1800a9038
lea r14, [rbp + 1]
mov byte [rbp], 0
sub esi, eax
mov rax, rbp
jmp 0x1800a8d1f
mov rcx, qword [rsp + 0x80]
sub rcx, r15
add rcx, r12
mov rdx, qword [rsp + 0xa0]
cmp rcx, rdx
cmova rcx, rdx
add r15, 4
lea rdx, [r12 + 4]
lea r8, [rcx - 7]
cmp r8, rdx
jbe 0x1800a964d
mov r9, qword [rdx]
xor r9, qword [r15]
mov rbx, qword [rsp + 0x58]
je 0x1800a8fab
tzcnt rsi, r9
xor r10d, r10d
test r9, r9
sete r9b
je 0x1800a8fb5
shr esi, 3
mov r9, qword [rsp + 0x28]
mov edx, esi
add r12, rdx
add r12, 4
cmp r12, rcx
jne 0x1800a8d74
mov r9, rcx
mov r8, r11
cmp rbp, rcx
jbe 0x1800a9004
mov r8, qword [rcx]
xor r8, qword [r11]
je 0x1800a8fef
tzcnt rdx, r8
mov r9, qword [rsp + 0x28]
xor r10d, r10d
test r8, r8
sete r8b
je 0x1800a8ff9
shr edx, 3
add esi, edx
mov edx, edx
add rcx, rdx
mov r12, rcx
jmp 0x1800a8d74
mov esi, 0x40
jmp 0x1800a8d59
mov r8b, dl
lea rdx, [rcx + r8*8]
lea r15, [r15 + r8*8]
mov rsi, rdx
cmp rdx, rbp
jae 0x1800a937e
mov r8, qword [rsi]
lea rdx, [rsi + 8]
xor r8, qword [r15]
lea r15, [r15 + 8]
je 0x1800a8f7e
tzcnt rdx, r8
shr edx, 3
add esi, edx
sub esi, ecx
jmp 0x1800a8d6b
mov esi, 0x40
jmp 0x1800a8ef8
mov r10b, r9b
lea r9, [rdx + r10*8]
lea r15, [r15 + r10*8]
mov rsi, r9
cmp r9, r8
jae 0x1800a943b
mov r10, qword [rsi]
lea r9, [rsi + 8]
xor r10, qword [r15]
lea r15, [r15 + 8]
je 0x1800a8fc0
tzcnt r8, r10
shr r8d, 3
add esi, r8d
sub esi, edx
jmp 0x1800a8f0b
mov edx, 0x40
jmp 0x1800a8f42
mov r10b, r8b
lea r9, [rcx + r10*8]
lea r8, [r11 + r10*8]
mov rdx, r9
cmp r9, rbp
jae 0x1800a95b2
mov r10, qword [rdx]
lea r9, [rdx + 8]
xor r10, qword [r8]
lea r8, [r8 + 8]
je 0x1800a9004
tzcnt r8, r10
shr r8d, 3
add edx, r8d
sub edx, ecx
mov r9, qword [rsp + 0x28]
jmp 0x1800a8f5a
lea rax, [r12 + 1]
mov esi, eax
sub esi, edi
lea rdx, [r12 + 2]
cmp rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x60]
jbe 0x1800a8b07
jmp 0x1800a73f0
mov eax, esi
shl al, 4
mov byte [rbp], al
lea rax, [rbp + 1]
mov rcx, rax
mov rdx, r13
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add esi, ebp
sub esi, dword [rsp + 0x88]
inc esi
mov eax, esi
mov r11, qword [rsp + 0x30]
mov qword [rbx + 0x4000], r11
mov rcx, qword [rsp + 0x38]
mov dword [rbx + 0x4018], ecx
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x60]
add rdx, 0xfffffffffffffff8
cmp rsi, rdx
jae 0x1800a90d4
mov edx, dword [rbp]
cmp edx, dword [rsi]
jne 0x1800a90d4
add rsi, 4
add rbp, 4
mov rdx, qword [rsp + 0x60]
add rdx, 0xfffffffffffffffa
cmp rsi, rdx
jae 0x1800a90f3
movzx edx, word [rbp]
cmp dx, word [rsi]
jne 0x1800a90f3
add rsi, 2
add rbp, 2
cmp rsi, qword [rsp + 0x80]
jae 0x1800a6dbe
mov dl, byte [rbp]
xor r8d, r8d
cmp dl, byte [rsi]
sete r8b
add rsi, r8
jmp 0x1800a6dbe
mov eax, esi
shl al, 4
mov byte [rbp], al
lea rax, [rbp + 1]
mov rcx, rax
mov rdx, r12
jmp 0x1800a9077
mov eax, r13d
shl al, 4
mov byte [rbp], al
lea rax, [rbp + 1]
mov rcx, rax
mov rdx, r12
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add r13d, ebp
sub r13d, dword [rsp + 0x88]
inc r13d
mov eax, r13d
jmp 0x1800a908c
mov r11, qword [rsp + 0x30]
jmp 0x1800a74a9
lea r8, [rcx - 3]
cmp rsi, r8
jae 0x1800a9181
mov r8d, dword [rbp]
cmp r8d, dword [rsi]
jne 0x1800a9181
add rsi, 4
add rbp, 4
lea r8, [rcx - 1]
cmp rsi, r8
jae 0x1800a919d
movzx r8d, word [rbp]
cmp r8w, word [rsi]
jne 0x1800a919d
add rsi, 2
add rbp, 2
cmp rsi, rcx
jae 0x1800a6e43
mov r8b, byte [rbp]
xor r9d, r9d
cmp r8b, byte [rsi]
sete r9b
add rsi, r9
jmp 0x1800a6e43
mov rdx, qword [rsp + 0x60]
add rdx, 0xfffffffffffffff8
cmp rdi, rdx
jae 0x1800a91d8
mov edx, dword [rsi]
cmp edx, dword [rdi]
jne 0x1800a91d8
add rdi, 4
add rsi, 4
mov rdx, qword [rsp + 0x60]
add rdx, 0xfffffffffffffffa
cmp rdi, rdx
jae 0x1800a91f6
movzx edx, word [rsi]
cmp dx, word [rdi]
jne 0x1800a91f6
add rdi, 2
add rsi, 2
cmp rdi, qword [rsp + 0x90]
jae 0x1800a7ac3
mov dl, byte [rsi]
xor r8d, r8d
cmp dl, byte [rdi]
sete r8b
add rdi, r8
jmp 0x1800a7ac3
mov r11, qword [rsp + 0x30]
jmp 0x1800a7194
mov edx, dword [r15]
cmp edx, dword [rbx]
jne 0x1800a7fa8
add rbx, 4
add r15, 4
jmp 0x1800a7fa8
movzx edx, word [r15]
cmp dx, word [rbx]
jne 0x1800a7fba
add rbx, 2
add r15, 2
jmp 0x1800a7fba
mov edx, dword [r15]
cmp edx, dword [rbx]
jne 0x1800a83f2
add rbx, 4
add r15, 4
jmp 0x1800a83f2
movzx edx, word [r15]
cmp dx, word [rbx]
jne 0x1800a8404
add rbx, 2
add r15, 2
jmp 0x1800a8404
mov r11, r13
jmp 0x1800a6f55
mov r11, qword [rsp + 0x30]
jmp 0x1800a72b2
xor eax, eax
jmp 0x1800a9091
mov r9, qword [rsp + 0x60]
add r9, 0xfffffffffffffff8
cmp rdx, r9
jae 0x1800a9490
mov r9d, dword [r8]
cmp r9d, dword [rdx]
mov r10, qword [rsp + 0x48]
jne 0x1800a9495
add rdx, 4
add r8, 4
jmp 0x1800a9495
lea r8, [rcx - 3]
cmp rdi, r8
jae 0x1800a92e7
mov r8d, dword [rsi]
cmp r8d, dword [rdi]
jne 0x1800a92e7
add rdi, 4
add rsi, 4
lea r8, [rcx - 1]
cmp rdi, r8
jae 0x1800a9302
movzx r8d, word [rsi]
cmp r8w, word [rdi]
jne 0x1800a9302
add rdi, 2
add rsi, 2
cmp rdi, rcx
jae 0x1800a7b07
mov r8b, byte [rsi]
xor r9d, r9d
cmp r8b, byte [rdi]
sete r9b
add rdi, r9
jmp 0x1800a7b07
mov rdx, qword [rsp + 0x60]
add rdx, 0xfffffffffffffff8
cmp rsi, rdx
jae 0x1800a933d
mov edx, dword [r14]
cmp edx, dword [rsi]
jne 0x1800a933d
add rsi, 4
add r14, 4
mov rdx, qword [rsp + 0x60]
add rdx, 0xfffffffffffffffa
cmp rsi, rdx
jae 0x1800a935c
movzx edx, word [r14]
cmp dx, word [rsi]
jne 0x1800a935c
add rsi, 2
add r14, 2
cmp rsi, qword [rsp + 0x90]
jae 0x1800a89b2
mov dl, byte [r14]
xor r8d, r8d
cmp dl, byte [rsi]
sete r8b
add rsi, r8
jmp 0x1800a89b2
lea rdx, [r13 - 8]
cmp rsi, rdx
jae 0x1800a9396
mov edx, dword [r15]
cmp edx, dword [rsi]
jne 0x1800a9396
add rsi, 4
add r15, 4
lea rdx, [r13 - 6]
cmp rsi, rdx
jae 0x1800a93b0
movzx edx, word [r15]
cmp dx, word [rsi]
jne 0x1800a93b0
add rsi, 2
add r15, 2
cmp rsi, qword [rsp + 0xa0]
jae 0x1800a8fa4
mov dl, byte [r15]
xor r8d, r8d
cmp dl, byte [rsi]
sete r8b
add rsi, r8
jmp 0x1800a8fa4
mov r11, qword [rsp + 0x30]
jmp 0x1800a7036
mov r11, qword [rsp + 0x30]
jmp 0x1800a73f0
lea r8, [rcx - 3]
cmp rsi, r8
jae 0x1800a93ff
mov r8d, dword [r14]
cmp r8d, dword [rsi]
jne 0x1800a93ff
add rsi, 4
add r14, 4
lea r8, [rcx - 1]
cmp rsi, r8
jae 0x1800a941a
movzx r8d, word [r14]
cmp r8w, word [rsi]
jne 0x1800a941a
add rsi, 2
add r14, 2
cmp rsi, rcx
jae 0x1800a942f
mov r8b, byte [r14]
xor r9d, r9d
cmp r8b, byte [rsi]
sete r9b
add rsi, r9
mov r9, qword [rsp + 0x28]
sub esi, edx
jmp 0x1800a891e
lea r8, [rcx - 3]
cmp rsi, r8
jae 0x1800a9454
mov r8d, dword [r15]
cmp r8d, dword [rsi]
jne 0x1800a9454
add rsi, 4
add r15, 4
lea r8, [rcx - 1]
cmp rsi, r8
jae 0x1800a946f
movzx r8d, word [r15]
cmp r8w, word [rsi]
jne 0x1800a946f
add rsi, 2
add r15, 2
cmp rsi, rcx
jae 0x1800a9484
mov r8b, byte [r15]
xor r9d, r9d
cmp r8b, byte [rsi]
sete r9b
add rsi, r9
mov r9, qword [rsp + 0x28]
sub esi, edx
jmp 0x1800a8f10
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
add r9, 0xfffffffffffffffa
cmp rdx, r9
jae 0x1800a94b5
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x1800a94b5
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0x80]
jae 0x1800a94cf
mov r8b, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
sub edx, ecx
jmp 0x1800a6df5
xor eax, eax
jmp 0x1800a90a3
mov rdx, rcx
jmp 0x1800a6d97
mov r9, qword [rsp + 0x60]
add r9, 0xfffffffffffffff8
cmp rdx, r9
jae 0x1800a9503
mov r9d, dword [r8]
cmp r9d, dword [rdx]
jne 0x1800a9503
add rdx, 4
add r8, 4
mov r9, qword [rsp + 0x60]
add r9, 0xfffffffffffffffa
cmp rdx, r9
jae 0x1800a9523
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x1800a9523
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0x90]
jae 0x1800a7b4b
mov r8b, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
jmp 0x1800a7b4b
mov r9, rdx
jmp 0x1800a6e1a
mov r9, qword [rsp + 0x60]
add r9, 0xfffffffffffffff8
cmp rdx, r9
jae 0x1800a956c
mov r9d, dword [r8]
cmp r9d, dword [rdx]
jne 0x1800a956c
add rdx, 4
add r8, 4
mov r9, qword [rsp + 0x60]
add r9, 0xfffffffffffffffa
cmp rdx, r9
jae 0x1800a958c
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x1800a958c
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0x90]
jae 0x1800a95a6
mov r8b, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
mov r9, qword [rsp + 0x28]
sub edx, ecx
jmp 0x1800a8968
lea r9, [r13 - 8]
cmp rdx, r9
jae 0x1800a95cb
mov r9d, dword [r8]
cmp r9d, dword [rdx]
jne 0x1800a95cb
add rdx, 4
add r8, 4
lea r9, [r13 - 6]
cmp rdx, r9
jae 0x1800a95e6
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x1800a95e6
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0xa0]
jae 0x1800a9600
mov r8b, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
mov r9, qword [rsp + 0x28]
sub edx, ecx
jmp 0x1800a8f5a
mov rdx, rcx
jmp 0x1800a7f4d
mov rdx, rcx
jmp 0x1800a839c
mov rdx, rcx
jmp 0x1800a7a9d
xor eax, eax
mov rbx, qword [rsp + 0x58]
jmp 0x1800a9091
mov r9, rdx
jmp 0x1800a7adf
mov rdx, rcx
jmp 0x1800a898c
mov rdx, rcx
mov rbx, qword [rsp + 0x58]
jmp 0x1800a8f7e
mov r9, rdx
mov rbx, qword [rsp + 0x58]
jmp 0x1800a8fc0
mov r9, rdx
jmp 0x1800a89ce