Function at 0x1401b9638
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 - 0xaa8]
sub rsp, 0xba8
mov rax, qword [0x14046e3c8]
xor rax, rsp
mov qword [rbp + 0xa90], rax
mov r13d, edx
mov rax, r8
mov rdx, qword [rbp + 0xb18]
mov r8d, 0x20
mov qword [rsp + 0x68], rcx
mov rcx, qword [rbp + 0xb10]
mov qword [rbp - 0x70], rcx
lea rcx, [rbp - 0x20]
mov qword [rbp - 0x78], rdx
mov rdx, rax
mov qword [rsp + 0x78], r9
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 8
lea rdx, [rsp + 0x78]
lea rcx, [rbp]
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x3c
lea rdx, str.rAVENCOINKAWPOW
lea rcx, [rbp + 8]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp - 0x20]
call fcn.14022672c
mov eax, dword [rbp - 0x20]
lea r11, [rbp + 0x290]
xor eax, 0x811c9dc5
imul r12d, eax, 0x1000193
mov eax, dword [rbp - 0x1c]
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 0x1401b971d
inc r10d
cmp r10d, r14d
jb 0x1401b96fb
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 [0x14033aca0]
movdqu xmmword [rbp + rcx + 0x50], xmm0
movdqu xmmword [rbp + rcx + 0xd0], xmm0
add rcx, r14
cmp eax, 0x20
jb 0x1401b97bc
mov r14d, 0x20
mov rbx, rdi
mov ecx, dword [rbp + rbx + 0xcc]
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 + 0x50]
mov dword [rbp + rbx + 0xd0], 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 + 0x50], ecx
mov ecx, dword [rbp + rbx + 0x150]
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 + 0xd0]
mov dword [rbp + rbx + 0x150], eax
mov dword [rbp + rdx*4 + 0xd0], ecx
cmp r14d, 1
ja 0x1401b97f0
mov rbx, qword [rsp + 0x68]
lea r14, [0x140379530]
mov rcx, rbx
mov dword [rsp + 0x4c], r9d
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x5c], r15d
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x48], esi
mov r14, qword [r14 + rax*8]
shr r14, 8
mov qword [rbp - 0x80], r14
call fcn.14009bc40
mov rcx, qword [rbx + 8]
lea r9, [rbp - 0x44]
mov qword [rbp - 0x60], rcx
lea r8, [rbp - 0x48]
shr rcx, 6
lea rdx, [rbp - 0x4c]
mov dword [rbp - 0x50], ecx
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x58], r13
call fcn.14009bc88
call fcn.1400123a8
mov edx, ntohs
mov rcx, rax
mov r8, qword [rax]
call qword [r8 + 0x18]
mov byte [rsp + 0x20], al
mov eax, edi
mov dword [rsp + 0x3c], eax
and eax, 0xf
lea r9, [rbp - 0x68]
shl rax, 7
lea rcx, [rbp + 0x190]
xor edx, edx
mov r8d, 0x200
mov eax, dword [rbp + rax + 0x290]
div r14d
shl edx, 2
call fcn.1401c24b0
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 + 0x4c]
mov r13d, r15d
mov dword [rsp + 0x28], eax
jmp 0x1401b99b0
mov ecx, dword [rsp + 0x24]
cmp eax, 0xb
jae 0x1401b9ae7
mov eax, edx
imul esi, esi, 0x10dcd
and eax, 0x1f
lea r14, [rbp + 0x290]
inc edx
mov dword [rsp + 0x30], edx
mov r9d, dword [rbp + rax*4 + 0xd0]
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 + 0x50]
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
mov eax, ebx
add r15d, ecx
shl eax, 5
xor r15d, esi
xor ebx, eax
mov eax, 0x8421085
add r15d, ebx
mov dword [rsp + 0x40], ebx
mov esi, r15d
mov ebx, r9d
shr esi, 0x10
and r15d, 3
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
sub esi, eax
sub rbx, r8
mov ecx, dword [r14 + rbx*4]
mov rax, qword [rsp + 0x68]
and ecx, 0xfff
mov rax, qword [rax + 0x18]
mov r12d, dword [rax + rcx*4]
mov eax, r15d
test r15d, r15d
je 0x1401b9abe
sub eax, 1
je 0x1401b9ab5
mov ecx, dword [r14]
lea edx, [rsi + 1]
cmp eax, 1
je 0x1401b9aab
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
jmp 0x1401b9ab0
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl
xor eax, r12d
jmp 0x1401b9ac5
xor r12d, dword [r14]
imul eax, r12d, 0x21
jmp 0x1401b9ac5
imul eax, dword [r14], 0x21
add eax, r12d
mov dword [r14], eax
inc r13d
sub r14, 0xffffffffffffff80
cmp r13d, 0x10
jb 0x1401b9a75
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 + 0x50]
mov dword [rsp + 0x54], 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 + 0x54]
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 + 0x58], ebx
xor eax, esi
mov esi, dword [rsp + 0x40]
add eax, ebx
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x50], eax
mov eax, 0xba2e8ba3
mov r12d, dword [rsp + 0x50]
mul esi
shr edx, 3
imul eax, edx, 0xb
lea rdx, [rbp + 0x290]
lea rdx, [rdx + r10*4]
mov qword [rsp + 0x70], 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 0x1401b9ce3
je 0x1401b9cd7
mov eax, esi
test esi, esi
je 0x1401b9ccf
sub eax, 1
je 0x1401b9cc6
sub eax, 1
je 0x1401b9cb9
cmp eax, 1
je 0x1401b9cad
mov edx, ebx
mov ecx, r8d
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl
mov ebx, eax
jmp 0x1401b9df0
cmp r8d, ebx
cmovb ebx, r8d
jmp 0x1401b9df0
imul rbx, r8
shr rbx, 0x20
jmp 0x1401b9df0
imul ebx, r8d
jmp 0x1401b9df0
add ebx, r8d
jmp 0x1401b9df0
mov edx, ebx
mov ecx, r8d
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
jmp 0x1401b9ca6
mov eax, esi
sub eax, 6
je 0x1401b9ded
sub eax, 1
je 0x1401b9de8
sub eax, 1
je 0x1401b9de3
cmp eax, 1
je 0x1401b9db4
cmp byte [rsp + 0x20], dil
je 0x1401b9d20
popcnt eax, r8d
popcnt ebx, ebx
add ebx, eax
jmp 0x1401b9df0
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 0x1401b9df0
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 0x1401b9df0
xor ebx, r8d
jmp 0x1401b9df0
or ebx, r8d
jmp 0x1401b9df0
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 0x1401b9e4f
sub eax, 1
je 0x1401b9e42
lea edx, [rcx + 1]
mov ecx, dword [rbp + r15*4 + 0x290]
cmp eax, 1
je 0x1401b9e39
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
jmp 0x1401b9e3e
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl
xor eax, ebx
jmp 0x1401b9e5a
xor ebx, dword [rbp + r15*4 + 0x290]
imul eax, ebx, 0x21
jmp 0x1401b9e5a
imul eax, dword [rbp + r15*4 + 0x290], 0x21
add eax, ebx
mov rdx, qword [rsp + 0x70]
mov dword [rbp + r15*4 + 0x290], eax
sub rdx, 0xffffffffffffff80
mov r15, qword [rsp + 0x40]
add r15, 0x20
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x40], r15
cmp r15, 0x200
jb 0x1401b9c79
mov eax, dword [rsp + 0x28]
mov r14d, dword [rsp + 0x58]
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 0x1401b99ac
mov r10d, dword [rsp + 0x24]
mov r8d, edi
mov r9, rdi
mov edx, esi
test r8d, r8d
jne 0x1401b9ed2
mov eax, edi
jmp 0x1401b9edf
mov eax, r10d
and eax, 0x1f
inc r10d
mov eax, dword [rbp + rax*4 + 0x50]
mov dword [rbp + r9 - 0x30], 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 - 0x40], eax
add r9, 4
cmp r8d, 4
jb 0x1401b9ec9
mov r12d, edi
mov dword [rsp + 0x28], edi
mov r13, rdi
mov esi, reloc.WS2_32.dll_recv
mov eax, r12d
lea rcx, [rbp - 0x40]
xor eax, dword [rsp + 0x3c]
lea r12, [rbp + 0x190]
and eax, 0xf
mov r15, rdi
shl eax, 2
shl rax, 2
sub rax, rcx
add r12, rax
mov ebx, dword [rbp + r15 - 0x30]
lea rax, [rbp - 0x40]
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 0x1401b9ff5
sub r8d, 1
je 0x1401b9fe7
lea edx, [rcx + 1]
mov ecx, dword [rbp + rbx*4 + 0x290]
cmp r8d, 1
je 0x1401b9fdd
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
jmp 0x1401b9fe2
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl
xor eax, r14d
jmp 0x1401ba000
xor r14d, dword [rbp + rbx*4 + 0x290]
imul eax, r14d, 0x21
jmp 0x1401ba000
imul eax, dword [rbp + rbx*4 + 0x290], 0x21
add eax, r14d
add r15, 4
mov dword [rbp + rbx*4 + 0x290], eax
cmp r15, rsi
jb 0x1401b9f87
mov r12d, dword [rsp + 0x28]
add r13, 0x20
inc r12d
mov dword [rsp + 0x28], r12d
cmp r12d, esi
jb 0x1401b9f62
mov eax, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x48]
inc eax
mov r15d, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x60]
mov r14, qword [rbp - 0x80]
mov dword [rsp + 0x3c], eax
cmp eax, 0x40
jb 0x1401b9963
mov edx, reloc.WS2_32.dll_recv
lea r8, [rbp + 0x150]
mov r9d, edx
lea rcx, [rbp + 0x290]
mov eax, 0x811c9dc5
mov r10d, 0x20
xor eax, dword [rcx]
add rcx, 4
imul eax, eax, 0x1000193
sub r10, 1
jne 0x1401ba074
mov dword [r8], eax
add r8, 4
sub r9, 1
jne 0x1401ba069
mov r10, qword [rbp - 0x78]
lea r9, [rbp + 0x150]
movdqa xmm0, xmmword [0x14037d530]
movups xmmword [r10], xmm0
movups xmmword [r10 + 0x10], xmm0
mov rcx, rdi
inc rdi
and ecx, 7
mov eax, dword [r10 + rcx*4]
xor eax, dword [r9]
lea r9, [r9 + 4]
imul eax, eax, 0x1000193
mov dword [r10 + rcx*4], eax
sub rdx, 1
jne 0x1401ba0af
lea r8d, [rdx + 0x20]
mov rdx, r10
lea rcx, [rbp]
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x24
lea rdx, str.rAVENCOINKAWPOW
lea rcx, [rbp + 0x20]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp - 0x20]
call fcn.14022672c
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp - 0x20]
mov r8d, 0x20
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0xa90]
xor rcx, rsp
call fcn.1400106c0
add rsp, 0xba8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret