Function at 0x18002f610
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
push rdi
push r13
push r14
push r15
sub rsp, 0x28
movsxd r14, edx
mov r13, r9
mov r10, rcx
test rcx, rcx
je 0x18002f89c
test r8, r8
je 0x18002f89c
test r9, r9
je 0x18002f89c
mov rcx, r14
shl rcx, 2
cmp rcx, 0x7fffffff
jg 0x18002f8aa
movabs rax, 0x5555555555555556
mov r15d, 4
imul rcx
mov eax, 0x55555556
mov r9, rdx
shr r9, 0x3f
add r9, rdx
imul r14d
mov eax, r14d
mov r11d, edx
shr r11d, 0x1f
add r11d, edx
lea ecx, [r11 + r11*2]
sub eax, ecx
mov dword [rsp + 0x70], ecx
add r9d, eax
mov eax, 0x6bca1af3
imul r9d
mov edi, r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x4c
sub edi, eax
je 0x18002f6ce
and edi, 0x80000003
jge 0x18002f6c2
dec edi
or edi, 0xfffffffc
inc edi
test edi, edi
je 0x18002f6ce
mov ecx, r15d
sub ecx, edi
add r9d, ecx
lea ecx, [rdx + 1]
lea ecx, [r9 + rcx*2]
cmp dword [r13], ecx
jl 0x18002f89c
mov qword [rsp + 0x50], rbx
xor edi, edi
mov qword [rsp + 0x58], rbp
mov eax, 0x6bca1af3
mov qword [rsp + 0x60], rsi
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_License_File
mov qword [rsp + 0x20], r12
mov r9d, edi
lea r12d, [r11*4]
mov r11d, edi
imul r12d
lea ebx, [rdi + 0x13]
mov esi, edx
sar esi, 5
mov eax, esi
shr eax, 0x1f
add esi, eax
js 0x18002f7f3
lea r13, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_License_File
cmp edi, esi
jne 0x18002f744
imul ecx, esi, 0x4c
mov eax, r12d
sub eax, ecx
cdq
and edx, 3
lea ebx, [rdx + rax]
sar ebx, 2
test ebx, ebx
jle 0x18002f7bc
mov ebp, ebx
nop word [rax + rax]
movzx eax, byte [r10 + 2]
movzx edx, byte [r10]
movzx ecx, byte [r10 + 1]
add r10, 3
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
shl edx, 8
mov eax, edx
shr rax, 0x1a
shl edx, 6
movzx eax, byte [rax + r13]
mov byte [r8], al
mov eax, edx
shr rax, 0x1a
shl edx, 6
movzx eax, byte [rax + r13]
mov byte [r8 + 1], al
mov eax, edx
shr rax, 0x1a
shl edx, 6
movzx eax, byte [rax + r13]
mov byte [r8 + 2], al
mov eax, edx
shr rax, 0x1a
movzx eax, byte [rax + r13]
mov byte [r8 + 3], al
add r8, r15
sub rbp, 1
jne 0x18002f750
lea r9d, [r9 + rbx*4]
mov word [r8], 0xa0d
add r9d, 2
add r8, 2
inc r11d
cmp r11d, esi
jle 0x18002f730
mov r13, qword [rsp + 0x68]
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_License_File
test r9d, r9d
je 0x18002f7f3
sub r8, 2
sub r9d, 2
sub r14d, dword [rsp + 0x70]
mov r12, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
lea edx, [r14 + 1]
cmove edx, edi
test edx, edx
je 0x18002f882
test r14d, r14d
jle 0x18002f81e
movzx edi, byte [r10]
inc r10
shl edi, 8
cmp r14d, 1
jle 0x18002f830
movzx eax, byte [r10]
or edi, eax
inc r10
shl edi, 8
cmp r14d, 2
jle 0x18002f83f
movzx eax, byte [r10]
or edi, eax
shl edi, 8
test edx, edx
jle 0x18002f869
mov ecx, edx
nop dword [rax + rax]
mov eax, edi
shr rax, 0x1a
shl edi, 6
movzx eax, byte [rax + rbp]
mov byte [r8], al
inc r8
sub rcx, 1
jne 0x18002f850
sub r15d, edx
test r15d, r15d
jle 0x18002f87e
movsxd rcx, r15d
mov rdi, r8
mov eax, 0x3d
rep stosb byte [rdi], al
add r9d, 4
mov rbp, qword [rsp + 0x58]
mov eax, 1
mov dword [r13], r9d
add rsp, 0x28
pop r15
pop r14
pop r13
pop rdi
ret
xor eax, eax
add rsp, 0x28
pop r15
pop r14
pop r13
pop rdi
ret
mov ecx, 0x80004005
call fcn.180007f70
int3