Function at 0x180030e60
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 - 0x138]
sub rsp, 0x210
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1801471e0]
xor rax, rsp
mov qword [rbp + 0xd0], rax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
xor r12d, r12d
mov qword [rbp - 0x70], r12
cmp qword [0x1801756a8], r12
je 0x180031198
mov rax, qword [0x180175680]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x100]
mov qword [rsp + 0x50], rax
mov r8d, r12d
mov qword [rsp + 0x38], r12
mov rdx, rax
mov qword [rsp + 0x40], rax
movabs rsi, 0x6c0e2e0125610278
movabs r15, 0x6d0de6a7b5da71f8
lea r14d, [r12 + 1]
movsd xmm7, qword [0x18012afe8]
xorps xmm8, xmm8
nop dword [rax]
test rax, rax
je 0x180031130
mov r13, qword [rdx]
mov qword [rsp + 0x68], r13
test r13, r13
je 0x180031130
mov rcx, qword [0x1801756a8]
cmp r13, rcx
je 0x180031130
movsd xmm2, qword [r13 + 0x90]
mov eax, dword [r13 + 0x98]
mov dword [rsp + 0x78], eax
movss xmm1, dword [rsp + 0x78]
subss xmm1, dword [rcx + 0x98]
movaps xmm0, xmm2
shufps xmm0, xmm0, 0x55
subss xmm0, dword [rcx + 0x94]
subss xmm2, 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 0x180030f98
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180030faa
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
comisd xmm7, xmm6
jb 0x18003112b
mov rax, qword [0x1801755d8]
mov rcx, r13
call rax
mov ebx, eax
mov dword [rsp + 0x58], eax
cvttss2si edi, dword [r13 + 0x280]
mov dword [rsp + 0x5c], edi
mov edx, eax
mov rcx, rsi
call fcn.18003c3a0
mov dword [rsp + 0x48], eax
mov edx, eax
mov rcx, r15
call fcn.18003c790
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x68], 0
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180031010
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.180038d80
nop
xor sil, sil
mov edx, ebx
movabs rcx, 0x47d6f43d77935c75
call fcn.18003c3a0
movzx ecx, sil
test eax, eax
cmove ecx, r14d
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x28], 0xa084e6e1
mov dword [rsp + 0x2c], 0xbbbdb1b9
mov dword [rsp + 0x30], 0xfffeb7
mov byte [rsp + 0x34], 1
mov rcx, r12
nop dword [rax]
lea eax, [rcx - 0x35]
xor byte [rsp + rcx + 0x28], al
inc rcx
cmp rcx, 0xb
jb 0x180031070
mov byte [rsp + 0x34], sil
lea rcx, [rsp + 0x28]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x180031091
lea rcx, [rbp - 0x68]
mov rsi, qword [rbp - 0x68]
mov r14, qword [rbp - 0x50]
cmp r14, 0x10
cmovae rcx, rsi
mov r15, qword [rbp - 0x58]
cmp r15, rax
jne 0x180031221
mov r8, r15
lea rdx, [rsp + 0x28]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180031221
cmp r14, 0x10
jb 0x180031107
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800310ff
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003147a
mov rcx, rsi
call fcn.180109380
movabs r15, 0x6d0de6a7b5da71f8
mov r14d, 1
movabs rsi, 0x6c0e2e0125610278
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
inc r8
mov qword [rsp + 0x38], r8
add rdx, 0x10
mov qword [rsp + 0x40], rdx
cmp r8, 0x100
jl 0x180030f10
mov rdi, qword [0x180175788]
mov rbx, qword [0x180175780]
cmp rbx, rdi
je 0x18003117c
mov rcx, rbx
call fcn.18000a9f0
add rbx, 0x108
cmp rbx, rdi
jne 0x180031161
mov rbx, qword [0x180175780]
mov qword [0x180175788], rbx
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [0x180175780]
call fcn.180049e00
nop
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x180031490
mov rdi, qword [rbp - 0x78]
cmp rbx, rdi
je 0x1800311c8
nop
mov rcx, rbx
call fcn.18000a9f0
add rbx, 0x108
cmp rbx, rdi
jne 0x1800311b0
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x70]
sub rcx, rbx
movabs rax, 0xf83e0f83e0f83e1
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x108
mov rax, rbx
cmp rdx, 0x1000
jb 0x180031488
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180031488
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp edi, 0x65
setle byte [rsp + 0x20]
xor dil, dil
mov r12, qword [0x180175758]
mov rbx, qword [0x180175750]
cmp rbx, r12
je 0x180031299
mov r13d, dword [rsp + 0x48]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbp - 0x68]
cmp r14, 0x10
cmovae rdx, rsi
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18003126d
mov rcx, qword [rbx]
cmp r8, r15
jne 0x18003128b
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18003128b
movzx edi, dil
cmp dword [rbx + 0x20], r13d
mov eax, 1
cmove edi, eax
add rbx, 0x28
cmp rbx, r12
jne 0x180031250
mov r13, qword [rsp + 0x68]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
xor r12d, r12d
mov qword [rbp - 0x30], r12
movsd qword [rbp - 0x28], xmm8
mov dword [rbp - 0x20], r12d
mov byte [rbp - 0x1c], al
mov qword [rbp - 0x18], r12
mov qword [rbp - 8], r12
mov qword [rbp], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x18], al
lea r8d, [rax + 6]
lea rdx, str.Player
lea rcx, [rbp - 0x18]
call fcn.180038d80
nop
mov qword [rbp + 8], r12
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], reloc.WS2_32.dll_ntohs
mov byte [rbp + 8], r12b
xor r8d, r8d
lea rdx, [0x180122873]
lea rcx, [rbp + 8]
call fcn.180038d80
mov dword [rbp + 0x28], r12d
mov byte [rbp + 0x2c], r12b
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movaps xmmword [rbp + 0x40], xmm1
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x60], xmm1
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x80], xmm1
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0xa0], xmm1
movaps xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov eax, dword [rsp + 0x58]
mov dword [rbp - 0x38], eax
mov qword [rbp - 0x40], r13
mov eax, dword [rsp + 0x5c]
mov dword [rbp - 0x34], eax
movsd qword [rbp - 0x28], xmm6
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x20], eax
lea rdx, [rbp - 0x68]
cmp r14, 0x10
cmovae rdx, rsi
mov r8, r15
lea rcx, [rbp - 0x18]
call fcn.180038d80
movzx eax, byte [rsp + 0x20]
mov byte [rbp + 0x28], al
mov eax, dword [rsp + 0x60]
mov byte [rbp + 0x2a], al
mov byte [rbp + 0x2c], r12b
mov byte [rbp + 0x2b], dil
mov rax, qword [rbp - 0x78]
cmp rax, qword [rbp - 0x70]
je 0x1800313b8
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.18000f230
add qword [rbp - 0x78], 0x108
jmp 0x1800313c9
lea r8, [rbp - 0x40]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180040d40
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x180031404
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800313ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031481
call fcn.180109380
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x18003143c
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180031436
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031481
call fcn.180109380
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x180031107
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180031102
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180031102
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.180109380
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.180108c20
lea r11, [rsp + 0x210]
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]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret