Function at 0x18000f450
Capabilities:
Encode data using base64

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x2f8
mov rax, qword [0x18004a0c0]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
mov dword [rsp + 4], 0
jmp 0x18000f48c
mov eax, dword [rsp + 4]
inc eax
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x310]
cmp dword [rsp + 4], eax
jge 0x18000fa21
mov eax, dword [rsp + 4]
shl eax, 7
cdqe
mov rcx, qword [rsp + 0x308]
add rcx, rax
mov rax, rcx
mov qword [rsp + 8], rax
mov dword [rsp], 0
jmp 0x18000f4ca
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
cmp dword [rsp], 0x10
jge 0x18000f5a9
mov eax, dword [rsp]
shl eax, 3
cdqe
mov rcx, qword [rsp + 8]
movzx eax, byte [rcx + rax + 7]
mov ecx, dword [rsp]
shl ecx, 3
movsxd rcx, ecx
mov rdx, qword [rsp + 8]
movzx ecx, byte [rdx + rcx + 6]
shl rcx, 8
or rax, rcx
mov ecx, dword [rsp]
shl ecx, 3
movsxd rcx, ecx
mov rdx, qword [rsp + 8]
movzx ecx, byte [rdx + rcx + 5]
shl rcx, 0x10
or rax, rcx
mov ecx, dword [rsp]
shl ecx, 3
movsxd rcx, ecx
mov rdx, qword [rsp + 8]
movzx ecx, byte [rdx + rcx + 4]
shl rcx, 0x18
or rax, rcx
mov ecx, dword [rsp]
shl ecx, 3
movsxd rcx, ecx
mov rdx, qword [rsp + 8]
movzx ecx, byte [rdx + rcx + 3]
shl rcx, 0x20
or rax, rcx
mov ecx, dword [rsp]
shl ecx, 3
movsxd rcx, ecx
mov rdx, qword [rsp + 8]
movzx ecx, byte [rdx + rcx + 2]
shl rcx, 0x28
or rax, rcx
mov ecx, dword [rsp]
shl ecx, 3
movsxd rcx, ecx
mov rdx, qword [rsp + 8]
movzx ecx, byte [rdx + rcx + 1]
shl rcx, 0x30
or rax, rcx
mov ecx, dword [rsp]
shl ecx, 3
movsxd rcx, ecx
mov rdx, qword [rsp + 8]
movzx ecx, byte [rdx + rcx]
shl rcx, 0x38
or rax, rcx
movsxd rcx, dword [rsp]
mov qword [rsp + rcx*8 + 0x60], rax
jmp 0x18000f4c2
mov dword [rsp], reloc.WS2_32.dll_recv
jmp 0x18000f5ba
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
cmp dword [rsp], 0x50
jge 0x18000f6bd
mov eax, dword [rsp]
sub eax, 2
cdqe
mov rax, qword [rsp + rax*8 + 0x60]
shr rax, 0x13
mov ecx, dword [rsp]
sub ecx, 2
movsxd rcx, ecx
mov rcx, qword [rsp + rcx*8 + 0x60]
shl rcx, 0x2d
or rax, rcx
mov ecx, dword [rsp]
sub ecx, 2
movsxd rcx, ecx
mov rcx, qword [rsp + rcx*8 + 0x60]
shr rcx, 0x3d
mov edx, dword [rsp]
sub edx, 2
movsxd rdx, edx
mov rdx, qword [rsp + rdx*8 + 0x60]
shl rdx, 3
or rcx, rdx
xor rax, rcx
mov ecx, dword [rsp]
sub ecx, 2
movsxd rcx, ecx
mov rcx, qword [rsp + rcx*8 + 0x60]
shr rcx, 6
xor rax, rcx
mov ecx, dword [rsp]
sub ecx, 7
movsxd rcx, ecx
add rax, qword [rsp + rcx*8 + 0x60]
mov ecx, dword [rsp]
sub ecx, 0xf
movsxd rcx, ecx
mov rcx, qword [rsp + rcx*8 + 0x60]
shr rcx, 1
mov edx, dword [rsp]
sub edx, 0xf
movsxd rdx, edx
mov rdx, qword [rsp + rdx*8 + 0x60]
shl rdx, 0x3f
or rcx, rdx
mov edx, dword [rsp]
sub edx, 0xf
movsxd rdx, edx
mov rdx, qword [rsp + rdx*8 + 0x60]
shr rdx, 8
mov r8d, dword [rsp]
sub r8d, 0xf
movsxd r8, r8d
mov r8, qword [rsp + r8*8 + 0x60]
shl r8, 0x38
or rdx, r8
xor rcx, rdx
mov edx, dword [rsp]
sub edx, 0xf
movsxd rdx, edx
mov rdx, qword [rsp + rdx*8 + 0x60]
shr rdx, 7
xor rcx, rdx
add rax, rcx
mov ecx, dword [rsp]
sub ecx, 0x10
movsxd rcx, ecx
add rax, qword [rsp + rcx*8 + 0x60]
movsxd rcx, dword [rsp]
mov qword [rsp + rcx*8 + 0x60], rax
jmp 0x18000f5b2
mov dword [rsp], 0
jmp 0x18000f6ce
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
cmp dword [rsp], 8
jge 0x18000f6f3
movsxd rax, dword [rsp]
movsxd rcx, dword [rsp]
mov rdx, qword [rsp + 0x300]
mov rax, qword [rdx + rax*8 + 0x108]
mov qword [rsp + rcx*8 + 0x20], rax
jmp 0x18000f6c6
mov dword [rsp], 0
jmp 0x18000f704
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
cmp dword [rsp], 0x50
jge 0x18000f9d2
mov eax, 8
imul rax, rax, 7
mov ecx, 8
imul rcx, rcx, 4
mov rcx, qword [rsp + rcx + 0x20]
shr rcx, 0xe
mov edx, 8
imul rdx, rdx, 4
mov rdx, qword [rsp + rdx + 0x20]
shl rdx, 0x32
or rcx, rdx
mov edx, 8
imul rdx, rdx, 4
mov rdx, qword [rsp + rdx + 0x20]
shr rdx, 0x12
mov r8d, 8
imul r8, r8, 4
mov r8, qword [rsp + r8 + 0x20]
shl r8, 0x2e
or rdx, r8
xor rcx, rdx
mov edx, 8
imul rdx, rdx, 4
mov rdx, qword [rsp + rdx + 0x20]
shr rdx, 0x29
mov r8d, 8
imul r8, r8, 4
mov r8, qword [rsp + r8 + 0x20]
shl r8, 0x17
or rdx, r8
xor rcx, rdx
mov rax, qword [rsp + rax + 0x20]
add rax, rcx
mov ecx, 8
imul rcx, rcx, 4
mov edx, 8
imul rdx, rdx, 5
mov rdx, qword [rsp + rdx + 0x20]
mov rcx, qword [rsp + rcx + 0x20]
and rcx, rdx
mov edx, 8
imul rdx, rdx, 4
mov rdx, qword [rsp + rdx + 0x20]
not rdx
mov r8d, 8
imul r8, r8, 6
and rdx, qword [rsp + r8 + 0x20]
xor rcx, rdx
add rax, rcx
movsxd rcx, dword [rsp]
lea rdx, [0x1800438a0]
add rax, qword [rdx + rcx*8]
movsxd rcx, dword [rsp]
add rax, qword [rsp + rcx*8 + 0x60]
mov qword [rsp + 0x10], rax
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x20]
shr rax, 0x1c
mov ecx, 8
imul rcx, rcx, 0
mov rcx, qword [rsp + rcx + 0x20]
shl rcx, 0x24
or rax, rcx
mov ecx, 8
imul rcx, rcx, 0
mov rcx, qword [rsp + rcx + 0x20]
shr rcx, 0x22
mov edx, 8
imul rdx, rdx, 0
mov rdx, qword [rsp + rdx + 0x20]
shl rdx, 0x1e
or rcx, rdx
xor rax, rcx
mov ecx, 8
imul rcx, rcx, 0
mov rcx, qword [rsp + rcx + 0x20]
shr rcx, 0x27
mov edx, 8
imul rdx, rdx, 0
mov rdx, qword [rsp + rdx + 0x20]
shl rdx, 0x19
or rcx, rdx
xor rax, rcx
mov ecx, 8
imul rcx, rcx, 0
mov edx, 8
imul rdx, rdx, 1
mov rdx, qword [rsp + rdx + 0x20]
mov rcx, qword [rsp + rcx + 0x20]
and rcx, rdx
mov edx, 8
imul rdx, rdx, 0
mov r8d, 8
imul r8, r8, 2
mov r8, qword [rsp + r8 + 0x20]
mov rdx, qword [rsp + rdx + 0x20]
and rdx, r8
xor rcx, rdx
mov edx, 8
imul rdx, rdx, 1
mov r8d, 8
imul r8, r8, 2
mov r8, qword [rsp + r8 + 0x20]
mov rdx, qword [rsp + rdx + 0x20]
and rdx, r8
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x18], rax
mov eax, 8
imul rax, rax, 6
mov ecx, 8
imul rcx, rcx, 7
mov rax, qword [rsp + rax + 0x20]
mov qword [rsp + rcx + 0x20], rax
mov eax, 8
imul rax, rax, 5
mov ecx, 8
imul rcx, rcx, 6
mov rax, qword [rsp + rax + 0x20]
mov qword [rsp + rcx + 0x20], rax
mov eax, 8
imul rax, rax, 4
mov ecx, 8
imul rcx, rcx, 5
mov rax, qword [rsp + rax + 0x20]
mov qword [rsp + rcx + 0x20], rax
mov eax, 8
imul rax, rax, 3
mov rax, qword [rsp + rax + 0x20]
add rax, qword [rsp + 0x10]
mov ecx, 8
imul rcx, rcx, 4
mov qword [rsp + rcx + 0x20], rax
mov eax, 8
imul rax, rax, 2
mov ecx, 8
imul rcx, rcx, 3
mov rax, qword [rsp + rax + 0x20]
mov qword [rsp + rcx + 0x20], rax
mov eax, 8
imul rax, rax, 1
mov ecx, 8
imul rcx, rcx, 2
mov rax, qword [rsp + rax + 0x20]
mov qword [rsp + rcx + 0x20], rax
mov eax, 8
imul rax, rax, 0
mov ecx, 8
imul rcx, rcx, 1
mov rax, qword [rsp + rax + 0x20]
mov qword [rsp + rcx + 0x20], rax
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
add rcx, rax
mov rax, rcx
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x20], rax
jmp 0x18000f6fc
mov dword [rsp], 0
jmp 0x18000f9e3
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
cmp dword [rsp], 8
jge 0x18000fa1c
movsxd rax, dword [rsp]
movsxd rcx, dword [rsp]
mov rdx, qword [rsp + 0x300]
mov rax, qword [rdx + rax*8 + 0x108]
add rax, qword [rsp + rcx*8 + 0x20]
movsxd rcx, dword [rsp]
mov rdx, qword [rsp + 0x300]
mov qword [rdx + rcx*8 + 0x108], rax
jmp 0x18000f9db
jmp 0x18000f482
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.180015880
add rsp, 0x2f8
ret