Function at 0x180158c70
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 - 0x40]
sub rsp, 0x140
mov qword [rbp], 0xfffffffffffffffe
mov qword [rsp + 0x188], rbx
mov rax, qword [0x1802658e0]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov edi, r9d
mov dword [rbp - 0x80], r9d
mov qword [rbp - 0x40], r8
movsxd r14, edx
mov rbx, rcx
mov eax, dword [rbp + 0xa8]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0xb0]
mov qword [rbp - 0x68], rax
mov r13, qword [rbp + 0xc0]
mov qword [rbp - 0x70], r13
xor esi, esi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
xor r8d, r8d
xor edx, edx
call fcn.180127870
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], rsi
movss xmm0, dword [0x180230228]
movss dword [rsp + 0x78], xmm0
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x58], rsi
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 0x10]
mov r8d, esi
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x50]
call fcn.1801275d0
mov r8d, 7
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x68], r8
mov r9d, 8
mov qword [rsp + 0x70], r9
test r14d, r14d
jle 0x180158e01
mov edi, esi
mov r15, r14
movabs r12, 0xaaaaaaaaaaaaaa9
mov rax, qword [rbx]
test rax, rax
je 0x180158dd4
cmp byte [rax], 0
je 0x180158dd4
mov rax, qword [rsp + 0x40]
mov r14, qword [rax]
mov r9, rbx
mov r8, qword [r14 + 8]
mov rdx, r14
call fcn.180127df0
mov rcx, r12
mov rdx, qword [rsp + 0x48]
sub rcx, rdx
cmp rcx, 1
jb 0x180158de2
inc rdx
mov qword [rsp + 0x48], rdx
mov qword [r14 + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
mov r9, qword [rsp + 0x40]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x40]
call fcn.180159e70
mov r8, r13
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
call fcn.180158bc0
inc rdi
add rbx, 0x10
cmp rdi, r15
jge 0x180158def
jmp 0x180158d63
lea rcx, str.list_T__too_long
call fcn.18017929c
int3
mov r8, qword [rsp + 0x68]
mov qword [rsp + 0x30], r8
mov r9, qword [rsp + 0x70]
mov edi, dword [rbp - 0x80]
movabs r12, 0xcbf29ce484222325
movabs r11, 0x100000001b3
or r10, 0xffffffffffffffff
cmp dword [rbp + 0xa0], 0
je 0x180158e30
test edi, edi
jg 0x180158e30
mov r14, qword [rsp + 0x40]
jmp 0x18015909a
lea r11, str.Content_Length
cmp qword [rsp + 0x48], 0
je 0x180158ffb
mov rcx, r12
mov rdx, rsi
movabs rbx, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r11]
xor rcx, rax
imul rcx, rbx
inc rdx
cmp rdx, 0xe
jb 0x180158e60
mov rax, rcx
shr rax, 0x20
xor rcx, rax
mov rdi, r8
and rdi, rcx
cmp r9, rdi
ja 0x180158e99
mov rcx, r8
shr rcx, 1
mov rax, r10
sub rax, rcx
add rdi, rax
add rdi, rdi
mov rdx, qword [rsp + 0x50]
mov r15, qword [rdx + rdi*8]
mov rbx, r15
mov r14, qword [rsp + 0x40]
nop dword [rax]
cmp r15, r14
jne 0x180158eba
mov rax, r14
jmp 0x180158ec2
mov rax, qword [rdx + rdi*8 + 8]
mov rax, qword [rax]
mov qword [rbp - 0x20], rax
cmp rbx, rax
je 0x180158f20
mov rdx, r11
mov rcx, qword [rbx + 0x10]
call fcn.18017ef30
test eax, eax
je 0x180158eec
mov rbx, qword [rbx]
mov rdx, qword [rsp + 0x50]
lea r11, str.Content_Length
jmp 0x180158eb0
mov rdx, qword [rbx + 0x10]
lea rcx, str.Content_Length
call fcn.18017ef30
test eax, eax
je 0x180158f0a
mov qword [rbp - 0x10], r14
lea rax, [rbp - 0x10]
jmp 0x180158f12
mov qword [rbp - 0x30], rbx
lea rax, [rbp - 0x30]
cmp qword [rax], r14
jne 0x18015908c
mov rdx, qword [rsp + 0x50]
mov rdi, r12
mov rcx, rsi
lea r9, str.Transfer_Encoding
movabs rsi, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r9]
xor rdi, rax
imul rdi, rsi
inc rcx
cmp rcx, 0x11
jb 0x180158f40
mov rax, rdi
shr rax, 0x20
xor rdi, rax
mov r8, qword [rsp + 0x30]
and rdi, r8
cmp qword [rsp + 0x70], rdi
mov esi, 0
ja 0x180158f83
mov rcx, r8
shr rcx, 1
or rax, 0xffffffffffffffff
sub rax, rcx
add rdi, rax
add rdi, rdi
mov r15, qword [rdx + rdi*8]
mov rbx, r15
nop dword [rax]
cmp r15, r14
jne 0x180158f9a
mov rax, r14
jmp 0x180158fa2
mov rax, qword [rdx + rdi*8 + 8]
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
cmp rbx, rax
je 0x180158ffb
mov rdx, r9
mov rcx, qword [rbx + 0x10]
call fcn.18017ef30
test eax, eax
je 0x180158fcc
mov rbx, qword [rbx]
mov rdx, qword [rsp + 0x50]
lea r9, str.Transfer_Encoding
jmp 0x180158f90
mov rdx, qword [rbx + 0x10]
lea rcx, str.Transfer_Encoding
call fcn.18017ef30
test eax, eax
je 0x180158fea
mov qword [rbp - 0x28], r14
lea rax, [rbp - 0x28]
jmp 0x180158ff2
mov qword [rbp - 0x38], rbx
lea rax, [rbp - 0x38]
cmp qword [rax], r14
jne 0x18015908c
mov r8d, 0xa
lea rdx, [rbp + 0x28]
mov ecx, dword [rbp - 0x80]
call fcn.18017d850
mov r8d, reloc.WS2_32.dll_ntohl
lea rdx, str.Content_Length
mov rcx, r13
call fcn.180141420
mov r8d, 2
lea rdx, [0x180221b30]
mov rcx, r13
call fcn.180141420
lea rcx, [rbp + 0x28]
or rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180159040
mov r8d, eax
lea rdx, [rbp + 0x28]
mov rcx, r13
call fcn.180141420
mov r8d, 2
lea rdx, [0x18022fb54]
mov rcx, r13
call fcn.180141420
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x30], rdx
mov r14, qword [rsp + 0x40]
or r10, 0xffffffffffffffff
movabs r11, 0x100000001b3
jmp 0x18015909f
movabs r11, 0x100000001b3
or r10, 0xffffffffffffffff
mov rdx, qword [rsp + 0x30]
mov r8d, dword [rbp - 0x78]
cmp r8d, 1
ja 0x1801591b5
lea r9, str.Connection
cmp qword [rsp + 0x48], 0
je 0x180159189
mov rdi, r12
mov rcx, rsi
nop word [rax + rax]
movzx eax, byte [rcx + r9]
xor rdi, rax
imul rdi, r11
inc rcx
cmp rcx, 0xa
jb 0x1801590d0
mov rax, rdi
shr rax, 0x20
xor rdi, rax
and rdi, rdx
cmp qword [rsp + 0x70], rdi
ja 0x180159108
mov rcx, rdx
shr rcx, 1
mov rax, r10
sub rax, rcx
add rdi, rax
add rdi, rdi
mov rax, qword [rsp + 0x50]
mov r15, qword [rax + rdi*8]
mov rbx, r15
cmp r15, r14
jne 0x180159121
mov rax, r14
jmp 0x180159129
mov rax, qword [rax + rdi*8 + 8]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rbx, rax
je 0x180159185
mov rdx, r9
mov rcx, qword [rbx + 0x10]
call fcn.18017ef30
test eax, eax
je 0x180159153
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x50]
lea r9, str.Connection
jmp 0x180159117
mov rdx, qword [rbx + 0x10]
lea rcx, str.Connection
call fcn.18017ef30
test eax, eax
je 0x180159171
mov qword [rbp - 0x60], r14
lea rax, [rbp - 0x60]
jmp 0x180159179
mov qword [rbp - 8], rbx
lea rax, [rbp - 8]
cmp qword [rax], r14
jne 0x1801591b5
lea r9, str.Connection
mov r8d, dword [rbp - 0x78]
lea rax, str.close
lea rdx, str.keep_alive
test r8d, r8d
cmove rdx, rax
mov r8, r13
mov rcx, r9
call fcn.180158bc0
mov rdx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x40]
jmp 0x1801591ba
mov rdx, qword [rsp + 0x30]
cmp dword [rbp + 0xa0], 0
je 0x180159329
mov r10, qword [rbp - 0x68]
test r10, r10
je 0x180159329
cmp byte [r10], 0
je 0x180159329
lea rbx, str.Host
cmp qword [rsp + 0x48], 0
je 0x1801592cb
mov rcx, rsi
movabs rsi, 0x100000001b3
nop
movzx eax, byte [rcx + rbx]
xor r12, rax
imul r12, rsi
inc rcx
cmp rcx, 4
jb 0x180159200
mov rax, r12
shr rax, 0x20
xor r12, rax
and r12, rdx
cmp qword [rsp + 0x70], r12
mov esi, 0
ja 0x18015923a
shr rdx, 1
or rax, 0xffffffffffffffff
sub rax, rdx
add r12, rax
add r12, r12
mov rax, qword [rsp + 0x50]
mov r9, qword [rax + r12*8]
mov rcx, r9
nop dword [rax]
cmp r9, r14
jne 0x18015925a
mov rax, r14
jmp 0x180159262
mov rax, qword [rax + r12*8 + 8]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rcx, rax
je 0x1801592cb
mov rdx, rsi
mov r8, qword [rcx + 0x10]
movzx eax, byte [r8 + rdx]
inc rdx
cmp al, byte [rbx + rdx - 1]
jne 0x180159288
cmp rdx, 5
je 0x180159292
jmp 0x180159272
mov rcx, qword [rcx]
mov rax, qword [rsp + 0x50]
jmp 0x180159250
mov rdx, rsi
nop word [rax + rax]
movzx eax, byte [rbx + rdx]
inc rdx
cmp al, byte [r8 + rdx - 1]
jne 0x1801592be
cmp rdx, 5
jne 0x1801592a0
mov qword [rbp - 0x78], rcx
lea rax, [rbp - 0x78]
jmp 0x1801592c6
mov qword [rbp - 0x58], r14
lea rax, [rbp - 0x58]
cmp qword [rax], r14
jne 0x180159329
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.18013a6c0
nop
movzx eax, word [rbp + 0xb8]
test ax, ax
je 0x1801592fa
movzx r8d, ax
lea rdx, [0x18022fbac]
lea rcx, [rsp + 0x30]
call fcn.180157790
mov r8, r13
mov rdx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.180158bc0
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x180159324
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r14, qword [rsp + 0x40]
mov rcx, qword [r14]
mov qword [r14], r14
mov rax, qword [rsp + 0x40]
mov qword [rax + 8], rax
mov qword [rsp + 0x48], rsi
mov rax, qword [rsp + 0x40]
cmp rcx, rax
je 0x18015935c
mov rbx, qword [rcx]
call sym.HPSocket4C_U.dll_SYS_Free
mov rcx, rbx
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x180159347
mov qword [rbp - 0x50], rax
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0x58], r8
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x50]
call fcn.1801275d0
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x70], 8
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x1801594c6
mov r12, qword [rbx + 8]
test r12d, r12d
je 0x1801594c6
mov r8d, 6
lea rdx, str.Cookie
mov rcx, r13
call fcn.180141420
mov r8d, 2
lea rdx, [0x180221b30]
mov rcx, r13
call fcn.180141420
mov r15d, esi
mov rdi, qword [rbx]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1801594b1
nop
mov rdx, qword [rbx + 0x10]
mov r8d, dword [rdx - 0x10]
mov rcx, r13
call fcn.180141420
mov rax, qword [r13]
mov r13d, dword [rax - 0x10]
lea r14d, [r13 + 1]
test r14d, r14d
js 0x1801594a6
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, r14d
or eax, ecx
jge 0x180159433
mov edx, r14d
mov rcx, qword [rbp - 0x70]
call fcn.180141d20
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
mov byte [r13 + rcx], 0x3d
mov r13, rax
mov rax, qword [rax]
cmp r14d, dword [rax - 0xc]
jg 0x18015949b
mov dword [rax - 0x10], r14d
movsxd rcx, r14d
mov rax, qword [r13]
mov byte [rcx + rax], 0
mov rdx, qword [rbx + 0x18]
mov r8d, dword [rdx - 0x10]
mov rcx, r13
call fcn.180141420
lea eax, [r12 - 1]
cmp r15d, eax
jae 0x18015948a
mov r8d, 2
lea rdx, [0x18022fbb0]
mov rcx, r13
call fcn.180141420
mov rbx, qword [rbx]
inc r15d
cmp rbx, rdi
jne 0x1801593f0
jmp 0x1801594b1
mov ecx, 0x80070057
call fcn.180127e80
int3
mov ecx, 0x80070057
call fcn.180127e80
int3
mov r8d, 2
lea rdx, [0x18022fb54]
mov rcx, r13
call fcn.180141420
mov r8d, 2
lea rdx, [0x18022fb54]
mov rcx, r13
call fcn.180141420
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1801594f9
call sym.HPSocket4C_U.dll_SYS_Free
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov qword [rax], rax
mov rax, qword [rsp + 0x40]
mov qword [rax + 8], rax
mov qword [rsp + 0x48], rsi
mov rax, qword [rsp + 0x40]
cmp rcx, rax
je 0x180159535
nop dword [rax]
mov rbx, qword [rcx]
call sym.HPSocket4C_U.dll_SYS_Free
mov rcx, rbx
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x180159520
mov rcx, rax
call sym.HPSocket4C_U.dll_SYS_Free
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.180179370
mov rbx, qword [rsp + 0x188]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret