Function at 0x18005f0b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x18020ce50]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov rdi, rdx
xor r13d, r13d
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x50]
call fcn.180162730
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.180066550
nop
cmp qword [rbp + 0x40], r13
jne 0x18005f1e9
movdqa xmm1, xmmword [0x1801ea150]
movdqu xmmword [rsp + 0x30], xmm1
movdqa xmm2, xmmword [0x1801e9e20]
movdqu xmmword [rsp + 0x40], xmm2
mov dl, 0x7a
mov r8b, 0x60
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x40], al
xor byte [rsp + 0x41], cl
xor byte [rsp + 0x42], cl
xor byte [rsp + 0x43], cl
xor byte [rsp + 0x44], cl
xor byte [rsp + 0x45], cl
xor byte [rsp + 0x46], cl
xor byte [rsp + 0x47], cl
xor byte [rsp + 0x48], cl
xor byte [rsp + 0x49], cl
xor byte [rsp + 0x4a], cl
xor byte [rsp + 0x4b], cl
xor byte [rsp + 0x4c], cl
xor byte [rsp + 0x4d], cl
xor byte [rsp + 0x4e], cl
xor byte [rsp + 0x4f], cl
xor dl, cl
mov byte [rsp + 0x50], dl
xor r8b, cl
mov byte [rsp + 0x51], r8b
mov byte [rsp + 0x52], r13b
lea rdx, [rsp + 0x31]
jmp 0x18005f29f
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
cmp dword [rbp + rcx - 0x40], 0
je 0x18005f2d1
movdqa xmm1, xmmword [str.e_f_t]
movdqu xmmword [rsp + 0x58], xmm1
mov dl, 0x1d
mov r8b, listen
mov r9b, reloc.WS2_32.dll_shutdown
mov r10b, reloc.WS2_32.dll_recvfrom
mov r11b, 0x4b
mov bl, 0x45
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x59], al
xor byte [rsp + 0x5a], cl
xor byte [rsp + 0x5b], cl
xor byte [rsp + 0x5c], cl
xor byte [rsp + 0x5d], cl
xor byte [rsp + 0x5e], cl
xor byte [rsp + 0x5f], cl
xor byte [rsp + 0x60], cl
xor byte [rsp + 0x61], cl
xor byte [rsp + 0x62], cl
xor byte [rsp + 0x63], cl
xor byte [rsp + 0x64], cl
xor byte [rsp + 0x65], cl
xor byte [rsp + 0x66], cl
xor byte [rsp + 0x67], cl
xor dl, cl
mov byte [rsp + 0x68], dl
xor r8b, cl
mov byte [rsp + 0x69], r8b
xor r9b, cl
mov byte [rsp + 0x6a], r9b
xor r10b, cl
mov byte [rsp + 0x6b], r10b
xor r11b, cl
mov byte [rsp + 0x6c], r11b
xor bl, cl
mov byte [rsp + 0x6d], bl
mov byte [rsp + 0x6e], 0
lea rdx, [rsp + 0x59]
lea rcx, [0x1802b8af0]
call fcn.18000c8f0
cmp qword [rdi + 0x18], 0x10
mov r8, qword [rdi + 0x10]
jb 0x18005f2b9
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.180067e80
mov rcx, rax
call fcn.18000cbb0
jmp 0x18005f9ea
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
lea r12, [0x1801e97ba]
nop dword [rax + rax]
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx - 0x10]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x80], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x78]
call fcn.18000a000
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
mov dl, 0xa
mov rcx, rax
call r8
movzx ebx, al
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x18005f35d
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x18005f35d
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
movzx r8d, bl
lea rdx, [rbp + 0x100]
lea rcx, [rbp - 0x50]
call fcn.180068120
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x18005f990
lea rdi, [rbp + 0x100]
cmp qword [rbp + 0x118], 0x10
setae r15b
mov r14, qword [rbp + 0x100]
cmovae rdi, r14
mov rsi, qword [rbp + 0x110]
test rsi, rsi
je 0x18005f3ca
mov r8, rsi
mov edx, 0x3d
mov rcx, rdi
call fcn.180162cf0
mov rbx, rax
test rax, rax
je 0x18005f3ca
sub rbx, rdi
jmp 0x18005f3d1
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x18005f300
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], r13
mov r8, rbx
cmp rsi, rbx
cmovb r8, rsi
lea rdx, [rbp + 0x100]
test r15b, r15b
cmovne rdx, r14
lea rcx, [rbp + 0xe0]
call fcn.180006810
nop
inc rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], r13
mov rax, qword [rbp + 0x110]
cmp rax, rbx
jb 0x18005fa9f
sub rax, rbx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 0x10
cmovae rdx, qword [rbp + 0x100]
add rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.180006810
nop
lea rbx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0x10
setae r14b
mov rsi, qword [rbp + 0xe0]
cmovae rbx, rsi
mov rdi, qword [rbp + 0xf0]
test rdi, rdi
je 0x18005f4f9
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x120]
call fcn.180162730
lea rcx, [0x1801e97b8]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x120], 1
inc rcx
cmp rcx, r12
jne 0x18005f4c0
lea rcx, [rbx + rdi]
mov rdx, rbx
cmp rbx, rcx
jae 0x18005f4f9
nop
movzx eax, byte [rdx]
cmp byte [rbp + rax + 0x120], 0
je 0x18005f5bf
inc rdx
cmp rdx, rcx
jb 0x18005f4e0
mov rdx, 0xffffffffffffffff
cmp rdi, rdx
cmovb rdx, rdi
lea rcx, [rbp + 0xe0]
test r14b, r14b
cmovne rcx, rsi
sub rdi, rdx
lea r8, [rdi + 1]
add rdx, rcx
call fcn.180162090
mov qword [rbp + 0xf0], rdi
lea rbx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0x10
setae r14b
mov rsi, qword [rbp + 0xe0]
cmovae rbx, rsi
test rdi, rdi
je 0x18005f5c7
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x120]
call fcn.180162730
lea rcx, [0x1801e97b8]
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x120], 1
inc rcx
cmp rcx, r12
jne 0x18005f570
lea rax, [rdi - 1]
mov rcx, 0xffffffffffffffff
cmp rax, rcx
cmovb rcx, rax
add rcx, rbx
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x120], 0
je 0x18005f5ba
cmp rcx, rbx
je 0x18005f5c7
dec rcx
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x120], 0
jne 0x18005f5a5
sub rcx, rbx
jmp 0x18005f5ce
sub rdx, rbx
jmp 0x18005f500
mov rcx, 0xffffffffffffffff
inc rcx
cmp rdi, rcx
jb 0x18005fa99
lea rax, [rbp + 0xe0]
test r14b, r14b
cmovne rax, rsi
mov qword [rbp + 0xf0], rcx
mov byte [rax + rcx], 0
lea rbx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
setae r14b
mov rsi, qword [rbp + 0xc0]
cmovae rbx, rsi
mov rdi, qword [rbp + 0xd0]
test rdi, rdi
je 0x18005f679
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x120]
call fcn.180162730
lea rcx, [0x1801e97b8]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x120], 1
inc rcx
cmp rcx, r12
jne 0x18005f640
lea rcx, [rbx + rdi]
mov rdx, rbx
cmp rbx, rcx
jae 0x18005f679
nop
movzx eax, byte [rdx]
cmp byte [rbp + rax + 0x120], 0
je 0x18005f73f
inc rdx
cmp rdx, rcx
jb 0x18005f660
mov rdx, 0xffffffffffffffff
cmp rdi, rdx
cmovb rdx, rdi
lea rcx, [rbp + 0xc0]
test r14b, r14b
cmovne rcx, rsi
sub rdi, rdx
lea r8, [rdi + 1]
add rdx, rcx
call fcn.180162090
mov qword [rbp + 0xd0], rdi
lea rbx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
setae r14b
mov rsi, qword [rbp + 0xc0]
cmovae rbx, rsi
test rdi, rdi
je 0x18005f747
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x120]
call fcn.180162730
lea rcx, [0x1801e97b8]
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x120], 1
inc rcx
cmp rcx, r12
jne 0x18005f6f0
lea rcx, [rdi - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
add rax, rbx
movzx ecx, byte [rax]
cmp byte [rbp + rcx + 0x120], 0
je 0x18005f73a
cmp rax, rbx
je 0x18005f747
dec rax
movzx ecx, byte [rax]
cmp byte [rbp + rcx + 0x120], 0
jne 0x18005f725
sub rax, rbx
jmp 0x18005f74e
sub rdx, rbx
jmp 0x18005f680
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
cmp rdi, rcx
jb 0x18005fa99
lea rax, [rbp + 0xc0]
test r14b, r14b
cmovne rax, rsi
mov qword [rbp + 0xd0], rcx
mov byte [rax + rcx], 0
lea rdx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0x10
cmovae rdx, qword [rbp + 0xe0]
movabs r9, 0xcbf29ce484222325
mov rcx, r13
mov r8, qword [rbp + 0xf0]
test r8, r8
je 0x18005f7ca
movabs r12, 0x100000001b3
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, r8
jb 0x18005f7b0
lea r12, [0x1801e97ba]
lea r8, [rbp + 0xe0]
lea rdx, [rbp - 0x78]
lea rcx, [0x1802b16e0]
call fcn.180067db0
cmp qword [rax + 8], 0
jne 0x18005f86d
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x30], 0
lea r8, [rbp + 0xe0]
lea rdx, [rbp - 0x68]
lea rcx, [0x1802b16e0]
call fcn.180067630
mov rcx, qword [rax]
add rcx, 0x30
lea rdx, [rsp + 0x30]
call fcn.180005cb0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18005f86d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f868
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa87
call fcn.18015c42c
lea r8, [rbp + 0xe0]
lea rdx, [rsp + 0x58]
lea rcx, [0x1802b16e0]
call fcn.180067630
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rbp + 0xc0]
cmp rcx, rax
je 0x18005f8ec
mov rbx, qword [rbp + 0xd0]
lea r9, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
cmovae r9, qword [rbp + 0xc0]
mov rax, qword [rcx + 0x18]
cmp rbx, rax
ja 0x18005f8e3
mov rdi, rcx
cmp rax, 0x10
jb 0x18005f8cb
mov rdi, qword [rcx]
mov qword [rcx + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.180162090
mov byte [rbx + rdi], 0
jmp 0x18005f8ec
mov rdx, rbx
call fcn.180006aa0
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x18005f92d
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f928
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa8d
call fcn.18015c42c
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xc0], 0
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x18005f300
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f986
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa93
call fcn.18015c42c
jmp 0x18005f300
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x18005f9d1
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f9cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa81
call fcn.18015c42c
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x54], edx
lea rcx, [rbp - 0x40]
call fcn.180008b80
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x54], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x60]
call fcn.18015b264
nop
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.18015c050
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180167118
nop
call fcn.180167118
nop
call fcn.180167118
nop
call fcn.180167118
nop
call fcn.180009fe0
nop
call fcn.180009fe0
int3