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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffe0
mov rbx, rsp
mov qword [rbx + 0x128], rbp
mov qword [rbp + 0xb0], 0xfffffffffffffffe
mov r13, rdx
mov rdi, rcx
call fcn.140138340
test al, al
je 0x140138b4f
movabs rax, 0x835289e9d083889
mov qword [rbx + 0x20], rax
mov rcx, qword [rbx + 0x20]
movabs rcx, 0x6c93aba38a785428
mov qword [rbx + 0x28], rcx
mov rdx, qword [rbx + 0x28]
movabs r15, 0x645106f2f16c4ce7
mov qword [rbx + 0x70], r15
mov rdx, qword [rbx + 0x70]
movabs r12, 0x6c93aba38a785444
mov qword [rbx + 0x78], r12
mov rdx, qword [rbx + 0x78]
mov qword [rbx + 0x20], rax
mov rax, qword [rbx + 0x20]
mov qword [rbx + 0x28], rcx
mov rax, qword [rbx + 0x28]
movdqa xmm0, xmmword [rbx + 0x20]
pxor xmm0, xmmword [rbx + 0x70]
movdqa xmmword [rbx + 0x20], xmm0
movd ecx, xmm0
mov eax, 0x811c9dc5
test cl, cl
je 0x1401387d5
lea rdx, [rbx + 0x21]
nop
movsx ecx, cl
imul eax, eax, 0x1000193
xor eax, ecx
movzx ecx, byte [rdx]
inc rdx
test cl, cl
jne 0x1401387c0
mov dword [rbx + 0x5c], eax
movzx ecx, al
movabs rdx, 0xcbf29ce484222325
xor rdx, rcx
movabs r8, 0x100000001b3
imul rdx, r8
movzx ecx, ah
xor rcx, rdx
imul rcx, r8
mov edx, eax
shr edx, 0x10
movzx esi, dl
xor rsi, rcx
imul rsi, r8
mov edx, eax
shr edx, 0x18
xor rdx, rsi
imul rdx, r8
and rdx, qword [rdi + 0x58]
mov rsi, qword [rdi + 0x40]
mov rcx, rdx
shl rcx, 4
mov rcx, qword [rsi + rcx + 8]
cmp rcx, qword [rdi + 0x30]
je 0x1401388a9
cmp eax, dword [rcx + 0x10]
je 0x14013885e
add rdx, rdx
mov rdx, qword [rsi + rdx*8]
nop word cs:[rax + rax]
cmp rcx, rdx
je 0x1401388a9
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x140138850
add rdi, 0x28
lea rdx, [rbx + 0x20]
lea r8, [rbx + 0x5c]
mov rcx, rdi
call fcn.140139680
mov rsi, qword [rbx + 0x20]
movups xmm0, xmmword [rsi + 0x18]
movaps xmmword [rbx + 0x70], xmm0
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x80], eax
xorps xmm0, xmm0
movups xmmword [rbx + 0x88], xmm0
movups xmmword [rbx + 0x98], xmm0
mov rdi, qword [rsi + 0x40]
cmp qword [rsi + 0x48], 0x10
jb 0x1401388e4
mov r14, qword [rsi + 0x30]
jmp 0x1401388e8
pxor xmm0, xmm0
movdqa xmmword [rbx + 0xc0], xmm0
mov qword [rbx + 0xd0], 0
mov qword [rbx + 0xd8], reloc.WS2_32.dll_ntohs
lea r8, [rbx + 0xc0]
mov rcx, r13
mov edx, 0xf7a17e83
call fcn.1401376e0
jmp 0x140138b4f
lea r14, [rsi + 0x30]
test rdi, rdi
js 0x140138b64
cmp rdi, 0xf
ja 0x140138919
lea rax, [rbx + 0x88]
mov qword [rbx + 0x98], rdi
mov qword [rbx + 0xa0], reloc.WS2_32.dll_ntohs
movups xmm0, xmmword [r14]
movups xmmword [rax], xmm0
jmp 0x140138987
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r15d, reloc.WS2_32.dll_shutdown
cmovae r15, rax
cmp r15, 0xfff
jb 0x14013894e
lea rcx, [r15 + 0x28]
call fcn.140140ff0
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14013895a
lea rcx, [r15 + 1]
call fcn.140140ff0
mov rcx, rax
mov qword [rbx + 0x88], rcx
mov qword [rbx + 0x98], rdi
mov qword [rbx + 0xa0], r15
inc rdi
mov rdx, r14
mov r8, rdi
call fcn.14021e3b0
movabs r15, 0x645106f2f16c4ce7
mov rax, qword [rsi + 0x50]
mov qword [rbx + 0xa8], rax
movabs rax, 0x23f4f86943f38a9
mov qword [rbx + 0x20], rax
mov rcx, qword [rbx + 0x20]
movabs rcx, 0x2fcc2d7eb15262b
mov qword [rbx + 0x28], rcx
mov rdx, qword [rbx + 0x28]
movabs rdx, 0x51463771bdcff665
mov qword [rbx + 0x30], rdx
mov rdi, qword [rbx + 0x30]
movabs rdi, 0xbe3549c975e3786e
mov qword [rbx + 0x38], rdi
mov rsi, qword [rbx + 0x38]
mov qword [rbx + 0x60], r15
mov rsi, qword [rbx + 0x60]
mov qword [rbx + 0x68], r12
mov rsi, qword [rbx + 0x68]
movabs rsi, 0x51465310d8bd9e31
mov qword [rbx + 0xb0], rsi
mov rsi, qword [rbx + 0xb0]
mov qword [rbx + 0xb8], rdi
mov rsi, qword [rbx + 0xb8]
mov qword [rbx + 0x20], rax
mov rax, qword [rbx + 0x20]
mov qword [rbx + 0x28], rcx
mov rax, qword [rbx + 0x28]
mov qword [rbx + 0x30], rdx
mov rax, qword [rbx + 0x30]
mov qword [rbx + 0x38], rdi
mov rax, qword [rbx + 0x38]
movdqa xmm0, xmmword [rbx + 0x20]
movaps xmm1, xmmword [rbx + 0x30]
pxor xmm0, xmmword [rbx + 0x60]
xorps xmm1, xmmword [rbx + 0xb0]
movdqa xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x30], xmm1
movd eax, xmm0
mov edx, 0x811c9dc5
test al, al
je 0x140138a75
lea rcx, [rbx + 0x21]
nop
movsx eax, al
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [rcx]
inc rcx
test al, al
jne 0x140138a60
lea rcx, [rbx + 0x70]
call fcn.140137260
test rax, rax
je 0x140138ad8
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, reloc.WS2_32.dll_recvfrom
xor r8d, r8d
xor r9d, r9d
call rdi
test eax, eax
jns 0x140138b0e
pxor xmm0, xmm0
movdqa xmmword [rbx + 0x100], xmm0
mov qword [rbx + 0x110], 0
mov qword [rbx + 0x118], reloc.WS2_32.dll_ntohs
lea r8, [rbx + 0x100]
mov rcx, r13
mov edx, 0x645dface
call fcn.1401376e0
jmp 0x140138b0e
pxor xmm0, xmm0
movdqa xmmword [rbx + 0xe0], xmm0
mov qword [rbx + 0xf0], 0
mov qword [rbx + reloc.WS2_32.dll_ntohs8], 0xf
lea r8, [rbx + 0xe0]
mov rcx, r13
mov edx, 0xd013647d
call fcn.1401376e0
mov rax, qword [rbx + 0xa0]
cmp rax, 0x10
jb 0x140138b4f
mov rcx, qword [rbx + 0x88]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140138b4a
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x140138b69
add rax, 0x28
mov rdx, rax
mov rcx, rdi
call fcn.140141034
nop
lea rsp, [rbp + 0xb8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1400026a0
call fcn.140231990
int3