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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x320
mov rax, qword [0x180104020]
xor rax, rsp
mov qword [rsp + 0x310], rax
call fcn.18001017c
xor r15d, r15d
test al, al
je 0x180015eae
mov rax, qword [0x180174738]
lea r14d, [r15 + 0x20]
mov ebp, r15d
lea r12d, [r15 + 1]
or r13d, 0xffffffff
mov rdx, qword [rax]
mov rax, qword [rdx + 0xb8]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax + 0x28]
mov rax, qword [rcx + 0x18]
mov rdi, qword [r14 + rax]
test rdi, rdi
je 0x180015c2a
mov rsi, qword [rdi + 0x10]
test rsi, rsi
je 0x180015c2a
mov rbx, qword [rdi]
test rbx, rbx
je 0x180015c2a
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x180015c2a
mov rcx, qword [rsi + 0x30]
lea rdx, str.LocalPlayer
mov rcx, qword [rcx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x1800158f0
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x2e8
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rsi + 0x28]
lea rcx, [rsp + 0x20]
call fcn.18000b0c8
mov rax, qword [rdi]
mov edx, 5
mov rcx, qword [rax + 0x10]
lea r8d, [rdx + 0x7b]
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x20]
lea rcx, [0x180174df0]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x70]
add rax, r8
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmmword [rcx - 0x10], xmm1
sub rdx, r12
jne 0x18001586c
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
mov rax, qword [rax + 0x60]
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x50], xmm1
mov qword [rcx + 0x60], rax
jmp 0x180015c2a
or r10, 0xffffffffffffffff
mov r9, rbx
mov rax, r10
mov edx, r13d
inc rax
cmp byte [rbx + rax], r15b
jne 0x1800158fd
lea r11, [0x1800ec1e0]
test eax, eax
je 0x18001593d
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015914
not edx
cmp edx, 0xe7fb01cd
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015946
test eax, eax
je 0x18001597f
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015956
not edx
cmp edx, 0xb71a23fc
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015988
test eax, eax
je 0x1800159c1
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015998
not edx
cmp edx, 0x6a2e5b85
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x1800159ca
test eax, eax
je 0x180015a03
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x1800159da
not edx
cmp edx, 0xfeeb8ee9
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015a0c
test eax, eax
je 0x180015a45
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015a1c
not edx
cmp edx, 0xc5a1d640
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015a4e
test eax, eax
je 0x180015a87
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015a5e
not edx
cmp edx, 0x6386c8c2
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015a90
test eax, eax
je 0x180015ac9
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015aa0
not edx
cmp edx, 0x686c9859
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015ad2
test eax, eax
je 0x180015b0b
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015ae2
not edx
cmp edx, 0x55877e47
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015b14
test eax, eax
je 0x180015b4d
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015b24
not edx
cmp edx, 0x9e2ba92b
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015b56
test eax, eax
je 0x180015b8b
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015b66
not edx
cmp edx, 0x45f80db8
je 0x180015c03
mov r9, rbx
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015b94
test eax, eax
je 0x180015bc9
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r9, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015ba4
not edx
cmp edx, 0x479f7440
je 0x180015c03
mov edx, r13d
mov rax, r10
inc rax
cmp byte [rbx + rax], r15b
jne 0x180015bcf
test eax, eax
je 0x180015c22
mov r8d, eax
movsx ecx, byte [rbx]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add rbx, r12
xor edx, dword [r11 + rax*4]
sub r8, r12
jne 0x180015bdf
not edx
cmp edx, 0x3dea07cf
jne 0x180015c22
mov rcx, qword [rsi + 0x28]
call fcn.180015594
mov rdx, qword [rdi]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdx + 0x10]
mov rcx, qword [rcx + 0x28]
call fcn.180012b7c
jmp 0x180015c2a
mov rcx, rdi
call fcn.180012fe8
mov rax, qword [0x180174738]
add ebp, r12d
add r14, 8
mov rdx, qword [rax]
mov rax, qword [rdx + 0xb8]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax + 0x28]
movsxd rax, ebp
cmp rax, qword [rcx + 0x10]
jbe 0x1800157c6
mov rdx, qword [0x180174a60]
mov r8, rdx
mov rdx, qword [rdx]
call fcn.180018418
mov rcx, qword [0x180174a60]
mov rax, qword [rcx + 8]
mov qword [rax], r15
mov rdi, qword [rcx]
test rdi, rdi
je 0x180015ca3
mov rbx, qword [rdi]
lea rcx, [rdi + 0x10]
call fcn.180017cb4
mov edx, 0x30
mov rcx, rdi
call fcn.1800cb1b8
mov rdi, rbx
test rbx, rbx
jne 0x180015c82
mov rax, qword [0x180174a60]
lea rdx, [0x180174a30]
lea rcx, [0x180174a20]
mov qword [rax], rax
mov rax, qword [0x180174a60]
mov qword [rax + 8], rax
mov qword [0x180174a68], r15
call fcn.180017b3c
mov rcx, qword [0x180174a30]
mov rax, qword [rcx + 8]
mov qword [rax], r15
mov rbx, qword [rcx]
test rbx, rbx
je 0x180015d4e
mov rdx, qword [rbx + 0x38]
mov rdi, qword [rbx]
cmp rdx, 0x10
jb 0x180015d22
mov rcx, qword [rbx + 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x180015d1d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180015d47
mov rcx, r8
call fcn.1800cb1b8
mov edx, 0x40
mov qword [rbx + 0x30], r15
mov rcx, rbx
mov qword [rbx + 0x38], 0xf
mov byte [rbx + 0x20], r15b
call fcn.1800cb1b8
test rdi, rdi
mov rbx, rdi
jmp 0x180015ce6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, qword [0x180174a30]
lea rcx, [0x1801751e8]
mov qword [rax], rax
mov rax, qword [0x180174a30]
mov qword [rax + 8], rax
lea rax, [0x180175188]
mov qword [0x180174a38], r15
cmp rcx, rax
je 0x180015d8f
mov rdx, qword [0x180175188]
mov r8, rdx
mov rdx, qword [rdx]
call fcn.180018604
mov rcx, qword [0x180175188]
mov rax, qword [rcx + 8]
mov qword [rax], r15
mov rcx, qword [rcx]
test rcx, rcx
je 0x180015dba
mov rbx, qword [rcx]
mov edx, 0x38
call fcn.1800cb1b8
mov rcx, rbx
test rbx, rbx
jne 0x180015da5
mov rax, qword [0x180175188]
lea rcx, [0x1801751a8]
mov qword [rax], rax
mov rax, qword [0x180175188]
mov qword [rax + 8], rax
lea rax, [0x180175198]
mov qword [0x180175190], r15
cmp rcx, rax
je 0x180015dfb
mov rdx, qword [0x180175198]
mov r8, rdx
mov rdx, qword [rdx]
call fcn.180018f5c
mov rcx, qword [0x180175198]
mov rax, qword [rcx + 8]
mov qword [rax], r15
mov rcx, qword [rcx]
test rcx, rcx
je 0x180015e26
mov rbx, qword [rcx]
mov edx, 0x2f8
call fcn.1800cb1b8
mov rcx, rbx
test rbx, rbx
jne 0x180015e11
mov rax, qword [0x180175198]
lea rcx, [0x180174dd8]
mov qword [rax], rax
mov rax, qword [0x180175198]
mov qword [rax + 8], rax
lea rax, [0x180175178]
mov qword [0x1801751a0], r15
cmp rcx, rax
je 0x180015e67
mov rdx, qword [0x180175178]
mov r8, rdx
mov rdx, qword [rdx]
call fcn.180018c24
mov rcx, qword [0x180175178]
mov rax, qword [rcx + 8]
mov qword [rax], r15
mov rcx, qword [rcx]
test rcx, rcx
je 0x180015e92
mov rbx, qword [rcx]
mov edx, 0x380
call fcn.1800cb1b8
mov rcx, rbx
test rbx, rbx
jne 0x180015e7d
mov rax, qword [0x180175178]
mov qword [rax], rax
mov rax, qword [0x180175178]
mov qword [rax + 8], rax
mov qword [0x180175180], r15
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.1800cac90
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret