Function at 0x14000fed0
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1400d51c0]
xor rax, rsp
mov qword [rbp + 0x68], rax
cmp qword [rcx + 0x18], 0xf
jbe 0x14000fef6
mov rcx, qword [rcx]
mov r8d, 2
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.140015060
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x3c], edx
cmp qword [rbp - 0x38], 0
je 0x1400101a7
xor edx, edx
mov cl, Ordinal_79
call fcn.140004410
mov byte [rbp + 0x50], al
mov edx, 1
mov cl, 0x56
call fcn.140004410
mov byte [rbp + 0x51], al
mov edx, 2
mov cl, 0x49
call fcn.140004410
mov byte [rbp + 0x52], al
mov edx, 3
mov cl, 0x44
call fcn.140004410
mov byte [rbp + 0x53], al
mov edx, 4
mov cl, 0x49
call fcn.140004410
mov byte [rbp + 0x54], al
mov edx, 5
mov cl, 0x41
call fcn.140004410
mov byte [rbp + 0x55], al
mov edx, 6
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140004410
mov byte [rbp + 0x56], al
mov edx, 7
mov cl, 0x45
call fcn.140004410
mov byte [rbp + 0x57], al
mov edx, 8
mov cl, 0x4d
call fcn.140004410
mov byte [rbp + 0x58], al
mov edx, 9
mov cl, 0x55
call fcn.140004410
mov byte [rbp + 0x59], al
mov edx, 0xa
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140004410
mov byte [rbp + 0x5a], al
mov edx, ntohl
mov cl, 0x53
call fcn.140004410
mov byte [rbp + 0x5b], al
mov edx, ntohl
mov cl, 0x55
call fcn.140004410
mov byte [rbp + 0x5c], al
mov edx, reloc.WS2_32.dll_listen
mov cl, 0x43
call fcn.140004410
mov byte [rbp + 0x5d], al
mov edx, reloc.WS2_32.dll_ntohl
call fcn.140004410
mov byte [rbp + 0x5e], al
mov edx, reloc.WS2_32.dll_ntohs
mov cl, 0x45
call fcn.140004410
mov byte [rbp + 0x5f], al
mov edx, reloc.WS2_32.dll_recv
mov cl, 0x53
call fcn.140004410
mov byte [rbp + 0x60], al
mov edx, reloc.WS2_32.dll_recvfrom
call fcn.140004410
mov byte [rbp + 0x61], al
xor eax, eax
mov byte [rbp + 0x62], al
movdqa xmm2, xmmword [0x1400c07b0]
movdqa xmm0, xmmword [0x1400c0860]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm3, xmmword [0x1400c0830]
mov r8d, dword [rsp + 0x30]
nop dword [rax + rax]
movsxd rdx, eax
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rbp + rdx + 0x50]
xorps xmm1, xmm0
movd dword [rbp + rdx + 0x50], xmm1
lea ecx, [rax + 4]
movd xmm1, ecx
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rbp + rdx + 0x54]
xorps xmm1, xmm0
movd dword [rbp + rdx + 0x54], xmm1
lea ecx, [rax + 8]
movd xmm1, ecx
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rbp + rdx + 0x58]
xorps xmm1, xmm0
movd dword [rbp + rdx + 0x58], xmm1
lea ecx, [rax + 0xc]
movd xmm1, ecx
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rbp + rdx + 0x5c]
xorps xmm1, xmm0
movd dword [rbp + rdx + 0x5c], xmm1
add eax, 0x10
cmp eax, 0x10
jb 0x140010070
cmp eax, 0x12
jae 0x140010166
nop dword [rax]
movsxd rcx, eax
lea rdx, [rbp + 0x50]
add rdx, rcx
lea ecx, [rax + 0x13]
xor byte [rdx], cl
inc eax
cmp eax, 0x12
jb 0x140010150
mov byte [rbp + 0x62], 0
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140016590
lea rcx, [rsp + 0x48]
call fcn.140015a90
test rax, rax
jne 0x1400101a7
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x40]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
lea rcx, [rsp + 0x40]
call fcn.140007380
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.1400a7070
add rsp, 0x170
pop rbp
ret