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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov byte [rax + 0x18], r8b
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x198
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rbx, rcx
xor r14d, r14d
mov dword [rsp + 0x28], r14d
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1337c0e86060
mov rax, qword [rbx]
cmp word [rax + rcx*2 - 2], 0x5c
je 0x1337c0e86060
test r9, r9
je 0x1337c0e85626
cmp byte [r9], r14b
jne 0x1337c0e86060
mov byte [rbp + 0xe0], 1
lea rcx, [rbp + 0x28]
call fcn.1337c0e81270
nop
mov r8, qword [rbx + 8]
add r8, r8
mov rdx, qword [rbx]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea rax, [rdx + r8]
cmp rdx, rax
jne 0x1337c0e85671
movdqa xmm0, xmmword [0x1337c11f4bc0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r14w
jmp 0x1337c0e8567f
sar r8, 1
lea rcx, [rsp + 0x50]
call fcn.1337c0e7d600
nop
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x28]
call fcn.1337c0e815d0
nop
cmp qword [rsp + 0x68], 7
jbe 0x1337c0e85720
mov r10, qword [rsp + 0x50]
test r10, r10
je 0x1337c0e85720
dec r10
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete dl
mov r9, qword [rsp + 0x50]
mov rax, r9
sub rax, r10
shr rax, 0x10
lea rax, [rax + rax*4]
shl rax, 4
lea rcx, [r10 + 0x108]
add rcx, rax
mov eax, dword [rcx + 4]
sub rcx, rax
test dl, dl
je 0x1337c0e85712
cmp byte [rcx + 0xe], 0
jne 0x1337c0e8570d
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e85720
call fcn.1337c0ee0230
jmp 0x1337c0e85720
mov r8b, 1
jmp 0x1337c0e85715
xor r8d, r8d
mov rdx, rcx
mov rcx, r10
call fcn.1337c0edf330
lea rcx, [rbp]
call fcn.1337c0e81270
nop
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov eax, setsockopt
cmp byte [rax + rdi], 0
jne 0x1337c0e85746
call fcn.1337c0fd6438
mov eax, 0x138
mov rdi, qword [rax + rdi]
mov rcx, qword [rdi + 0x258]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e85797
xor r9d, r9d
xor r8d, r8d
mov edx, 0x250
mov rcx, rdi
call fcn.1337c0ee0960
mov rbx, rax
test rax, rax
jne 0x1337c0e857a1
xor r8d, r8d
mov edx, 0x250
mov rcx, rdi
call fcn.1337c0edf7d0
mov rbx, rax
test rax, rax
jne 0x1337c0e857a1
mov rbx, r14
jmp 0x1337c0e857b1
inc dword [rcx + 0x18]
mov rax, qword [rbx]
mov qword [rcx + 0x10], rax
xor edx, edx
mov r8d, 0x250
mov rcx, rbx
call fcn.1337c10051f0
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x2c], 1
nop
mov rcx, qword [rbp + 0x38]
dec rcx
and rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax + rcx*8]
movups xmm7, xmmword [rdx]
movups xmmword [rsp + 0x50], xmm7
movups xmm6, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x60], xmm6
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 7
mov word [rdx], r14w
mov rcx, qword [rbp + 0x38]
dec rcx
and rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax + rcx*8]
call fcn.1337c0e6bd20
sub qword [rbp + 0x48], 1
jne 0x1337c0e85819
mov qword [rbp + 0x40], r14
jmp 0x1337c0e8581d
inc qword [rbp + 0x40]
movabs rcx, 0x3ffffffffffffffe
mov rax, rcx
movq r13, xmm6
mov qword [rbp - 0x68], r13
sub rax, r13
cmp rax, 2
jb 0x1337c0e86086
lea r12, [rsp + 0x50]
psrldq xmm6, 8
movq rsi, xmm6
cmp rsi, 7
seta byte [rbp - 0x70]
movq r10, xmm7
mov qword [rsp + 0x50], r10
cmova r12, r10
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
lea r15, [r13 + 2]
mov edi, 7
lea r14, [rsp + 0x70]
cmp r15, rdi
jbe 0x1337c0e858bc
mov rdi, r15
or rdi, 7
cmp rdi, rcx
jbe 0x1337c0e85899
mov rdi, rcx
jmp 0x1337c0e858a6
cmp rdi, 0xa
mov eax, 0xa
cmovb rdi, rax
lea rcx, [rdi + 1]
mov edx, 2
call fcn.1337c0edf950
mov r14, rax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], rdi
add r13, r13
mov qword [rbp + 0x50], r13
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.1337c1004b50
mov dword [r14 + r13], 0x2a005c
xor eax, eax
mov word [r14 + r15*2], ax
or dword [rsp + 0x28], 2
lea rdi, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova rdi, qword [rsp + 0x70]
mov dword [rbp - 0x5c], recv
mov dword [rbp - 0x60], 0xd3848231
mov dword [rbp - 0x54], reloc.SHLWAPI.dll_SHCreateMemStream
mov dword [rbp - 0x58], 0xa585211d
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x58]
call fcn.1337c0e9a1a0
mov rdx, rbx
mov rcx, rdi
call rax
mov rdi, rax
mov qword [rbp + 0x58], rax
cmp rax, 0xffffffffffffffff
jne 0x1337c0e85aac
cmp qword [rbp - 0x78], 7
jbe 0x1337c0e859de
mov r10, qword [rsp + 0x70]
test r10, r10
je 0x1337c0e859de
dec r10
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete cl
mov r9, qword [rsp + 0x70]
mov rax, r9
sub rax, r10
shr rax, 0x10
lea rax, [rax + rax*4]
shl rax, 4
lea rdx, [r10 + 0x108]
add rdx, rax
mov eax, dword [rdx + 4]
sub rdx, rax
test cl, cl
je 0x1337c0e859c9
cmp byte [rdx + 0xe], 0
jne 0x1337c0e859c4
mov rax, qword [rdx + 0x20]
mov qword [r9], rax
mov qword [rdx + 0x20], r9
add dword [rdx + 0x18], 0xffffffff
jne 0x1337c0e859d4
mov rcx, rdx
call fcn.1337c0ee0230
jmp 0x1337c0e859d4
mov r8b, 1
jmp 0x1337c0e859cc
xor r8d, r8d
mov rcx, r10
call fcn.1337c0edf330
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x20]
xor r14d, r14d
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r14w
cmp rsi, 7
jbe 0x1337c0e85e18
mov r10, qword [rsp + 0x50]
test r10, r10
je 0x1337c0e85e18
dec r10
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete dl
mov r9, qword [rsp + 0x50]
mov rax, r9
sub rax, r10
shr rax, 0x10
lea rax, [rax + rax*4]
shl rax, 4
lea rcx, [r10 + 0x108]
add rcx, rax
mov eax, dword [rcx + 4]
sub rcx, rax
test dl, dl
je 0x1337c0e85a94
cmp byte [rcx + 0xe], r14b
jne 0x1337c0e85a7c
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e85aa2
call fcn.1337c0ee0230
mov rbx, qword [rsp + 0x20]
jmp 0x1337c0e85e18
mov r8b, 1
mov rdx, rcx
mov rcx, r10
call fcn.1337c0edf330
mov rbx, qword [rsp + 0x20]
jmp 0x1337c0e85e18
xor r8d, r8d
mov rdx, rcx
mov rcx, r10
call fcn.1337c0edf330
mov rbx, qword [rsp + 0x20]
jmp 0x1337c0e85e18
lea r13, [rbx + 0x2c]
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp word [r13 + rsi*2], 0
jne 0x1337c0e85ac0
cmp rsi, 1
jne 0x1337c0e85b09
mov rdx, rsi
lea rax, [0x1337c11ceec0]
mov rcx, rax
test rsi, rsi
je 0x1337c0e85d89
mov r8, r13
sub r8, rax
nop
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x1337c0e85b09
add rcx, 2
sub rdx, 1
jne 0x1337c0e85af0
jmp 0x1337c0e85d89
cmp rsi, 2
jne 0x1337c0e85b49
mov rdx, rsi
test rsi, rsi
je 0x1337c0e85d89
mov r8, r13
lea rax, [0x1337c11ceec4]
sub r8, rax
mov rcx, rax
nop dword [rax + rax]
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x1337c0e85b49
add rcx, 2
sub rdx, 1
jne 0x1337c0e85b30
jmp 0x1337c0e85d89
lea r12, [rsp + 0x50]
cmp byte [rbp - 0x70], 0
cmovne r12, qword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov r15, qword [rbp - 0x68]
inc r15
mov edi, 7
lea r14, [rsp + 0x30]
cmp r15, rdi
jbe 0x1337c0e85bc0
mov rdi, r15
or rdi, 7
movabs rax, 0x3ffffffffffffffe
cmp rdi, rax
jbe 0x1337c0e85b9d
mov rdi, rax
jmp 0x1337c0e85baa
cmp rdi, 0xa
mov eax, 0xa
cmovb rdi, rax
lea rcx, [rdi + 1]
mov edx, 2
call fcn.1337c0edf950
mov r14, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rdi
mov rdi, qword [rbp + 0x50]
mov r8, rdi
mov rdx, r12
mov rcx, r14
call fcn.1337c1004b50
mov word [r14 + rdi], 0x5c
xor eax, eax
mov word [r14 + r15*2], ax
or dword [rsp + 0x28], 1
mov r8, rsi
mov rdx, r13
lea rcx, [rsp + 0x30]
call fcn.1337c0e8b320
mov eax, dword [rbx]
test al, 1
je 0x1337c0e85c4b
and eax, 0xfffffffe
mov dword [rbx], eax
lea rdi, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rdi, qword [rsp + 0x30]
mov dword [rbp - 0x4c], setsockopt
mov dword [rbp - 0x50], 0x968f595b
mov dword [rbp - 0x44], reloc.SHLWAPI.dll_SHCreateMemStream
mov dword [rbp - 0x48], 0xa585211d
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x48]
call fcn.1337c0e9a1a0
mov edx, dword [rbx]
mov rcx, rdi
call rax
mov rax, qword [rbp + 0xe8]
mov r9, qword [rax]
mov r10, qword [rax + 8]
cmp r9, r10
je 0x1337c0e85ca9
nop
mov eax, dword [r9 + 4]
cmp rax, rsi
jne 0x1337c0e85ca0
mov r8d, 0xbf41bdf
test esi, esi
je 0x1337c0e85c97
mov rax, r13
mov edx, esi
nop dword [rax + rax]
movzx ecx, word [rax]
xor ecx, r8d
imul r8d, ecx, 0x1000193
lea rax, [rax + 2]
sub rdx, 1
jne 0x1337c0e85c80
cmp dword [r9], r8d
je 0x1337c0e85d66
add r9, 8
cmp r9, r10
jne 0x1337c0e85c60
test byte [rbx], 0x10
je 0x1337c0e85cc5
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x28]
call fcn.1337c0e815d0
inc dword [rsp + 0x2c]
jmp 0x1337c0e85d66
lea rdi, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rdi, qword [rsp + 0x30]
mov dword [rbp - 0x3c], recv
mov dword [rbp - 0x40], 0x614ff787
mov dword [rbp - 0x34], reloc.SHLWAPI.dll_SHCreateMemStream
mov dword [rbp - 0x38], 0xa585211d
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x38]
call fcn.1337c0e9a1a0
mov rcx, rdi
call rax
and byte [rbp + 0xe0], al
jne 0x1337c0e85d66
cmp byte [rbp + 0xf0], 0
je 0x1337c0e85d66
mov rax, qword gs:[0x68]
cmp eax, 2
je 0x1337c0e85d58
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rax, qword [rsp + 0x30]
mov qword [rbp + 0x60], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov rdx, qword [rbp + 0xf8]
lea rcx, [rbp + 0x60]
call fcn.1337c0e866c0
mov byte [rbp + 0xe0], 0
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x68], rax
mov rbx, qword [rsp + 0x20]
mov rax, qword [rbp + 0xf8]
test rax, rax
je 0x1337c0e85d7b
cmp byte [rax], 0
jne 0x1337c0e85f76
lea rcx, [rsp + 0x30]
call fcn.1337c0e6bd20
mov rdi, qword [rbp + 0x58]
mov dword [rbp - 0x2c], recv
mov dword [rbp - 0x30], 0x7a6276e4
mov dword [rbp - 0x24], reloc.SHLWAPI.dll_SHCreateMemStream
mov dword [rbp - 0x28], 0xa585211d
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.1337c0e9a1a0
mov rdx, rbx
mov rcx, rdi
call rax
test rax, rax
jne 0x1337c0e85ab0
mov dword [rbp - 0x1c], 9
mov dword [rbp - 0x20], 0x7d2a17f8
mov dword [rbp - 0x14], reloc.SHLWAPI.dll_SHCreateMemStream
mov dword [rbp - 0x18], 0xa585211d
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x18]
call fcn.1337c0e9a1a0
mov rcx, rdi
call rax
lea rdx, [rsp + 0x50]
lea rcx, [rbp]
call fcn.1337c0e815d0
nop
lea rcx, [rsp + 0x70]
call fcn.1337c0e6bd20
nop
lea rcx, [rsp + 0x50]
call fcn.1337c0e6bd20
xor r14d, r14d
add dword [rsp + 0x2c], 0xffffffff
jne 0x1337c0e857c0
mov rcx, qword [rbp + 0x20]
cmp rcx, 1
jbe 0x1337c0e85fbe
mov rax, qword [rbp + 0x18]
dec rax
add rcx, rax
mov rdx, qword [rbp + 0x10]
dec rdx
and rdx, rcx
mov rax, qword [rbp + 8]
mov rcx, qword [rax + rdx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], 7
mov word [rcx], r14w
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x18]
dec rax
add rdx, rax
mov rcx, qword [rbp + 0x10]
dec rcx
and rcx, rdx
mov rax, qword [rbp + 8]
mov rcx, qword [rax + rcx*8]
call fcn.1337c0e6bd20
sub qword [rbp + 0x20], 1
jne 0x1337c0e85eb0
mov qword [rbp + 0x18], r14
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rbx, qword [rsp + 0x30]
mov dword [rbp - 0xc], reloc.WS2_32.dll_recv
mov dword [rbp - 0x10], 0xb2d1dc8f
mov dword [rbp - 4], reloc.SHLWAPI.dll_SHCreateMemStream
mov dword [rbp - 8], 0xa585211d
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 8]
call fcn.1337c0e9a1a0
mov rcx, rbx
call rax
nop
cmp qword [rsp + 0x48], 7
jbe 0x1337c0e85fab
mov r10, qword [rsp + 0x30]
test r10, r10
je 0x1337c0e85fab
dec r10
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete cl
mov r9, qword [rsp + 0x30]
mov rax, r9
sub rax, r10
shr rax, 0x10
lea rax, [rax + rax*4]
shl rax, 4
lea rdx, [r10 + 0x108]
add rdx, rax
mov eax, dword [rdx + 4]
sub rdx, rax
test cl, cl
je 0x1337c0e85fa0
cmp byte [rdx + 0xe], 0
jne 0x1337c0e85f9b
mov rax, qword [rdx + 0x20]
mov qword [r9], rax
mov qword [rdx + 0x20], r9
add dword [rdx + 0x18], 0xffffffff
jne 0x1337c0e85fab
mov rcx, rdx
call fcn.1337c0ee0230
jmp 0x1337c0e85fab
lea rcx, [rsp + 0x30]
call fcn.1337c0e6bd20
nop
lea rcx, [rsp + 0x70]
call fcn.1337c0e6bd20
nop
lea rcx, [rsp + 0x50]
call fcn.1337c0e6bd20
xor dil, dil
jmp 0x1337c0e85fc5
mov r8b, 1
jmp 0x1337c0e85fa3
xor r8d, r8d
mov rcx, r10
call fcn.1337c0edf330
mov rcx, qword [rbp + 0x20]
cmp rcx, 1
ja 0x1337c0e85e31
mov rbx, qword [rsp + 0x20]
movzx edi, byte [rbp + 0xe0]
test rbx, rbx
je 0x1337c0e86047
dec rbx
and rbx, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [rbx + 0x100]
cmp rcx, rax
sete dl
mov r9, qword [rsp + 0x20]
mov rax, r9
sub rax, rbx
shr rax, 0x10
lea rcx, [rax + rax*4]
shl rcx, 4
add rcx, 0x108
add rcx, rbx
mov eax, dword [rcx + 4]
sub rcx, rax
test dl, dl
je 0x1337c0e86038
cmp byte [rcx + 0xe], 0
jne 0x1337c0e86033
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e86047
call fcn.1337c0ee0230
jmp 0x1337c0e86047
mov r8b, 1
jmp 0x1337c0e8603b
xor r8d, r8d
mov rdx, rcx
mov rcx, rbx
call fcn.1337c0edf330
nop
lea rcx, [rbp]
call fcn.1337c0e811c0
nop
lea rcx, [rbp + 0x28]
call fcn.1337c0e811c0
movzx eax, dil
jmp 0x1337c0e86062
xor al, al
movaps xmm6, xmmword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x170]
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1337c0e4ed90
nop
int3