Function at 0x14002d5a0
Capabilities:
Encode data using base64
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x120
movaps xmmword [rsp + 0x110], xmm6
mov rax, qword [0x14017d300]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov r12, rdx
mov r14, rcx
mov qword [rsp + 0x70], rcx
add rcx, 0xf8
call fcn.140049a30
xor r13d, r13d
mov qword [r14 + 0xe4], r13
mov dword [r14 + 0xe0], r13d
mov qword [rsp + 0x40], 0xffffffffffffffff
mov rax, qword [rsp + 0x40]
mov qword [r14 + 0xf0], rax
lea rbx, [r14 + 8]
movsx rdx, word [r12 + 0x3e]
xor r8d, r8d
mov rcx, rbx
call fcn.1400838f0
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d633
mov rcx, qword [rbx]
lea rdx, [r12 + 0x40]
mov r8, qword [r14 + 0x18]
call sub.VCRUNTIME140.dll_memcpy
cmp qword [r14 + 0x18], r13
je 0x14002ddfb
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d662
mov rbx, qword [rbx]
mov rsi, qword [r14 + 8]
mov rdi, rsi
add rsi, qword [r14 + 0x18]
jmp 0x14002d671
mov rsi, qword [r14 + 0x18]
add rsi, 8
add rsi, r14
lea rdi, [r14 + 8]
mov r15, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
cmp rdi, rsi
je 0x14002d68d
movsx ecx, byte [rdi]
call r15
mov byte [rbx], al
inc rdi
inc rbx
jmp 0x14002d678
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xd0], xmm1
mov r11, r13
mov qword [rsp + 0xe0], r13
add r12, qword [r14 + 0x18]
mov eax, dword [r12 + 0x40]
mov dword [r14 + 0xe0], eax
mov eax, dword [r12 + 0x44]
mov dword [r14 + 0xe4], eax
mov eax, dword [r12 + 0x48]
mov dword [r14 + 0xe8], eax
add r12, 0x51
mov eax, r13d
mov dword [rsp + 0x20], eax
psrldq xmm1, 8
movq rdx, xmm1
movabs r10, 0x100000001b3
mov r8d, 0xeb0
mov r9d, 8
cmp eax, dword [r14 + 0xe8]
jge 0x14002db96
xorps xmm6, xmm6
movdqu xmmword [rsp + 0x30], xmm6
movzx ebx, word [r12]
mov word [rsp + 0x28], bx
movzx esi, word [r12 + 2]
mov word [rsp + 0x2a], si
movzx edi, word [r12 + 4]
mov word [rsp + 0x2c], di
movzx r14d, byte [r12 + 6]
mov byte [rsp + 0x2e], r14b
movzx r15d, byte [r12 + 7]
mov byte [rsp + 0x2f], r15b
mov ecx, 0xa
test di, di
cmove ecx, r9d
add rcx, r12
mov r12, rcx
cmp bx, r8w
jne 0x14002d7b9
lea r12, [rcx + 0x16]
cmp rdx, r11
je 0x14002d795
mov word [rdx], bx
mov word [rdx + 2], si
mov word [rdx + 4], di
mov byte [rdx + 6], r14b
mov byte [rdx + 7], r15b
mov qword [rdx + 8], r13
mov qword [rdx + 0x10], r13
mov rdx, qword [rsp + 0xd8]
add rdx, 0x18
mov qword [rsp + 0xd8], rdx
jmp 0x14002d7af
lea r8, [rsp + 0x28]
lea rcx, [rsp + 0xd0]
call fcn.1400171b0
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x38]
jmp 0x14002db2e
movzx r9d, bl
movabs rax, 0xcbf29ce484222325
xor r9, rax
imul r9, r10
mov rax, rbx
shr rax, 8
xor r9, rax
imul r9, r10
mov rax, rbx
shr rax, 0x10
xor r9, rax
imul r9, r10
mov rax, rbx
shr rax, 0x18
xor r9, rax
imul r9, r10
and r9, qword [0x1401bd620]
add r9, r9
mov r10, qword [0x1401bd608]
mov rax, qword [r10 + r9*8 + 8]
mov rcx, qword [0x1401bd5f8]
cmp rax, rcx
je 0x14002d82e
mov r10, qword [r10 + r9*8]
nop
cmp ebx, dword [rax + 0x10]
je 0x14002d831
cmp rax, r10
jne 0x14002db8d
mov rax, r13
test rax, rax
cmovne rcx, rax
movsx rcx, byte [rcx + 0x1e]
cmp ecx, 0x38
ja 0x14002d852
movabs r9, 0x1fec9560408240c
bt r9, rcx
jb 0x14002d8ac
cmp ebx, 0x8c6
je 0x14002d8ac
cmp ecx, 0x3f
ja 0x14002d86f
movabs r9, 0xea00000000000000
bt r9, rcx
jb 0x14002d8ac
cmp ebx, 0xeb0
je 0x14002d8ac
lea eax, [rcx - 0x42]
cmp eax, 0x3d
ja 0x14002d88f
movabs r9, 0x2006a00c8afed583
bt r9, rax
jb 0x14002d8ac
cmp ecx, 0xffffff82
je 0x14002d8ac
test bl, 1
jne case.0x14002d8d8.0
lea eax, [rbx - 0x16ba]
cmp eax, 0x72
ja case.0x14002d8d8.0
movzx eax, byte [r12]
inc r12
cmp eax, 0x4a
ja case.0x14002d8d8.5
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x2de98]
mov ecx, dword [r8 + rax*4 + 0x2de30]
add rcx, r8
jmp rcx
movzx eax, word [r12]
add r12, 3
add r12, rax
jmp case.0x14002d8d8.0
movzx eax, word [r12]
add r12, 6
add r12, rax
jmp case.0x14002d8d8.0
movzx eax, byte [r12 + 5]
lea r12, [r12 + rax*4]
add r12, 0x11
jmp case.0x14002d8d8.0
add r12, 5
jmp case.0x14002d8d8.0
inc r12
jmp case.0x14002d8d8.0
movzx eax, word [r12 + 4]
add r12, 6
add r12, rax
jmp case.0x14002d8d8.0
movzx eax, word [r12]
add r12, 0x19
add r12, rax
jmp case.0x14002d8d8.0
add r12, 0x12
jmp case.0x14002d8d8.0
movzx eax, word [r12]
add r12, 7
add r12, rax
jmp case.0x14002d8d8.0
add r12, 8
jmp case.0x14002d8d8.0
inc r12
mov eax, dword [r12]
lea eax, [rax*4]
movsxd rcx, eax
add rcx, 4
add r12, rcx
jmp case.0x14002d8d8.0
add r12, 6
jmp case.0x14002d8d8.0
mov eax, 0xd42
cmp bx, ax
jne case.0x14002d8d8.0
movzx eax, word [r12]
add r12, 2
add r12, rax
jmp case.0x14002d8d8.0
movzx eax, word [r12]
add r12, 0x22
add r12, rax
jmp case.0x14002d8d8.0
add r12, 0x10
jmp case.0x14002d8d8.0
add r12, 5
movzx eax, byte [r12]
lea r12, [r12 + rax*4]
add r12, 4
jmp case.0x14002d8d8.0
movzx eax, word [r12]
add r12, 0x1c
add r12, rax
jmp case.0x14002d8d8.0
add r12, 9
jmp case.0x14002d8d8.0
movsx rax, word [r12]
add r12, 2
add r12, rax
jmp case.0x14002d8d8.0
add r12, 0xe
jmp case.0x14002d8d8.0
imul ecx, dword [r12], 0xf
add r12, 0xc
add r12, rcx
jmp case.0x14002d8d8.0
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r13
mov r8d, reloc.WLDAP32.dll_Ordinal_33
lea rdx, str._cUnable_To_serialize_this_World.
lea rcx, [rsp + 0x80]
call fcn.140015bf0
lea rcx, [rsp + 0x80]
call fcn.140097fe0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
mov r8d, 0x50
lea rdx, str._cFeatures_such_as__9Autohost__Autocollect__Pathfind__Growscan__cmight_not_work.
lea rcx, [rsp + 0xa0]
call fcn.140015bf0
lea rcx, [rsp + 0xa0]
call fcn.140097fe0
mov r11, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
cmp rdx, r11
je 0x14002db0f
mov word [rdx], bx
mov word [rdx + 2], si
mov word [rdx + 4], di
mov byte [rdx + 6], r14b
mov byte [rdx + 7], r15b
mov qword [rdx + 8], r13
mov qword [rdx + 0x10], r13
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x14002daec
lock inc dword [rcx + 8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rcx
mov rdx, qword [rsp + 0xd8]
add rdx, 0x18
mov qword [rsp + 0xd8], rdx
jmp 0x14002db2e
lea r8, [rsp + 0x28]
lea rcx, [rsp + 0xd0]
call fcn.1400171b0
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002db71
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14002db69
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14002db69
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdx, qword [rsp + 0xd8]
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov r11, qword [rsp + 0xe0]
mov r14, qword [rsp + 0x70]
jmp 0x14002d6e1
mov rax, qword [rax + 8]
jmp 0x14002d820
mov esi, r13d
nop dword [rax]
cmp esi, dword [r14 + 0xe4]
jge 0x14002dcc6
mov edi, r13d
cmp edi, dword [r14 + 0xe0]
jge 0x14002dcbf
imul r8d, esi, 0x64
add r8d, edi
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rdx, qword [rsp + 0xd0]
movzx eax, word [rdx + rcx*8]
mov word [rsp + 0x48], ax
movzx eax, word [rdx + rcx*8 + 2]
mov word [rsp + 0x4a], ax
movzx eax, word [rdx + rcx*8 + 4]
mov word [rsp + 0x4c], ax
movzx eax, byte [rdx + rcx*8 + 6]
mov byte [rsp + 0x4e], al
movzx eax, byte [rdx + rcx*8 + 7]
mov byte [rsp + 0x4f], al
mov rax, qword [rdx + rcx*8 + 0x10]
test rax, rax
je 0x14002dc10
lock inc dword [rax + 8]
mov rax, qword [rdx + rcx*8 + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rdx + rcx*8 + 0x10]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x64], esi
lea rcx, [r14 + 0xf8]
mov dword [rsp + 0x40], r8d
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
call fcn.14001c290
mov rbx, qword [rax]
lea rdx, [rsp + 0x48]
lea rcx, [rbx + 0x18]
call fcn.140029ff0
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x30], rax
cmp word [rsp + 0x48], 6
jne 0x14002dc70
mov qword [r14 + 0xf0], rax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002dcb0
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14002dcb0
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14002dcb0
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
inc edi
mov rdx, qword [rsp + 0xd8]
jmp 0x14002dbb0
inc esi
jmp 0x14002dba0
mov edi, dword [r12 + 0xc]
mov eax, dword [r12 + 0x10]
mov dword [r14 + 0xec], eax
add r12, 0x14
nop dword [rax + rax]
cmp r13d, edi
jge 0x14002dd76
movzx eax, word [r12]
mov word [rsp + 0xe8], ax
mov eax, dword [r12 + 2]
mov dword [rsp + 0xec], eax
mov eax, dword [r12 + 6]
mov dword [rsp + 0xf0], eax
movzx eax, byte [r12 + 0xa]
mov byte [rsp + 0xf4], al
movzx eax, byte [r12 + 0xb]
mov byte [rsp + 0xf5], al
mov ebx, dword [r12 + 0xc]
mov dword [rsp + 0xf8], ebx
add r12, 0x10
movups xmm6, xmmword [rsp + 0xe8]
lea rcx, [r14 + 0x138]
lea r8, [rsp + 0xf8]
lea rdx, [rsp + 0xc0]
call fcn.14001bba0
mov rax, qword [rax]
movups xmmword [rax + 0x14], xmm6
mov dword [rax + 0x24], ebx
inc r13d
mov rdx, qword [rsp + 0xd8]
jmp 0x14002dce0
mov byte [r14], 1
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14002ddfb
lea r8, [rsp + 0xd0]
call fcn.1400160e0
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xd0]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x14002ddf2
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002ddf2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.14011cd34
nop
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.14011ce50
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret