Function at 0x14017a73c
Capabilities:
Encode data using xor
Hash data using fnv
Hash data using murmur3

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xab8]
sub rsp, 0xbb8
mov rax, qword [0x1404e8f18]
xor rax, rsp
mov qword [rbp + 0xaa0], rax
mov r13d, edx
mov rax, r8
mov rdx, qword [rbp + 0xb28]
mov r8d, 0x20
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0xb20]
mov qword [rbp - 0x68], rcx
lea rcx, [rbp - 0x10]
mov qword [rbp - 0x70], rdx
mov rdx, rax
mov qword [rbp - 0x80], r9
call fcn.140336c00
mov r8d, 8
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x10]
call fcn.140336c00
mov r8d, 0x3c
lea rdx, str.rAVENCOINKAWPOW
lea rcx, [rbp + 0x18]
call fcn.140336c00
lea rcx, [rbp - 0x10]
call fcn.1402e5578
mov eax, dword [rbp - 0x10]
lea r11, [rbp + 0x2a0]
xor eax, 0x811c9dc5
imul r12d, eax, 0x1000193
mov eax, dword [rbp - 0xc]
xor eax, r12d
imul esi, eax, 0x1000193
xor edi, edi
mov r10d, edi
lea r14d, [rdi + 0x10]
mov eax, r10d
mov r8d, r12d
xor eax, esi
mov r9d, esi
imul edx, eax, 0x1000193
mov r15d, 0x20
mov eax, edx
xor eax, r10d
imul ebx, eax, 0x1000193
movzx eax, r8w
imul ecx, eax, 0x9069
movzx eax, r9w
shr r9d, 0x10
shr r8d, 0x10
imul ebx, ebx, 0x10dcd
add r8d, ecx
imul ecx, eax, 0x4650
mov eax, edx
shl eax, 0x11
xor edx, eax
mov eax, edx
add ebx, 0x12d687
shr eax, 0xd
add ecx, r9d
xor edx, eax
mov r9d, ecx
mov eax, edx
shl eax, 5
xor edx, eax
mov eax, r8d
shl eax, 0x10
add eax, ecx
xor eax, ebx
add eax, edx
mov dword [r11], eax
add r11, 4
sub r15, 1
jne 0x14017a81f
inc r10d
cmp r10d, r14d
jb 0x14017a7fd
mov eax, 0xaaaaaaab
mov rcx, rdi
mul r13d
shr edx, 1
mov eax, edx
xor eax, 0x811c9dc5
imul r15d, eax, 0x1000193
mov eax, edi
imul r12d, r15d, 0x1000193
xor edx, r12d
imul esi, edx, 0x1000193
imul r9d, esi, 0x1000193
movd xmm0, eax
add eax, 4
pshufd xmm0, xmm0, 0
paddd xmm0, xmmword [0x1403c3730]
movdqu xmmword [rbp + rcx + 0x60], xmm0
movdqu xmmword [rbp + rcx + 0xe0], xmm0
add rcx, r14
cmp eax, 0x20
jb 0x14017a8be
mov r14d, 0x20
mov rbx, rdi
mov ecx, dword [rbp + rbx + 0xdc]
lea rbx, [rbx - 4]
xor edx, edx
movzx eax, r15w
imul r10d, eax, 0x9069
movzx eax, r12w
imul r11d, eax, 0x4650
mov eax, esi
shl eax, 0x11
xor esi, eax
shr r15d, 0x10
mov eax, esi
imul r9d, r9d, 0x10dcd
shr eax, 0xd
add r10d, r15d
xor esi, eax
shr r12d, 0x10
add r11d, r12d
mov eax, esi
shl eax, 5
xor esi, eax
add r9d, 0x12d687
mov eax, r10d
shl eax, 0x10
add eax, r11d
xor eax, r9d
imul r9d, r9d, 0x10dcd
add eax, esi
div r14d
add r9d, 0x12d687
mov eax, dword [rbp + rdx*4 + 0x60]
mov dword [rbp + rbx + 0xe0], eax
movzx eax, r10w
imul r15d, eax, 0x9069
movzx eax, r11w
imul r12d, eax, 0x4650
mov eax, esi
shl eax, 0x11
xor esi, eax
mov dword [rbp + rdx*4 + 0x60], ecx
mov ecx, dword [rbp + rbx + 0x160]
xor edx, edx
mov eax, esi
shr r10d, 0x10
shr eax, 0xd
add r15d, r10d
xor esi, eax
shr r11d, 0x10
mov eax, esi
add r12d, r11d
shl eax, 5
xor esi, eax
mov eax, r15d
shl eax, 0x10
add eax, r12d
xor eax, r9d
add eax, esi
div r14d
dec r14d
mov eax, dword [rbp + rdx*4 + 0xe0]
mov dword [rbp + rbx + 0x160], eax
mov dword [rbp + rdx*4 + 0xe0], ecx
cmp r14d, 1
ja 0x14017a8f2
mov rbx, qword [rsp + 0x70]
lea r14, [0x1403d5ec0]
mov rcx, rbx
mov dword [rsp + 0x58], r9d
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x64], r15d
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x48], esi
mov r14, qword [r14 + rax*8]
shr r14, 8
mov qword [rbp - 0x78], r14
call fcn.14017a438
mov rcx, qword [rbx + 8]
lea r9, [rbp - 0x3c]
mov qword [rbp - 0x58], rcx
lea r8, [rbp - 0x40]
shr rcx, 6
lea rdx, [rbp - 0x44]
mov dword [rbp - 0x48], ecx
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], r13
call fcn.14017a3b0
call fcn.1400590c8
mov edx, ntohs
mov rcx, qword [rax]
mov r8, qword [rcx + 0x18]
mov rcx, rax
call r8
mov byte [rsp + 0x20], al
mov eax, edi
mov dword [rsp + 0x3c], eax
and eax, 0xf
lea r9, [rbp - 0x60]
shl rax, 7
lea rcx, [rbp + 0x1a0]
xor edx, edx
mov r8d, 0x200
mov eax, dword [rbp + rax + 0x2a0]
div r14d
shl edx, 2
call fcn.1402e5048
mov ecx, edi
mov edx, edi
mov eax, edi
mov dword [rsp + 0x24], ecx
mov ebx, esi
mov dword [rsp + 0x30], edx
mov esi, dword [rsp + 0x58]
mov r13d, r15d
mov dword [rsp + 0x28], eax
jmp 0x14017aab5
mov ecx, dword [rsp + 0x24]
cmp eax, 0xb
jae 0x14017abf5
mov eax, edx
imul esi, esi, 0x10dcd
and eax, 0x1f
lea r14, [rbp + 0x2a0]
inc edx
mov dword [rsp + 0x30], edx
mov r9d, dword [rbp + rax*4 + 0xe0]
add esi, 0x12d687
mov eax, ecx
mov dword [rsp + 0x2c], esi
and eax, 0x1f
inc ecx
mov dword [rsp + 0x24], ecx
mov r8d, dword [rbp + rax*4 + 0x60]
movzx eax, r13w
imul ecx, eax, 0x9069
shr r13d, 0x10
movzx eax, r12w
lea r14, [r14 + r8*4]
shr r12d, 0x10
add r13d, ecx
imul ecx, eax, 0x4650
mov eax, ebx
mov dword [rsp + 0x34], r13d
shl eax, 0x11
mov r15d, r13d
xor ebx, eax
shl r15d, 0x10
mov eax, ebx
mov r13d, edi
shr eax, 0xd
add ecx, r12d
xor ebx, eax
mov dword [rsp + 0x38], ecx
add r15d, ecx
mov eax, ebx
shl eax, 5
xor r15d, esi
xor ebx, eax
mov eax, 0x8421085
add r15d, ebx
mov dword [rsp + 0x40], ebx
mov rbx, qword [rsp + 0x70]
mov esi, r15d
shr esi, 0x10
and r15d, 3
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
mov edx, r9d
shr eax, 4
imul eax, eax, 0x1f
sub esi, eax
sub rdx, r8
mov qword [rsp + 0x50], rdx
mov eax, dword [r14 + rdx*4]
mov rcx, qword [rbx + 0x18]
and eax, 0xfff
mov r12d, dword [rcx + rax*4]
mov eax, r15d
test r15d, r15d
je 0x14017abcc
sub eax, 1
je 0x14017abc3
mov ecx, dword [r14]
lea edx, [rsi + 1]
cmp eax, 1
je 0x14017abb4
call fcn.140348828
jmp 0x14017abb9
call fcn.140348b50
mov rdx, qword [rsp + 0x50]
xor eax, r12d
jmp 0x14017abd3
xor r12d, dword [r14]
imul eax, r12d, 0x21
jmp 0x14017abd3
imul eax, dword [r14], 0x21
add eax, r12d
mov dword [r14], eax
inc r13d
sub r14, 0xffffffffffffff80
cmp r13d, 0x10
jb 0x14017ab84
mov ebx, dword [rsp + 0x40]
mov r13d, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x2c]
movzx eax, r13w
mov r14d, 0x12d687
imul r8d, eax, 0x9069
movzx eax, r12w
imul r9d, eax, 0x4650
mov eax, ebx
shl eax, 0x11
xor ebx, eax
shr r13d, 0x10
add r8d, r13d
shr r12d, 0x10
mov eax, ebx
imul ecx, esi, 0x10dcd
shr eax, 0xd
add r9d, r12d
xor ebx, eax
mov r11d, r8d
mov eax, ebx
shl r11d, 0x10
shl eax, 5
add r11d, r9d
xor ebx, eax
add ecx, r14d
xor r11d, ecx
mov eax, 0x8421085
add r11d, ebx
imul ecx, ecx, 0x10dcd
mul r11d
mov eax, r11d
add ecx, r14d
sub eax, edx
imul esi, ecx, 0x10dcd
shr eax, 1
add eax, edx
shr eax, 9
imul eax, eax, 0x3e0
sub r11d, eax
movzx eax, r8w
imul edx, eax, 0x9069
mov r10d, r11d
movzx eax, r9w
and r10d, 0x1f
shr r8d, 0x10
shr r9d, 0x10
shr r11d, 5
add edx, r8d
imul r8d, eax, 0x4650
mov eax, ebx
shl eax, 0x11
xor ebx, eax
mov eax, ebx
shr eax, 0xd
add r8d, r9d
mov r9d, dword [rsp + 0x24]
xor ebx, eax
mov eax, ebx
shl eax, 5
xor ebx, eax
mov eax, edx
shl eax, 0x10
add eax, r8d
xor eax, ecx
add eax, ebx
mov dword [rsp + 0x40], eax
mov eax, r9d
and eax, 0x1f
inc r9d
mov dword [rsp + 0x24], r9d
mov eax, dword [rbp + rax*4 + 0x60]
mov dword [rsp + 0x60], eax
movzx eax, dx
imul r13d, eax, 0x9069
movzx eax, r8w
imul r12d, eax, 0x4650
shr edx, 0x10
shr r8d, 0x10
add r13d, edx
mov dword [rsp + 0x34], r13d
add r12d, r8d
mov dword [rsp + 0x38], r12d
add esi, r14d
mov r14d, dword [rsp + 0x60]
mov eax, ebx
shl eax, 0x11
xor ebx, eax
mov dword [rsp + 0x2c], esi
mov eax, ebx
mov ecx, r10d
shr eax, 0xd
xor ebx, eax
mov eax, ebx
shl eax, 5
xor ebx, eax
mov eax, r13d
shl eax, 0x10
lea r13d, [r11 + 1]
add eax, r12d
mov dword [rsp + 0x50], ebx
xor eax, esi
mov esi, dword [rsp + 0x40]
add eax, ebx
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x5c], eax
mov eax, 0xba2e8ba3
mov r12d, dword [rsp + 0x5c]
mul esi
shr edx, 3
imul eax, edx, 0xb
lea rdx, [rbp + 0x2a0]
lea rdx, [rdx + r10*4]
mov qword [rsp + 0x78], rdx
sub esi, eax
cmp r11d, r10d
cmovb r13d, r11d
sub r13, rcx
mov ebx, dword [rdx + r13*4]
mov r8d, dword [rdx]
cmp esi, 5
ja 0x14017adf1
je 0x14017ade5
mov eax, esi
test esi, esi
je 0x14017addd
sub eax, 1
je 0x14017add4
sub eax, 1
je 0x14017adc7
cmp eax, 1
je 0x14017adbb
mov edx, ebx
mov ecx, r8d
call fcn.140348b50
mov ebx, eax
jmp 0x14017aefe
cmp r8d, ebx
cmovb ebx, r8d
jmp 0x14017aefe
imul rbx, r8
shr rbx, 0x20
jmp 0x14017aefe
imul ebx, r8d
jmp 0x14017aefe
add ebx, r8d
jmp 0x14017aefe
mov edx, ebx
mov ecx, r8d
call fcn.140348828
jmp 0x14017adb4
mov eax, esi
sub eax, 6
je 0x14017aefb
sub eax, 1
je 0x14017aef6
sub eax, 1
je 0x14017aef1
cmp eax, 1
je 0x14017aec2
cmp byte [rsp + 0x20], dil
je 0x14017ae2e
popcnt eax, r8d
popcnt ebx, ebx
add ebx, eax
jmp 0x14017aefe
mov rax, r8
movabs r9, 0x5555555555555555
shr rax, 1
mov rcx, r8
and rax, r9
movabs r8, 0x3333333333333333
sub rcx, rax
movabs r10, 0xf0f0f0f0f0f0f0f
mov rax, rcx
and rcx, r8
shr rax, 2
and rax, r8
add rax, rcx
mov rcx, rbx
mov rdx, rax
shr rdx, 4
add rdx, rax
mov rax, rbx
shr rax, 1
and rdx, r10
and rax, r9
sub rcx, rax
mov rax, rcx
and rcx, r8
shr rax, 2
and rax, r8
add rax, rcx
mov rbx, rax
shr rbx, 4
add rbx, rax
movabs rax, 0x101010101010101
and rbx, r10
imul rbx, rax
imul rdx, rax
shr rbx, 0x38
shr rdx, 0x38
add ebx, edx
jmp 0x14017aefe
bsr eax, r8d
mov edx, 0x20
mov ecx, 0x1f
sub ecx, eax
test r8d, r8d
cmovne edx, ecx
mov ecx, 0x1f
bsr eax, ebx
sub ecx, eax
mov eax, 0x20
test ebx, ebx
cmovne eax, ecx
lea ebx, [rdx + rax]
jmp 0x14017aefe
xor ebx, r8d
jmp 0x14017aefe
or ebx, r8d
jmp 0x14017aefe
and ebx, r8d
mov ecx, r12d
mov eax, 0x8421085
shr ecx, 0x10
mov r15, r14
add r15, qword [rsp + 0x40]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
sub ecx, eax
mov eax, r12d
and eax, 3
je 0x14017af5d
sub eax, 1
je 0x14017af50
lea edx, [rcx + 1]
mov ecx, dword [rbp + r15*4 + 0x2a0]
cmp eax, 1
je 0x14017af47
call fcn.140348828
jmp 0x14017af4c
call fcn.140348b50
xor eax, ebx
jmp 0x14017af68
xor ebx, dword [rbp + r15*4 + 0x2a0]
imul eax, ebx, 0x21
jmp 0x14017af68
imul eax, dword [rbp + r15*4 + 0x2a0], 0x21
add eax, ebx
mov rdx, qword [rsp + 0x78]
mov dword [rbp + r15*4 + 0x2a0], eax
sub rdx, 0xffffffffffffff80
mov r15, qword [rsp + 0x40]
add r15, 0x20
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x40], r15
cmp r15, 0x200
jb 0x14017ad87
mov eax, dword [rsp + 0x28]
mov r14d, dword [rsp + 0x50]
inc eax
mov edx, dword [rsp + 0x30]
mov ebx, r14d
mov r13d, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x2c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x30], edx
cmp eax, 0x12
jb 0x14017aab1
mov r10d, dword [rsp + 0x24]
mov r8d, edi
mov r9, rdi
mov edx, esi
test r8d, r8d
jne 0x14017afe0
mov eax, edi
jmp 0x14017afed
mov eax, r10d
and eax, 0x1f
inc r10d
mov eax, dword [rbp + rax*4 + 0x60]
mov dword [rbp + r9 - 0x28], eax
inc r8d
movzx eax, r13w
imul ecx, eax, 0x9069
movzx eax, r12w
shr r12d, 0x10
shr r13d, 0x10
imul edx, edx, 0x10dcd
add r13d, ecx
imul ecx, eax, 0x4650
mov eax, r14d
shl eax, 0x11
xor r14d, eax
mov eax, r14d
add edx, 0x12d687
shr eax, 0xd
add ecx, r12d
xor r14d, eax
mov r12d, ecx
mov eax, r14d
shl eax, 5
xor r14d, eax
mov eax, r13d
shl eax, 0x10
add eax, ecx
xor eax, edx
add eax, r14d
mov dword [rbp + r9 - 0x38], eax
add r9, 4
cmp r8d, 4
jb 0x14017afd7
mov r12d, edi
mov dword [rsp + 0x28], edi
mov r13, rdi
mov esi, reloc.WS2_32.dll_recv
mov eax, r12d
lea rcx, [rbp - 0x38]
xor eax, dword [rsp + 0x3c]
lea r12, [rbp + 0x1a0]
and eax, 0xf
mov r15, rdi
shl eax, 2
shl rax, 2
sub rax, rcx
add r12, rax
mov ebx, dword [rbp + r15 - 0x28]
lea rax, [rbp - 0x38]
add rax, r15
add rbx, r13
mov r8d, dword [rax]
mov ecx, r8d
mov r14d, dword [r12 + rax]
mov eax, 0x8421085
shr ecx, 0x10
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
sub ecx, eax
and r8d, 3
je 0x14017b103
sub r8d, 1
je 0x14017b0f5
lea edx, [rcx + 1]
mov ecx, dword [rbp + rbx*4 + 0x2a0]
cmp r8d, 1
je 0x14017b0eb
call fcn.140348828
jmp 0x14017b0f0
call fcn.140348b50
xor eax, r14d
jmp 0x14017b10e
xor r14d, dword [rbp + rbx*4 + 0x2a0]
imul eax, r14d, 0x21
jmp 0x14017b10e
imul eax, dword [rbp + rbx*4 + 0x2a0], 0x21
add eax, r14d
add r15, 4
mov dword [rbp + rbx*4 + 0x2a0], eax
cmp r15, rsi
jb 0x14017b095
mov r12d, dword [rsp + 0x28]
add r13, 0x20
inc r12d
mov dword [rsp + 0x28], r12d
cmp r12d, esi
jb 0x14017b070
mov eax, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x48]
inc eax
mov r15d, dword [rsp + 0x64]
mov r12d, dword [rsp + 0x68]
mov r14, qword [rbp - 0x78]
mov dword [rsp + 0x3c], eax
cmp eax, 0x40
jb 0x14017aa68
mov edx, reloc.WS2_32.dll_recv
lea r8, [rbp + 0x160]
mov r9d, edx
lea rcx, [rbp + 0x2a0]
mov eax, 0x811c9dc5
mov r10d, 0x20
xor eax, dword [rcx]
add rcx, 4
imul eax, eax, 0x1000193
sub r10, 1
jne 0x14017b182
mov dword [r8], eax
add r8, 4
sub r9, 1
jne 0x14017b177
mov r10, qword [rbp - 0x70]
lea r9, [rbp + 0x160]
movdqa xmm0, xmmword [0x1403d9ec0]
movups xmmword [r10], xmm0
movups xmmword [r10 + 0x10], xmm0
mov eax, dword [r9]
mov rcx, rdi
and ecx, 7
lea r9, [r9 + 4]
inc rdi
xor eax, dword [r10 + rcx*4]
imul eax, eax, 0x1000193
mov dword [r10 + rcx*4], eax
sub rdx, 1
jne 0x14017b1bd
lea r8d, [rdx + 0x20]
mov rdx, r10
lea rcx, [rbp + 0x10]
call fcn.140336c00
mov r8d, 0x24
lea rdx, str.rAVENCOINKAWPOW
lea rcx, [rbp + 0x30]
call fcn.140336c00
lea rcx, [rbp - 0x10]
call fcn.1402e5578
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp - 0x10]
mov r8d, 0x20
call fcn.140336c00
mov rcx, qword [rbp + 0xaa0]
xor rcx, rsp
call fcn.1403358f0
add rsp, 0xbb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret