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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x308], rbx
mov r12, rdx
lea rdi, [rcx + 0x40]
mov qword [rbp + 0x218], rdi
mov rcx, rdi
call fcn.14036c43c
test eax, eax
je 0x140178bee
mov ecx, eax
call fcn.14036c908
nop
mov sil, 1
xor r15b, r15b
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x20], r14b
xor r8d, r8d
lea rdx, [0x1403eb989]
lea rcx, [rsp + 0x20]
call fcn.14012d2b0
nop
mov ecx, dword [0x140522438]
mov rax, qword gs:[0x58]
mov edx, shutdown
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x14051f670], eax
jg 0x140178f72
cmp qword [r12 + 0x10], 0
jbe 0x140178f03
movabs r11, 0xcbf29ce484222325
movabs r10, 0x100000001b3
mov rdi, r14
nop dword [rax]
movzx ebx, sil
mov rdx, r12
mov rcx, qword [r12 + 0x18]
cmp rcx, 0x10
jb 0x140178c86
mov rdx, qword [r12]
movzx eax, byte [0x1403f3550]
cmp byte [rdx + rdi], al
mov rax, r12
jne 0x140178e5a
test sil, sil
sete sil
mov byte [rbp + 0x200], sil
cmp rcx, 0x10
jb 0x140178cb1
mov rax, qword [r12]
movzx r9d, byte [rax + rdi]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x140178ce8
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x20]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140178d0d
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x20]
call fcn.140157d50
movabs r10, 0x100000001b3
movabs r11, 0xcbf29ce484222325
test bl, bl
jne 0x140178ecd
lea r8, [rsp + 0x20]
mov r13, qword [rsp + 0x20]
mov r9, qword [rsp + 0x38]
cmp r9, 0x10
cmovae r8, r13
mov rcx, r11
mov rdx, r14
mov r15, qword [rsp + 0x30]
test r15, r15
je 0x140178d54
nop dword [rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, r15
jb 0x140178d40
and rcx, qword [0x14051f660]
mov rbx, rcx
add rbx, rbx
mov rax, qword [0x14051f648]
mov rbx, qword [rax + rbx*8]
add rcx, rcx
mov qword [rbp + 0x210], rcx
mov r14, qword [0x14051f638]
nop dword [rax]
cmp qword [rax + rcx*8], r14
jne 0x140178d8b
mov rax, r14
jmp 0x140178d93
mov rax, qword [rax + rcx*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x140178e2d
lea rdx, [rsp + 0x20]
cmp r9, 0x10
cmovae rdx, r13
lea rcx, [rbx + 0x10]
mov r13, qword [rbx + 0x28]
cmp r13, 0x10
jb 0x140178dbb
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
cmp rsi, r15
jne 0x140178dd5
mov r8, rsi
call fcn.1403a91d0
test eax, eax
je 0x140178ded
mov r9, qword [rsp + 0x38]
mov rbx, qword [rbx]
mov rax, qword [0x14051f648]
mov r13, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x210]
jmp 0x140178d80
lea rdx, [rbx + 0x10]
cmp r13, 0x10
jb 0x140178dfa
mov rdx, qword [rdx]
lea rcx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
mov r13, qword [rsp + 0x20]
cmovae rcx, r13
cmp r15, rsi
jne 0x140178e1f
mov r8, r15
call fcn.1403a91d0
test eax, eax
je 0x140178e22
mov rbx, r14
cmp rbx, r14
je 0x140178e2d
movzx ecx, byte [rbx + 0x30]
jmp 0x140178e2f
xor ecx, ecx
call fcn.140183c20
mov r15b, 1
xor r14d, r14d
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rax, r13
mov byte [rax], r14b
movzx esi, byte [rbp + 0x200]
jmp 0x140178ecd
test sil, sil
je 0x140178e7b
cmp rcx, 0x10
jb 0x140178e69
mov rax, qword [r12]
movzx edx, byte [rax + rdi]
lea rcx, [0x140521dc0]
call fcn.14016fe90
jmp 0x140178ecd
cmp rcx, 0x10
jb 0x140178e85
mov rax, qword [r12]
movzx r9d, byte [rax + rdi]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x140178ebc
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x20]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140178ecd
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x20]
call fcn.140157d50
inc rdi
cmp rdi, qword [r12 + 0x10]
movabs r10, 0x100000001b3
movabs r11, 0xcbf29ce484222325
jb 0x140178c70
test r15b, r15b
mov rdi, qword [rbp + 0x218]
je 0x140178f03
xor ecx, ecx
call fcn.140183c20
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x140178f3d
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140178f37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140178f6c
call fcn.14038b5d4
nop
mov rcx, rdi
call fcn.14036c460
test eax, eax
je 0x140178f51
mov ecx, eax
call fcn.14036c908
nop
mov rbx, qword [rsp + 0x308]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1403ac924
nop
lea rcx, [0x14051f670]
call fcn.14038b43c
cmp dword [0x14051f670], 0xffffffff
jne 0x140178c46
lea rdx, [0x14050d140]
lea rcx, [rsp + 0x60]
call fcn.14012bd50
mov byte [rbp - 0x80], 1
lea rdx, [0x14050d160]
lea rcx, [rbp - 0x78]
call fcn.14012bd50
mov byte [rbp - 0x58], 2
lea rdx, [0x14050d180]
lea rcx, [rbp - 0x50]
call fcn.14012bd50
mov byte [rbp - 0x30], 3
lea rdx, [0x14050d1a0]
lea rcx, [rbp - 0x28]
call fcn.14012bd50
mov byte [rbp - 8], 4
lea rdx, [0x14050d1c0]
lea rcx, [rbp]
call fcn.14012bd50
mov byte [rbp + 0x20], 5
lea rdx, [0x14050d1e0]
lea rcx, [rbp + 0x28]
call fcn.14012bd50
mov byte [rbp + 0x48], 6
lea rdx, [0x14050d200]
lea rcx, [rbp + 0x50]
call fcn.14012bd50
mov byte [rbp + 0x70], 7
lea rdx, [0x14050d220]
lea rcx, [rbp + 0x78]
call fcn.14012bd50
mov byte [rbp + 0x98], 8
lea rdx, [0x14050d240]
lea rcx, [rbp + 0xa0]
call fcn.14012bd50
mov byte [rbp + 0xc0], 9
lea rdx, [0x14050d260]
lea rcx, [rbp + 0xc8]
call fcn.14012bd50
mov byte [rbp + 0xe8], 0xa
lea rdx, [0x14050d280]
lea rcx, [rbp + 0xf0]
call fcn.14012bd50
mov byte [rbp + 0x110], reloc.WS2_32.dll_inet_addr
lea rdx, [0x14050d2a0]
lea rcx, [rbp + 0x118]
call fcn.14012bd50
mov byte [rbp + 0x138], reloc.WS2_32.dll_inet_ntoa
lea rdx, [0x14050d2c0]
lea rcx, [rbp + 0x140]
call fcn.14012bd50
mov byte [rbp + 0x160], recv
lea rdx, [0x14050d2e0]
lea rcx, [rbp + 0x168]
call fcn.14012bd50
mov byte [rbp + 0x188], reloc.WS2_32.dll_ntohl
lea rdx, [0x14050d300]
lea rcx, [rbp + 0x190]
call fcn.14012bd50
mov byte [rbp + 0x1b0], 0
xorps xmm0, xmm0
movss dword [0x14051f630], xmm0
lea r13, [0x14051f638]
mov qword [0x14051f638], r14
mov qword [0x14051f640], r14
xor r8d, r8d
xor edx, edx
mov rcx, r13
call fcn.1401787f0
mov qword [0x14051f638], rax
mov qword [0x14051f648], r14
xorps xmm0, xmm0
movdqa xmmword [0x14051f650], xmm0
movss xmm0, dword [0x1403f4780]
movss dword [0x14051f630], xmm0
mov edx, 8
lea rcx, [0x14051f630]
call fcn.1401788e0
nop
lea rbx, [rsp + 0x60]
mov rax, qword [0x14051f638]
mov rsi, qword [rax]
mov r14, qword [rsi + 8]
mov r9, rbx
mov r8, r14
mov rdx, rsi
mov rcx, r13
call fcn.1401781f0
movabs rcx, 0x492492492492491
mov rdx, qword [0x14051f640]
sub rcx, rdx
cmp rcx, 1
jb 0x14017920d
inc rdx
mov qword [0x14051f640], rdx
mov qword [rsi + 8], rax
mov qword [r14], rax
mov r9, qword [0x14051f638]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rsp + 0x48]
lea rcx, [0x14051f630]
call fcn.1401782f0
add rbx, 0x28
lea rax, [rbp + 0x1b8]
cmp rbx, rax
jne 0x140179152
lea r9, [fcn.14012c790]
mov edx, 0x28
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x60]
call fcn.14038bb84
lea rcx, [0x1403e80e0]
call fcn.14038b878
nop
lea rcx, [0x14051f670]
call fcn.14038b3dc
mov sil, 1
xor r14d, r14d
jmp 0x140178c46
lea rcx, str.list_T__too_long
call fcn.14036ac9c
int3