Function at 0x1800472f0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, qword [rsp + 0x20]
mov r13d, r9d
mov rsi, r8
mov r9, rcx
lea r12d, [r13 + 8]
cmp r13d, r12d
jae case.0x180047376.160
mov rdi, qword [rsp + 0x20]
mov r15d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x88]
mov r14d, dword [rsp + 0x88]
xor r11d, r11d
lea eax, [r13 - 0x9d]
lea rdx, [0x180000000]
movabs r10, 0xaaaaaaaaaaaaaaab
cmp eax, 0x19
ja case.0x180047376.163
movzx eax, byte [rdx + rax + 0x475f8]
mov ecx, dword [rdx + rax*4 + 0x475dc]
add rcx, rdx
jmp rcx
mov eax, 1
xchg dword [rsi + 0x120], eax
xor eax, eax
lock cmpxchg dword [rsi + 0x120], r11d
je case.0x180047376.158
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
xor r11d, r11d
lock cmpxchg dword [rsi + 0x120], r11d
jne 0x180047390
mov r13d, 0x9e
jmp case.0x180047376.163
mov rcx, qword [rsi + 0x10]
mov rax, r10
add rcx, 2
xor r8d, r8d
mul rcx
mov rcx, r9
shr rdx, 1
shl rdx, 2
call fcn.1800512c0
cmp qword [rsi + 0x18], 0x10
mov rdi, rsi
jb case.0x180047376.163
mov rdi, qword [rsi]
jmp case.0x180047376.163
cmp qword [r9 + 0x18], 0x10
mov r8, r9
jb 0x1800473f9
mov r8, qword [r9]
mov rcx, qword [rsi + 0x10]
mov rax, r10
mul rcx
mov r10, r11
shr rdx, 1
lea rax, [rdx + rdx*2]
test rax, rax
je 0x1800474ed
lea rcx, [rax - 1]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
mov r9, rdx
shr r9, 1
inc r9
lea r10, [r9 + r9*2]
mov eax, 0xc8
nop dword [rax]
cmp eax, 0xc8
je 0x180047475
cmp eax, 0x1db0
je 0x18004745b
cmp eax, 0x3a98
jne 0x1800474cf
add rdi, 3
jmp 0x1800474cf
movzx edx, byte [rdi + 2]
mov rcx, qword [0x180074ef0]
and edx, 0x3f
movzx edx, byte [rdx + rcx]
mov byte [r8], dl
inc r8
jmp 0x1800474cf
mov rcx, qword [0x180074ef0]
movzx edx, byte [rdi]
shr rdx, 2
movzx edx, byte [rdx + rcx]
mov byte [r8], dl
movzx edx, byte [rdi]
movzx ecx, byte [rdi + 1]
and edx, 3
shl edx, 4
shr ecx, 4
add edx, ecx
mov rcx, qword [0x180074ef0]
movzx edx, byte [rdx + rcx]
mov byte [r8 + 1], dl
movzx edx, byte [rdi + 1]
movzx ecx, byte [rdi + 2]
and edx, 0xf
shr ecx, 6
lea edx, [rcx + rdx*4]
mov rcx, qword [0x180074ef0]
movzx edx, byte [rdx + rcx]
mov byte [r8 + 2], dl
add r8, 3
add eax, 0x1ce8
cmp eax, 0x56b8
jbe 0x180047440
sub r9, 1
jne 0x180047434
mov rcx, qword [rsi + 0x10]
cmp r10, rcx
jae case.0x180047376.163
mov r9d, 0x9e
nop dword [rax]
mov eax, r9d
sub eax, 0x9d
je 0x180047532
cmp eax, 1
jne 0x18004759a
movzx r15d, byte [rdi]
lea rax, [r10 + 1]
cmp rax, qword [rsi + 0x10]
jae 0x18004752a
movzx ebp, byte [rdi + 1]
mov r14d, r11d
jmp 0x18004759a
mov ebp, r11d
mov r14d, r11d
jmp 0x18004759a
mov rax, qword [0x180074ef0]
mov ecx, r15d
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov eax, ebp
mov byte [r8], cl
mov ecx, r15d
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x180074ef0]
movzx ecx, byte [rcx + rax]
lea rax, [r10 + 1]
mov byte [r8 + 1], cl
cmp rax, qword [rsi + 0x10]
jae 0x18004758b
mov ecx, ebp
mov eax, r14d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180074ef0]
movzx edx, byte [rcx + rax]
jmp 0x18004758d
mov dl, 0x3d
mov byte [r8 + 2], dl
mov byte [r8 + 3], 0x3d
add r8, 4
dec r9d
cmp r9d, 0x9c
ja 0x180047500
jmp case.0x180047376.163
mov rbx, r11
inc r13d
cmp r13d, r12d
jae case.0x180047376.160
mov r9, qword [rsp + 0x70]
jmp 0x180047340
mov rax, rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret