Function at 0x1800b4cd0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov rax, rsp
mov dword [rax + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x278
mov ebx, ecx
movaps xmmword [rax - 0x58], xmm6
lea rcx, [rbp + 0x20]
movaps xmmword [rax - 0x68], xmm7
call fcn.1800f8d48
mov edx, ebx
mov rcx, rax
call fcn.1800f98f0
xor edi, edi
test al, al
je 0x1800b4d26
lea rdx, [rbp + 0x1c0]
call fcn.1800f8c74
mov eax, dword [rax]
jmp 0x1800b5625
call fcn.1800b2f10
mov rcx, rax
mov r14, rax
call fcn.1800b2e08
mov ebx, edi
mov rcx, r14
mov dword [rbp + 0x1c8], ebx
mov r13, rax
call fcn.1800b2cfc
test rax, rax
je 0x1800b5623
movabs rsi, 0x90f0c0bd3a4df788
mov rax, qword [r13]
mov r12d, edi
mov r15, qword [rax]
mov rcx, r15
call fcn.1800b2af8
test rax, rax
je 0x1800b5603
mov rdx, qword [r15]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
or r8, 0xffffffffffffffff
mov qword [rsp + 0x60], rdi
inc r8
cmp byte [rdx + r8], dil
jne 0x1800b4d90
lea rcx, [rsp + 0x48]
call fcn.1800aada0
movabs rax, 0x2635a5d0ebc09345
lea rdx, [rbp - 0x20]
mov qword [rbp + 0x1d8], rax
lea rcx, [rsp + 0x48]
mov rax, qword [rbp + 0x1d8]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x1d8], rsi
mov rax, qword [rbp + 0x1d8]
mov qword [rbp - 0x18], rax
movabs rax, 0x2635a5d087acf76b
mov qword [rbp + 0x1d8], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x1d8], rsi
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x98], rax
movdqa xmm0, xmmword [rbp + 0x90]
xorps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
call fcn.1800f90dc
mov rbx, qword [rsp + 0x58]
cmp rbx, rax
jb 0x1800b5703
mov rcx, rbx
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp qword [rsp + 0x60], 0xf
lea rcx, [rsp + 0x48]
cmova rcx, qword [rsp + 0x48]
sub rbx, rdx
add rcx, rax
mov r8, rbx
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
movsxd rdx, r12d
mov rcx, r15
mov qword [rsp + 0x58], rbx
call fcn.1800b2bf8
xor ebx, ebx
mov qword [rbp + 0x1d8], rax
xorps xmm0, xmm0
mov qword [rbp + 0x10], rbx
movups xmmword [rbp], xmm0
mov rsi, qword [rax + 0x10]
or r8, 0xffffffffffffffff
mov rdi, qword [rax + 0x18]
mov qword [rbp + 0x18], rbx
inc r8
cmp byte [rdi + r8], bl
jne 0x1800b4ea0
mov rdx, rdi
lea rcx, [rbp]
call fcn.1800aada0
cmp qword [rbp + 0x10], rbx
mov rdx, qword [rbp + 0x18]
sete bl
cmp rdx, 0xf
jbe 0x1800b4ef7
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b4ef2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b56f6
call fcn.18012d4cc
xor edx, edx
mov qword [rbp + 0x18], 0xf
mov qword [rbp + 0x10], rdx
movabs rcx, 0x90f0c0bd3a4df788
mov byte [rbp], dl
test bl, bl
je 0x1800b50a0
movabs rax, 0x2635a5d087accd51
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
movabs rax, 0x2635a5d087acf76b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x40], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x40]
xor edi, edi
movdqa xmm0, xmmword [rsp + 0x70]
mov qword [rbp + 0xa8], rax
lea rax, [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rsp + 0x70], xmm0
inc rcx
cmp byte [rax + rcx], dil
jne 0x1800b4f8c
mov r8, qword [rsp + 0x58]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x1800b5709
cmp qword [rsp + 0x60], 0xf
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x48]
cmova r9, qword [rsp + 0x48]
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.1800fbc70
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.1800f9198
mov esi, 0xf
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rsi
mov byte [rax], dil
mov rdx, qword [rsp + 0x60]
movups xmmword [rbp + 0x110], xmm6
movups xmmword [rbp + 0x120], xmm7
cmp rdx, rsi
jbe 0x1800b504b
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b5046
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b5647
call fcn.18012d4cc
mov rdx, qword [rbp + 0x48]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, rsi
jbe 0x1800b508f
mov rcx, qword [rbp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b508a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b5647
call fcn.18012d4cc
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rsi
mov byte [rbp + 0x30], dil
jmp 0x1800b5355
movabs r9, 0x2635a5d087accd51
movabs r8, 0x2635a5d087acf76b
mov qword [rsp + 0x40], r9
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 8], rax
mov qword [rsp + 0x40], r8
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rcx
mov qword [rbp + 0xb0], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xb8], rax
movdqa xmm0, xmmword [rbp + 0xb0]
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rsp + 0x40], r9
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x40], r8
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xc0], rax
mov qword [rsp + 0x40], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x80]
mov qword [rbp + 0xc8], rax
lea rax, [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp - 0x80], xmm0
inc rcx
cmp byte [rax + rcx], dl
jne 0x1800b515a
mov r8, qword [rsp + 0x58]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x1800b56fd
cmp qword [rsp + 0x60], 0xf
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x48]
cmova r9, qword [rsp + 0x48]
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.1800fbc70
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.1800f9198
xor edi, edi
lea rdx, [rbp - 0x10]
mov qword [rbp - 0x30], rdi
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
lea ebx, [rdi + 0xf]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.1800f9198
mov qword [rbp - 0x50], rdi
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x48], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.1800f9198
mov esi, ebx
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x18], rbx
mov ebx, 0x1000
mov qword [rax + 0x10], rdi
mov byte [rax], dil
mov rdx, qword [rsp + 0x60]
movups xmmword [rbp + 0x130], xmm6
movups xmmword [rbp + 0x140], xmm7
cmp rdx, rsi
jbe 0x1800b5285
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800b5280
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b564e
call fcn.18012d4cc
mov rdx, qword [rbp - 0x48]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, rsi
jbe 0x1800b52c5
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800b52c0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b564e
call fcn.18012d4cc
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rsi
mov byte [rbp - 0x60], dil
cmp rdx, rsi
jbe 0x1800b5307
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800b5302
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b564e
call fcn.18012d4cc
mov rdx, qword [rbp + 0x68]
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rsi
mov byte [rbp - 0x40], dil
cmp rdx, rsi
jbe 0x1800b5349
mov rcx, qword [rbp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800b5344
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b564e
call fcn.18012d4cc
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], rsi
mov byte [rbp + 0x50], dil
mov rcx, qword [rbp + 0x1d8]
lea rdx, [rbp + 0x1d0]
mov qword [rbp + 0x1d0], rdi
call fcn.1800b29f4
mov rbx, rax
test rax, rax
je 0x1800b559f
jmp 0x1800b5382
mov esi, 0xf
mov rcx, rbx
call fcn.1800b2708
mov rdi, rax
movabs rax, 0x2635a5d087accd51
mov qword [rsp + 0x40], rax
movabs rax, 0x90f0c0bd3a4df788
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x70], rcx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x68], rcx
movabs rcx, 0x2635a5d087acf76b
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x70]
mov qword [rbp + 0xd8], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 0xd0], rcx
or rcx, 0xffffffffffffffff
xorps xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp - 0x70], xmm0
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800b5402
mov rdx, qword [rsp + 0x58]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x1800b570f
cmp qword [rsp + 0x60], rsi
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x48]
cmova r9, qword [rsp + 0x48]
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.1800fbc70
mov rdx, rdi
lea rcx, [rbp + 0x70]
call fcn.1800f9198
xor r9d, r9d
movups xmm7, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], r9
mov qword [rax + 0x18], rsi
mov byte [rax], r9b
mov rdx, qword [rbp + 0x88]
movups xmmword [rbp + 0xe0], xmm7
movups xmmword [rbp + 0xf0], xmm6
cmp rdx, rsi
jbe 0x1800b54c1
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b54b9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b5655
call fcn.18012d4cc
xor r9d, r9d
psrldq xmm6, 8
lea rcx, [rbp + 0xe0]
mov qword [rbp + 0x88], rsi
movq rdi, xmm7
movq rsi, xmm6
mov qword [rbp + 0x80], r9
cmp rsi, 0xf
mov byte [rbp + 0x70], r9b
cmova rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r9b
jne 0x1800b54f5
cmp rsi, 0xf
lea r8, [rbp + 0xe0]
cmova r8, rdi
or edx, 0xffffffff
test eax, eax
je 0x1800b5539
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x180096d80]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x1800b5517
not edx
cmp edx, dword [rbp + 0x1c0]
je 0x1800b565c
cmp rsi, 0xf
jbe 0x1800b557e
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800b5576
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b56f6
mov rcx, rdi
call fcn.18012d4cc
mov rcx, qword [rbp + 0x1d8]
lea rdx, [rbp + 0x1d0]
call fcn.1800b29f4
xor edi, edi
mov rbx, rax
test rax, rax
jne 0x1800b537d
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x1800b55dc
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b55d7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b56f6
call fcn.18012d4cc
mov rcx, r15
inc r12d
call fcn.1800b2af8
movsxd rcx, r12d
movabs rsi, 0x90f0c0bd3a4df788
cmp rcx, rax
jb 0x1800b4d77
mov ebx, dword [rbp + 0x1c8]
inc ebx
mov rcx, r14
mov dword [rbp + 0x1c8], ebx
add r13, 8
call fcn.1800b2cfc
movsxd rcx, ebx
cmp rcx, rax
jb 0x1800b4d5c
xor eax, eax
lea r11, [rsp + 0x278]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1800b27fc
mov ecx, dword [rbp + 0x1c0]
lea r8, [rbp + 0x20]
mov ebx, eax
lea rdx, [rbp + 0x100]
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], ecx
call fcn.1800f9d14
cmp rsi, 0xf
jbe 0x1800b56b5
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800b56ad
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b56f6
mov rcx, rdi
call fcn.18012d4cc
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x1800b56ee
mov rcx, qword [rsp + 0x48]
inc rdx
mov r8, rcx
cmp rdx, 0x1000
jb 0x1800b56e9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x1800b56f6
call fcn.18012d4cc
mov rax, rbx
jmp 0x1800b5625
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800aaa74
int3
call fcn.1800aad54
int3
call fcn.1800aaa74
int3
call fcn.1800aaa74
int3