Function at 0x18000bd20
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xb8]
sub rsp, 0x190
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x18005a080]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r14, rcx
xor edi, edi
call fcn.1800101c0
test al, al
jne 0x18000c737
xorps xmm7, xmm7
mov qword [rsp + 0x50], rdi
mov qword [rbp - 0x80], rdi
mov rcx, r14
call fcn.1800064d0
mov rsi, rax
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.180036ef0
call fcn.1800403f0
mov rcx, rax
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x10]
call fcn.18003e020
movzx ebx, al
call fcn.1800403f0
movss xmm10, dword [0x180051728]
test rax, rax
je 0x18000bdfc
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.18003c870
movd xmm1, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm10
movd xmm2, dword [rsp + 0x40]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm10
jmp 0x18000be02
xorps xmm2, xmm2
xorps xmm1, xmm1
addss xmm2, xmm2
movss xmm0, dword [rsp + 0x50]
comiss xmm0, xmm2
jae 0x18000c737
addss xmm1, xmm1
movss xmm0, dword [rsp + 0x54]
comiss xmm0, xmm1
jae 0x18000c737
test bl, bl
je 0x18000c737
test rsi, rsi
je 0x18000c737
mov rcx, rsi
call fcn.180039ad0
mov ebx, eax
mov rcx, rsi
call fcn.180037610
cmp ebx, eax
jg 0x18000bed5
test ebx, ebx
js 0x18000bed5
mov r8d, ebx
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.180037c60
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x68], edi
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov rcx, rsi
call fcn.180038940
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [rsp + 0x44]
movss dword [rsp + 0x34], xmm1
movss xmm2, dword [rsp + 0x48]
movss dword [rsp + 0x38], xmm2
ucomiss xmm0, xmm7
jp 0x18000bec9
jne 0x18000bec9
ucomiss xmm1, xmm7
jp 0x18000bec9
jne 0x18000bec9
ucomiss xmm2, xmm7
jp 0x18000bec9
je 0x18000bede
mov eax, dword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
jmp 0x18000bef1
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x38], edi
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.180036ef0
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x10], xmm0
mov dword [rbp - 8], eax
call fcn.1800403f0
test rax, rax
je 0x18000bf15
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.18003c870
call fcn.1800403f0
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x10]
mov rcx, rax
call fcn.18003e020
mov rcx, r14
call fcn.1800086b0
test rax, rax
je 0x18000c737
mov rcx, rax
call fcn.18000fb30
mov rbx, rax
call fcn.180006c90
mov rdx, rax
mov rcx, rbx
call fcn.180036210
test eax, eax
je 0x18000c737
mov rcx, rbx
call fcn.180006ec0
mov rbx, rax
test rax, rax
je 0x18000c737
mov rcx, r14
call fcn.180036ad0
cvttss2si edx, xmm0
lea rcx, [rsp + 0x60]
call fcn.18000ea30
nop
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.180006a00
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.180036100
nop
mov r8d, 2
lea rdx, [0x18004fdd8]
mov rcx, rax
call fcn.180004220
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], recv
mov byte [rax], 0
lea r9, [rsp + 0x60]
lea r8, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.18000ed10
nop
mov r8d, 2
lea rdx, [0x18004fdd4]
lea rcx, [rbp - 0x68]
call fcn.180004220
movups xmm8, xmmword [rax]
movups xmmword [rbp + 0x10], xmm8
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp + 0x20], xmm6
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], recv
mov byte [rax], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x18000c05d
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c058
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000c058
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18004c45c
movdqa xmm0, xmmword [0x180051830]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x18000c0ad
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c0a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000c0a7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18004c45c
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x18000c0eb
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c0e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000c0e6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18004c45c
movdqa xmm0, xmmword [0x180051830]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x18000c13c
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c137
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000c137
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18004c45c
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rdi
mov qword [rbp + 8], rdi
lea rax, [rbp + 0x10]
movq r15, xmm8
movdqa xmm0, xmm6
psrldq xmm0, 8
movq r12, xmm0
cmp r12, 0xf
cmova rax, r15
mov qword [rsp + 0x30], rax
movabs rbx, 0x7fffffffffffffff
movq r13, xmm6
cmp r13, rbx
ja 0x18000c77d
cmp r13, 0xf
ja 0x18000c1a5
mov qword [rbp], r13
mov qword [rbp + 8], recv
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x10], xmm0
jmp 0x18000c23b
mov rax, r13
or rax, 0xf
cmp rax, rbx
jbe 0x18000c1dd
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.18004c420
mov rcx, rax
test rax, rax
je 0x18000c208
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18000c21e
mov rbx, rax
mov ecx, socket
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000c20f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000c783
jmp 0x18000c1bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x18000c21b
call fcn.18004c420
jmp 0x18000c21e
mov rax, rdi
mov qword [rbp - 0x10], rax
mov qword [rbp], r13
mov qword [rbp + 8], rbx
lea r8, [r13 + 1]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x30]
call fcn.1800405d0
movsd xmm0, qword [str.vF_a_b_b]
movsd qword [rbp - 0x78], xmm0
mov eax, dword [0x1800500d8]
mov dword [rbp - 0x70], eax
cmp byte [0x1800500db], 0
je 0x18000c3b0
mov r8d, edi
cmp dword [0x18005a0d0], 2
jl 0x18000c375
movdqa xmm4, xmmword [0x180051a80]
movdqa xmm2, xmmword [0x180051840]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180051880]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800518d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1800518f0]
movd xmm0, dword [str.vF_a_b_b]
xorps xmm2, xmm0
movd dword [rbp - 0x78], xmm2
movdqa xmm3, xmmword [0x180051850]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180051880]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800518d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1800518f0]
movd xmm0, dword [rbp - 0x74]
xorps xmm2, xmm0
movd dword [rbp - 0x74], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x78]
add r9, rax
nop
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x34
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x18000c380
mov qword [rbp - 0x10], rdi
lea rcx, [rbp - 0x78]
call fcn.1800137d0
cmp word [rax], 0
je 0x18000c3ed
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x18000c3d0
add ecx, 1
mov dword [rbp - 8], ecx
mov dword [rbp - 4], ecx
cmovne rdi, rax
mov qword [rbp - 0x10], rdi
jmp 0x18000c3f1
mov qword [rbp - 8], rdi
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x58]
call fcn.18003f300
mov rbx, qword [rax]
test rdi, rdi
je 0x18000c418
mov rcx, rdi
call fcn.18004c45c
mov rdx, rbx
mov rcx, rsi
call fcn.1800382c0
mov ebx, eax
mov rcx, rsi
call fcn.180037610
cmp ebx, eax
jg 0x18000c48f
test ebx, ebx
js 0x18000c48f
mov r8d, ebx
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.180037c60
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x68], 0
mov qword [rbp - 0x10], 0
mov dword [rbp - 8], 0
lea r9, [rbp - 0x10]
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
mov rcx, rsi
call fcn.180038940
movss xmm0, dword [rsp + 0x60]
movss xmm1, dword [rsp + 0x64]
movss xmm2, dword [rsp + 0x68]
jmp 0x18000c498
movaps xmm0, xmm7
movaps xmm1, xmm7
movaps xmm2, xmm7
unpcklps xmm0, xmm1
movsd qword [rbp - 0x10], xmm0
movss dword [rbp - 8], xmm2
call fcn.1800403f0
test rax, rax
je 0x18000c4c1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.18003c870
call fcn.1800403f0
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x10]
mov rcx, rax
call fcn.18003e020
movss xmm0, dword [rsp + 0x34]
addss xmm0, dword [0x1800517a8]
movss xmm8, dword [rbp - 0x80]
subss xmm8, xmm7
movss xmm9, dword [rbp - 0x7c]
subss xmm9, xmm0
cmp byte [0x18005f940], 0
je 0x18000c625
movaps xmm3, xmm9
addss xmm3, xmm7
movaps xmm0, xmmword [0x180051900]
movaps xmmword [rbp - 0x10], xmm0
movss xmm6, dword [rsp + 0x30]
movaps xmm1, xmm6
mulss xmm1, xmm10
movaps xmm2, xmm8
subss xmm2, xmm1
movss xmm0, dword [0x1800517b4]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm6
lea rdx, [rbp - 0x10]
mov rcx, qword [0x18005f7d8]
call fcn.180039c70
mulss xmm6, xmm10
subss xmm8, xmm6
addss xmm9, xmm7
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x60]
call fcn.18000e820
movaps xmm0, xmmword [0x180051940]
movaps xmmword [rbp - 0x10], xmm0
movaps xmm3, xmm7
lea r8, [rbp - 0x10]
unpcklps xmm8, xmm9
movq rdx, xmm8
mov rcx, rax
call fcn.180014aa0
mov rcx, r14
call fcn.180036b60
cmp byte [0x18005f95e], 0
je 0x18000c5e0
mov rcx, r14
call fcn.180036ad0
movss xmm1, dword [0x1800517e8]
mov rcx, rsi
comiss xmm1, xmm0
jb 0x18000c5f0
movaps xmm0, xmmword [0x180051a40]
movaps xmmword [rbp - 0x10], xmm0
movss xmm2, dword [0x180051768]
lea rdx, [rbp - 0x10]
call fcn.180039050
jmp 0x18000c61d
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
movaps xmm0, xmmword [0x180051950]
movaps xmm1, xmmword [0x180051a00]
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rsp + 0x60], xmm1
movss xmm3, dword [0x180051740]
lea r8, [rbp - 0x10]
lea rdx, [rsp + 0x60]
call fcn.180039460
mov r12, qword [rbp + 0x28]
mov r15, qword [rbp + 0x10]
call fcn.1800403f0
test rax, rax
je 0x18000c65f
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.18003c870
movd xmm1, dword [rsp + 0x40]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm10
movd xmm7, dword [rsp + 0x58]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm10
jmp 0x18000c662
movaps xmm1, xmm7
movss xmm0, dword [rsp + 0x54]
subss xmm0, xmm1
movss xmm1, dword [rsp + 0x50]
subss xmm1, xmm7
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x18000c693
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18000c69b
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
andps xmm0, xmmword [0x180051ab0]
movss xmm1, dword [0x18005a108]
comiss xmm1, xmm0
jb 0x18000c6fc
call fcn.180021b50
mov rdx, rax
mov rcx, r14
call fcn.180036210
test eax, eax
je 0x18000c6fc
mov eax, dword [0x18005a118]
cmp eax, dword [0x18005a11c]
jl 0x18000c6e8
inc eax
movsxd rdx, eax
lea rcx, [0x18005a110]
call fcn.180040a40
mov eax, dword [0x18005a118]
movsxd rcx, eax
mov rax, qword [0x18005a110]
mov qword [rax + rcx*8], r14
inc dword [0x18005a118]
cmp r12, 0xf
jbe 0x18000c737
lea rdx, [r12 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x18000c72f
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000c72f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.18004c45c
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.18004c400
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800015c0
nop
call fcn.180001520
int3