Function at 0x1800314d0
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 - 0xc8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x1801471e0]
xor rax, rsp
mov qword [rbp + 0x50], rax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
xor r15d, r15d
mov qword [rbp - 0x58], r15
cmp qword [0x1801756a8], r15
je 0x1800319e8
mov rax, qword [0x180175680]
mov rcx, qword [rax + 0x10]
mov rdi, qword [rcx + 0x180]
movsxd r14, dword [rcx + 0x188]
test r14, r14
jle 0x1800319e8
mov esi, r15d
movabs r13, 0x5f9532f3b5cc2551
movabs r12, 0x22ac59a870e6a669
nop dword [rax + rax]
mov rbx, qword [rdi]
test rbx, rbx
je 0x1800319d8
movsd xmm0, qword [rbx + 0x90]
mov eax, dword [rbx + 0x98]
mov dword [rsp + 0x60], eax
mov rax, qword [0x1801756a8]
movss xmm7, dword [rsp + 0x60]
movaps xmm1, xmm7
subss xmm1, dword [rax + 0x98]
movaps xmm6, xmm0
shufps xmm6, xmm6, 0x55
movsd qword [rsp + 0x58], xmm0
movaps xmm2, xmm6
subss xmm2, dword [rax + 0x94]
movss xmm8, dword [rsp + 0x58]
movaps xmm0, xmm8
subss xmm0, dword [rax + 0x90]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800315f6
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800315fe
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
movss xmm0, dword [0x180171a74]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm9
jb 0x1800319d8
movss dword [rbp - 0x78], xmm7
movaps xmm0, xmm8
unpcklps xmm0, xmm6
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x78], eax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.18000c380
mov rax, qword [0x1801755d8]
mov rcx, rbx
call rax
mov ebx, eax
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
mov edx, eax
movabs rcx, 0x9f47b058362c84b5
call fcn.18003c3a0
mov edx, eax
movabs rcx, 0xb215aac32d25d019
call fcn.18003c790
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180031690
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.180038d80
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], 0
xor r8d, r8d
lea rdx, [0x180122873]
lea rcx, [rbp - 0x50]
call fcn.180038d80
nop
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.18003c080
test eax, eax
je 0x180031735
mov dword [rsp + 0x30], 0xbabea98f
mov dword [rsp + 0x34], 0xb7a8bfbd
mov word [rsp + 0x38], 0xb7
mov byte [rsp + 0x3a], 1
mov rcx, r15
nop
lea eax, [rcx - 0x35]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 9
jb 0x180031700
mov byte [rsp + 0x3a], 0
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180031721
lea rdx, [rsp + 0x30]
jmp 0x1800317f0
xor r9d, r9d
lea r8d, [r9 - 1]
mov edx, ebx
mov rcx, r12
call fcn.18003cce0
mov rcx, r15
test eax, eax
je 0x1800317a2
mov dword [rsp + 0x40], 0x8aeda385
mov dword [rsp + 0x44], 0xb7a7b9bd
mov word [rsp + 0x48], 0xa1
mov byte [rsp + 0x4a], 1
nop dword [rax]
lea eax, [rcx - 0x35]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 9
jb 0x180031770
mov byte [rsp + 0x4a], 0
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180031791
lea rdx, [rsp + 0x40]
jmp 0x1800317f0
mov dword [rsp + 0x20], 0xbbaeb984
mov dword [rsp + 0x24], 0xb5b5bf
mov byte [rsp + 0x28], 1
nop word [rax + rax]
lea eax, [rcx - 0x35]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 7
jb 0x1800317c0
mov byte [rsp + 0x28], 0
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1800317e1
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x50]
call fcn.180038d80
mov qword [rbp - 0x10], r15
mov qword [rbp], r15
mov qword [rbp + 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x10], 0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x10], 0
xor eax, eax
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x34], ebx
movss xmm0, dword [rsp + 0x50]
movss dword [rbp + 0x38], xmm0
movss xmm1, dword [rsp + 0x54]
movss dword [rbp + 0x3c], xmm1
mov byte [rbp + 0x30], al
movsd qword [rbp + 0x40], xmm9
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp - 0x10]
call fcn.180038d80
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [rbp + 0x10]
call fcn.180038d80
mov rbx, qword [rbp - 0x60]
cmp rbx, qword [rbp - 0x58]
je 0x1800318d9
mov qword [rbp - 0x70], rbx
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.180037110
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 0x10]
call fcn.180037110
movzx eax, byte [rbp + 0x30]
mov byte [rbx + 0x40], al
mov eax, dword [rbp + 0x34]
mov dword [rbx + 0x44], eax
movss xmm0, dword [rbp + 0x38]
movss dword [rbx + 0x48], xmm0
movss xmm1, dword [rbp + 0x3c]
movss dword [rbx + 0x4c], xmm1
movsd xmm0, qword [rbp + 0x40]
movsd qword [rbx + 0x50], xmm0
add qword [rbp - 0x60], 0x58
jmp 0x1800318ea
lea r8, [rbp - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.180040870
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x180031925
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180031920
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031aa6
call fcn.180109380
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x180031961
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003195b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031aa6
call fcn.180109380
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x18003199d
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180031997
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031aad
call fcn.180109380
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1800319d8
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800319d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031ab4
call fcn.180109380
inc rsi
add rdi, 0x10
cmp rsi, r14
jl 0x180031570
mov rdi, qword [0x180175740]
mov rbx, qword [0x180175738]
cmp rbx, rdi
je 0x180031a18
nop dword [rax + rax]
mov rcx, rbx
call fcn.18000aaa0
add rbx, 0x58
cmp rbx, rdi
jne 0x180031a00
mov rbx, qword [0x180175738]
mov qword [0x180175740], rbx
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
call fcn.180049c50
nop
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x180031ac3
mov rdi, qword [rbp - 0x60]
cmp rbx, rdi
je 0x180031a58
mov rcx, rbx
call fcn.18000aaa0
add rbx, 0x58
cmp rbx, rdi
jne 0x180031a43
mov rbx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x58]
sub rcx, rbx
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x58
mov rax, rbx
cmp rdx, 0x1000
jb 0x180031abb
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180031abb
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
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 + 0x50]
xor rcx, rsp
call fcn.180108c20
lea r11, [rsp + 0x1a0]
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]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret