Function at 0x1800b9c90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x100
movaps xmmword [rsp + 0xf0], xmm9
mov rax, qword [0x1801d11f0]
xor rax, rsp
mov qword [rbp + 0x3f], rax
call fcn.1800274a0
mov rax, qword [0x1801ebaf8]
xor r8d, r8d
mov r9d, reloc.WS2_32.dll_ntohs
mov dword [rbp - 0x65], 0
xor esi, esi
mov dword [rbp - 0x61], 0x37357575
xorps xmm9, xmm9
mov dword [rbp - 0x5d], 0x3a3f1024
mov rcx, qword [rax + 0x3eb0]
movss xmm0, dword [rax + 0x382c]
mov eax, recv
mulss xmm0, dword [0x1801b2fe0]
mov dword [rbp - 0x59], 0x56243322
movss xmm1, dword [rcx + 0x20]
mov ecx, esi
mov qword [rbp - 0x29], r9
subss xmm1, xmm0
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x41], r8
mov dword [rbp - 0x39], r8d
mov byte [rbp - 0x35], r8b
mulss xmm1, dword [0x1801b2f0c]
movss dword [rbp - 0x69], xmm1
nop dword [rax + rax]
cmp rcx, 0xc
jae 0x1800ba447
movzx edx, byte [rbp + rcx - 0x61]
xor dl, 0x56
cmp rax, rcx
jbe 0x1800ba441
cmp r9, 0x10
lea rax, [rbp - 0x41]
cmovae rax, r8
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 0xc
jge 0x1800b9d81
mov r9, qword [rbp - 0x29]
mov rax, qword [rbp - 0x31]
mov r8, qword [rbp - 0x41]
jmp 0x1800b9d40
cmp qword [rbp - 0x29], 0x10
lea rdx, [rbp - 0x41]
mov r8, qword [rbp - 0x69]
cmovae rdx, qword [rbp - 0x41]
call fcn.180014490
lea rcx, [rbp - 0x41]
call fcn.18000da30
mov rcx, qword [0x1801ebaf8]
mov r9d, reloc.WS2_32.dll_ntohs
mov dword [rbp - 0x61], 0x8074242
mov dword [rbp - 0x5d], 0x1304150d
mov byte [rbp - 0x59], 0x61
mov rax, qword [rcx + 0x3eb0]
mov qword [rbp - 9], r9
movss xmm0, dword [rax + 0x20]
mov eax, 9
or dword [rcx + 0x4738], 1
subss xmm0, dword [0x1801b3078]
xor r8d, r8d
mov qword [rbp - 0x11], rax
mov qword [rbp - 0x21], r8
mov word [rbp - 0x19], r8w
movss dword [rcx + 0x473c], xmm0
mov rcx, rsi
nop
cmp rcx, 9
jae 0x1800ba48f
movzx edx, byte [rbp + rcx - 0x61]
xor dl, 0x61
cmp rax, rcx
jbe 0x1800ba489
cmp r9, 0x10
lea rax, [rbp - 0x21]
cmovae rax, r8
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 9
jge 0x1800b9e41
mov r9, qword [rbp - 9]
mov rax, qword [rbp - 0x11]
mov r8, qword [rbp - 0x21]
jmp 0x1800b9e00
cmp qword [rbp - 9], 0x10
lea rax, [rbp - 0x69]
mov qword [rsp + 0x38], rsi
lea rcx, [rbp - 0x21]
cmovae rcx, qword [rbp - 0x21]
lea r8, [0x1801f48e0]
mov qword [rsp + 0x110], rbx
xor edx, edx
mov qword [rsp + 0x30], rsi
mov r9d, 0x40
mov qword [rsp + 0x118], rdi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x120], r14
mov qword [rbp - 0x69], rsi
mov qword [rsp + 0x20], rax
call fcn.18004a5a0
lea rcx, [rbp - 0x21]
call fcn.18000da30
mov r14, qword [0x1801f4040]
xorps xmm0, xmm0
mov rbx, qword [0x1801f4048]
mov qword [rbp - 0x31], rsi
movdqu xmmword [rbp - 0x41], xmm0
cmp r14, rbx
je 0x1800b9eee
sub rbx, r14
lea rcx, [rbp - 0x41]
mov rdi, rbx
sar rdi, 3
mov rdx, rdi
call fcn.1800c02c0
mov r8, rbx
mov rdx, r14
mov rbx, qword [rbp - 0x41]
mov rcx, rbx
call fcn.1801480b0
lea rax, [rbx + rdi*8]
mov qword [rbp - 0x39], rax
mov rax, qword [0x1801ebaf8]
mov r9d, reloc.WS2_32.dll_ntohs
mov r14, qword [rsp + 0x120]
mov r8, rsi
mov dword [rbp - 0x69], 0x2522383d
mov byte [rbp - 0x65], WSAStartup
mov rcx, qword [rax + 0x3eb0]
mov eax, 5
movss xmm0, dword [rcx + 0x20]
mov rcx, rsi
subss xmm0, dword [0x1801b3078]
mov qword [rbp - 1], rsi
mov qword [rbp + 0x17], r9
mov qword [rbp + 0xf], rax
movss dword [rbp - 0x61], xmm0
movss xmm0, dword [0x1801b3128]
movss dword [rbp - 0x5d], xmm0
nop dword [rax + rax]
cmp rcx, 5
jae 0x1800ba483
movzx edx, byte [rbp + rcx - 0x69]
xor dl, 0x71
cmp rax, rcx
jbe 0x1800ba47d
cmp r9, 0x10
lea rax, [rbp - 1]
cmovae rax, r8
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 5
jge 0x1800b9f91
mov r9, qword [rbp + 0x17]
mov rax, qword [rbp + 0xf]
mov r8, qword [rbp - 1]
jmp 0x1800b9f50
cmp qword [rbp + 0x17], 0x10
lea rax, [rbp - 0x41]
mov r8, qword [rbp - 0x61]
lea rdx, [rbp - 1]
cmovae rdx, qword [rbp - 1]
mov qword [rsp + 0x20], rax
call fcn.180015fe0
lea rcx, [rbp - 1]
call fcn.18000da30
call fcn.180014e00
call fcn.1800275d0
movss xmm1, dword [0x1801b3188]
movaps xmm0, xmm9
call fcn.1800271d0
call fcn.1800274a0
mov rax, qword [0x1801f4048]
mov rdi, qword [0x1801f4040]
movsxd rcx, dword [0x1801ebf70]
sub rax, rdi
sar rax, 3
cmp rax, rcx
jbe 0x1800ba437
mov rdi, qword [rdi + rcx*8]
test rdi, rdi
je 0x1800ba437
mov rax, qword [0x1801ebaf8]
mov rdx, rdi
movss xmm0, dword [rax + 0x382c]
mulss xmm0, dword [0x1801b2fe0]
mov rcx, qword [rax + 0x3eb0]
movss xmm1, dword [rcx + 0x20]
subss xmm1, xmm0
mulss xmm1, dword [0x1801b2f0c]
movaps xmm0, xmm1
unpcklps xmm0, xmm9
movq r8, xmm0
call fcn.180014490
xor r8d, r8d
mov dword [rbp - 0x61], 0x6c7a6b48
mov r9d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x41], r8
mov eax, reloc.WS2_32.dll_listen
mov qword [rbp - 0x29], r9
mov qword [rbp - 0x31], rax
mov rcx, rsi
mov dword [rbp - 0x39], r8d
mov word [rbp - 0x35], r8w
mov dword [rbp - 0x5d], 0x75523b75
mov dword [rbp - 0x59], 0x7e7f7268
mov byte [rbp - 0x55], reloc.WLDAP32.dll_Ordinal_27
nop
cmp rcx, 0xd
jae 0x1800ba477
movzx edx, byte [rbp + rcx - 0x61]
xor dl, 0x1b
cmp rax, rcx
jbe 0x1800ba471
cmp r9, 0x10
lea rax, [rbp - 0x41]
cmovae rax, r8
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 0xd
jge 0x1800ba0d1
mov r9, qword [rbp - 0x29]
mov rax, qword [rbp - 0x31]
mov r8, qword [rbp - 0x41]
jmp 0x1800ba090
cmp qword [rbp - 0x29], 0x10
lea rcx, [rbp - 0x41]
lea rdx, [0x1801ebe8e]
mov byte [rsp + 0x20], sil
cmovae rcx, qword [rbp - 0x41]
xor r9d, r9d
xor r8d, r8d
call fcn.180044ef0
lea rcx, [rbp - 0x41]
call fcn.18000da30
movdqa xmm0, xmmword [0x1801b4d70]
lea rcx, [rbp - 0x21]
mov r9d, reloc.WS2_32.dll_recv
mov qword [rbp - 0x21], rsi
mov edx, r9d
mov qword [rbp - 0x11], rsi
xor r8d, r8d
mov qword [rbp - 9], reloc.WS2_32.dll_ntohs
movdqu xmmword [rbp - 0x61], xmm0
mov byte [rsp + 0x20], sil
call fcn.180016700
mov rcx, rsi
cmp rcx, 0x10
jae 0x1800ba46b
movzx edx, byte [rbp + rcx - 0x61]
xor dl, 0x66
cmp qword [rbp - 0x11], rcx
jbe 0x1800ba465
cmp qword [rbp - 9], 0x10
lea rax, [rbp - 0x21]
cmovae rax, qword [rbp - 0x21]
mov byte [rax + rcx], dl
inc rcx
cmp rcx, 0x10
jl 0x1800ba13d
cmp qword [rbp - 9], 0x10
lea rcx, [rbp - 0x21]
lea rdx, [0x1801ebaf5]
mov byte [rsp + 0x20], sil
cmovae rcx, qword [rbp - 0x21]
xor r9d, r9d
xor r8d, r8d
call fcn.180044ef0
lea rcx, [rbp - 0x21]
call fcn.18000da30
mov rdx, qword [0x1801ebaf8]
call fcn.180027320
movss xmm2, dword [rdx + 0x3820]
mov r9d, reloc.WS2_32.dll_ntohs
addss xmm2, xmm2
movss dword [rbp - 0x61], xmm0
mov eax, 6
mov dword [rbp - 0x69], 0x485e4f6c
mov word [rbp - 0x65], 0x3f51
mov r8, rsi
mov rcx, rsi
addss xmm2, dword [rdx + 0x3c10]
mov qword [rbp - 1], rsi
mov qword [rbp + 0x17], r9
mov qword [rbp + 0xf], rax
movss dword [rbp - 0x5d], xmm2
cmp rcx, 6
jae 0x1800ba45f
movzx edx, byte [rbp + rcx - 0x69]
xor dl, 0x3f
cmp rax, rcx
jbe 0x1800ba459
cmp r9, 0x10
lea rax, [rbp - 1]
cmovae rax, r8
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 6
jge 0x1800ba232
mov r9, qword [rbp + 0x17]
mov rax, qword [rbp + 0xf]
mov r8, qword [rbp - 1]
jmp 0x1800ba1f1
cmp qword [rbp + 0x17], 0x10
lea rcx, [rbp - 1]
lea rdx, [rbp - 0x61]
cmovae rcx, qword [rbp - 1]
call fcn.180043ea0
lea rcx, [rbp - 1]
movzx ebx, al
call fcn.18000da30
test bl, bl
je 0x1800ba432
mov r9, qword [0x1801ebbc0]
test r9, r9
jne 0x1800ba3a4
movdqa xmm0, xmmword [0x1801b3220]
lea rdx, [0x1801a7088]
xor r8d, r8d
mov qword [rbp - 0x41], rsi
lea rcx, [rbp - 0x41]
movdqu xmmword [rbp - 0x31], xmm0
call fcn.18000da90
movdqa xmm0, xmmword [0x1801b3d00]
lea rcx, [rbp - 0x21]
mov r9d, reloc.WS2_32.dll_sendto
mov dword [rbp - 0x51], 0x7a1f171b
mov edx, r9d
mov qword [rbp - 0x21], rsi
xor r8d, r8d
mov qword [rbp - 0x11], rsi
movdqu xmmword [rbp - 0x61], xmm0
mov qword [rbp - 9], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x20], sil
call fcn.180016700
mov rcx, rsi
cmp rcx, 0x14
jae 0x1800ba453
movzx edx, byte [rbp + rcx - 0x61]
xor dl, 0x7a
cmp qword [rbp - 0x11], rcx
jbe 0x1800ba44d
cmp qword [rbp - 9], 0x10
lea rax, [rbp - 0x21]
cmovae rax, qword [rbp - 0x21]
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 0x14
jl 0x1800ba2d6
cmp qword [rbp - 9], 0x10
lea rdx, [rbp - 0x21]
movdqa xmm0, xmmword [0x1801b3220]
mov r8, 0xffffffffffffffff
cmovae rdx, qword [rbp - 0x21]
mov qword [rbp - 1], rsi
movdqu xmmword [rbp + 0xf], xmm0
nop
inc r8
cmp byte [rdx + r8], sil
jne 0x1800ba330
lea rcx, [rbp - 1]
call fcn.18000da90
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x61]
call fcn.180013b30
mov rcx, rax
call fcn.180012990
lea rcx, [rbp - 1]
call fcn.18000da30
lea rcx, [rbp - 0x41]
call fcn.18000da30
lea rcx, [rbp - 0x21]
call fcn.18000da30
mov rbx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.180146940
lea r11, [rsp + 0x100]
mov rsi, qword [r11 + 0x28]
movaps xmm9, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret
movzx r8d, byte [rdi]
test r8b, r8b
je 0x1800ba3e4
nop dword [rax]
movzx edx, r8b
lea rdi, [rdi + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [rdi]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, esi
imul esi, eax, 0x401
mov eax, esi
shr eax, 6
xor esi, eax
test r8b, r8b
jne 0x1800ba3b0
mov eax, dword [r9 + 0x98]
lea ecx, [rsi + rsi*8]
movsd xmm1, qword [r9 + 0x90]
mov dword [rbp - 0x59], eax
mov eax, ecx
shr eax, 0xb
xor eax, ecx
lea rcx, [rbp - 1]
imul eax, eax, 0x8001
mov dword [rbp - 0x55], eax
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_152aa604dd32b9abebfc0e2253687fad___void___.0
movups xmm0, xmmword [rbp - 0x61]
mov qword [rbp - 1], rax
lea rax, [rbp - 1]
mov qword [rbp + 0x37], rax
movsd xmm0, xmm1
movups xmmword [rbp + 7], xmm0
call fcn.18005cc60
call fcn.180014e00
call fcn.1800275d0
jmp 0x1800ba372
call fcn.1800c26d0
int3
call fcn.1800c22c0
int3
call fcn.1800c26d0
int3
call fcn.1800c22c0
int3
call fcn.1800c26d0
int3
call fcn.1800c22c0
int3
call fcn.1800c26d0
int3
call fcn.1800c22c0
int3
call fcn.1800c26d0
int3
call fcn.1800c22c0
int3
call fcn.1800c26d0
int3
call fcn.1800c22c0
int3
call fcn.1800c26d0
int3
call fcn.1800c22c0
int3
add rcx, 8
jmp 0x1800b9c90