Function at 0x180032300
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1801491e0]
xor rax, rsp
mov qword [rbp + 0xb0], rax
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov qword [rsp + 0x78], rax
cmp qword [0x1801776a8], rax
je 0x180032889
mov rax, qword [0x180177680]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x100]
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x30], r8
mov rdx, rax
mov qword [rsp + 0x38], rax
movabs rdi, 0x6c0e2e0125610278
movabs r14, 0x6d0de6a7b5da71f8
movabs r15, 0x47d6f43d77935c75
xorps xmm7, xmm7
test rax, rax
je 0x180032819
mov rsi, qword [rdx]
test rsi, rsi
je 0x180032819
mov rcx, qword [0x1801776a8]
cmp rsi, rcx
je 0x180032819
movsd xmm0, qword [rsi + 0x90]
mov eax, dword [rsi + 0x98]
mov dword [rsp + 0x60], eax
movss xmm1, dword [rsp + 0x60]
subss xmm1, dword [rcx + 0x98]
movaps xmm2, xmm0
shufps xmm2, xmm2, 0x55
subss xmm2, dword [rcx + 0x94]
subss xmm0, dword [rcx + 0x90]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180032425
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180032437
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
movss xmm0, dword [0x180173a88]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm6
jb 0x180032814
mov rax, qword [0x1801775d8]
mov rcx, rsi
call rax
mov ebx, eax
mov dword [rsp + 0x48], eax
cvttss2si r13d, dword [rsi + 0x280]
mov dword [rsp + 0x4c], r13d
mov edx, eax
mov rcx, rdi
call fcn.18003da50
mov dword [rsp + 0x50], eax
mov edx, eax
mov rcx, r14
call fcn.18003de40
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x70], 0
mov qword [rbp - 0x68], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x80], 0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1800324b0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.18003a430
nop
xor dil, dil
mov edx, ebx
mov rcx, r15
call fcn.18003da50
movzx ecx, dil
test eax, eax
mov r11d, 1
cmove ecx, r11d
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x20], 0x60442621
mov dword [rsp + 0x24], 0x7b7d7179
mov dword [rsp + 0x28], 0x3f3e77
mov byte [rsp + 0x2c], r11b
xor r10d, r10d
mov ecx, r10d
nop dword [rax + rax]
lea eax, [rcx + 0xb]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 0xb
jb 0x180032510
mov byte [rsp + 0x2c], dil
lea rcx, [rsp + 0x20]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dil
jne 0x180032531
lea rcx, [rbp - 0x80]
mov rdi, qword [rbp - 0x80]
mov r15, qword [rbp - 0x68]
cmp r15, 0x10
cmovae rcx, rdi
mov r12, qword [rbp - 0x70]
cmp r12, rax
jne 0x1800325af
mov r8, r12
lea rdx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800325a8
cmp r15, 0x10
jb 0x1800327f6
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18003259b
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180032913
mov rcx, rdi
call fcn.18010acb0
jmp 0x1800327f6
xor r10d, r10d
lea r11d, [r10 + 1]
mov eax, dword [0x1801737b0]
mov rcx, qword [rax + rsi]
mov r14d, dword [rcx + 0x88]
cmp r13d, 0x65
setle r13b
xor bl, bl
mov edx, r10d
mov r8, qword [0x180177758]
mov r9, qword [0x180177750]
sub r8, r9
sar r8, 2
test r8, r8
je 0x180032609
mov rcx, r10
nop word [rax + rax]
movzx ebx, bl
cmp dword [r9 + rcx], r14d
cmove ebx, r11d
inc edx
lea rcx, [rcx + 4]
movsxd rax, edx
cmp rax, r8
jb 0x1800325f0
xor eax, eax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
movsd qword [rbp - 0x48], xmm7
mov qword [rbp - 0x40], rax
mov byte [rbp - 0x38], al
mov qword [rbp - 0x30], r10
mov qword [rbp - 0x20], r10
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], al
lea r8d, [rax + 6]
lea rdx, str.Player
lea rcx, [rbp - 0x30]
call fcn.18003a430
nop
xor eax, eax
mov qword [rbp - 0x10], rax
mov qword [rbp], rax
mov qword [rbp + 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x10], al
xor r8d, r8d
lea rdx, [0x180124893]
lea rcx, [rbp - 0x10]
call fcn.18003a430
mov dword [rbp + 0x10], 0
mov byte [rbp + 0x14], 0
mov qword [rbp + 0x18], 0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movaps xmmword [rbp + 0x30], xmm1
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x50], xmm1
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x90], xmm1
movaps xmmword [rbp + 0xa0], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x58], eax
mov qword [rbp - 0x60], rsi
mov eax, dword [rsp + 0x4c]
mov dword [rbp - 0x54], eax
movsd qword [rbp - 0x48], xmm6
mov eax, dword [rsp + 0x50]
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x3c], r14d
lea rdx, [rbp - 0x80]
cmp r15, 0x10
cmovae rdx, rdi
mov r8, r12
lea rcx, [rbp - 0x30]
call fcn.18003a430
mov byte [rbp + 0x10], r13b
mov eax, dword [rsp + 0x54]
mov byte [rbp + 0x12], al
mov byte [rbp + 0x14], 0
mov byte [rbp + 0x13], bl
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x78]
je 0x180032728
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.18000f490
add qword [rsp + 0x70], 0x110
jmp 0x18003273a
lea r8, [rbp - 0x60]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.180042740
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x180032775
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180032770
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003290c
call fcn.18010acb0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1800327b1
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800327ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003290c
call fcn.18010acb0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1800327ec
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800327e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180032913
call fcn.18010acb0
movabs r14, 0x6d0de6a7b5da71f8
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
movabs rdi, 0x6c0e2e0125610278
movabs r15, 0x47d6f43d77935c75
mov rax, qword [rsp + 0x40]
inc r8
mov qword [rsp + 0x30], r8
add rdx, 0x10
mov qword [rsp + 0x38], rdx
cmp r8, 0x100
jl 0x1800323a4
mov rdi, qword [0x180177788]
mov rbx, qword [0x180177780]
cmp rbx, rdi
je 0x18003286b
nop word [rax + rax]
mov rcx, rbx
call fcn.18000a9f0
add rbx, 0x110
cmp rbx, rdi
jne 0x180032850
mov rbx, qword [0x180177780]
mov qword [0x180177788], rbx
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
lea rcx, [0x180177780]
call fcn.18004bbc0
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x180032922
mov rdi, qword [rsp + 0x70]
cmp rbx, rdi
je 0x1800328ba
mov rcx, rbx
call fcn.18000a9f0
add rbx, 0x110
cmp rbx, rdi
jne 0x1800328a1
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
sub rcx, rbx
movabs rax, 0x7878787878787879
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x110
mov rax, rbx
cmp rdx, 0x1000
jb 0x18003291a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003291a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, rbx
call fcn.18010acb0
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.18010a550
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret