Function at 0x1800525b0
Capabilities:
Encode data using base64

Disassembly:
push r15
sub rsp, 0xa0
mov rax, qword [0x1800a74e0]
xor rax, rsp
mov qword [rsp + 0x68], rax
lea eax, [r8 + 0xa]
mov qword [rsp + 0x40], rcx
mov r15, rdx
mov r11, rcx
cmp r8d, eax
jae 0x1800529d7
mov qword [rsp + 0xc0], rbx
lea r9d, [r8 - 0xf7]
mov rbx, qword [rsp + 0x40]
lea rdx, [0x180000000]
mov qword [rsp + 0x98], rbp
mov r10d, 0xa
mov ebp, dword [rsp + 0x28]
movabs r8, 0xaaaaaaaaaaaaaaab
mov qword [rsp + 0x90], rsi
mov esi, dword [rsp + 0x28]
mov qword [rsp + 0x88], rdi
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x80], r12
mov r12d, dword [rsp + 0x28]
mov qword [rsp + 0x78], r13
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x70], r14
mov r14d, dword [rsp + 0x28]
mov dword [rsp + 0x24], r9d
mov qword [rsp + 0x30], r10
nop dword [rax + rax]
cmp r9d, 0x12
ja case.0x180052675.1
mov ecx, dword [rdx + r9*4 + 0x529f0]
add rcx, rdx
jmp rcx
mov eax, 0x38
mov word [rsp + 0x5b], ax
jmp case.0x180052675.1
xor ecx, ecx
mov rax, r8
mul qword [r15 + 0x10]
movzx eax, byte [rsp + 0x20]
shr rdx, 1
cmp dword [rsp + 0x38], ecx
cmove ecx, eax
xor r13d, r13d
lea r8, [rdx + rdx*2]
mov byte [rsp + 0x20], cl
movzx r11d, cl
test r8, r8
je 0x180052781
lea rcx, [r8 - 1]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
inc rdx
lea r13, [rdx + rdx*2]
nop dword [rax]
nop word [rax + rax]
mov r8d, SHSetInstanceExplorer
mov eax, r8d
sub eax, 0xab
je 0x1800526fb
cmp eax, 1
jne 0x180052767
add rdi, 3
jmp 0x180052767
mov rax, qword [0x18072f0d0]
movzx ecx, byte [rdi]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [rbx], cl
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x18072f0d0]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 1], cl
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x18072f0d0]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 2], cl
movzx ecx, byte [rdi + 2]
mov rax, qword [0x18072f0d0]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [rbx + 3], cl
add rbx, 4
inc r8d
cmp r8d, 0xad
jb 0x1800526e6
sub rdx, 1
jne 0x1800526e0
test r11b, r11b
je 0x1800527cc
lea r8, [rsp + 0x48]
mov qword [rsp + 0x48], 0
mov edx, ebp
lea rcx, [rsp + 0x58]
call sub.RPCRT4.dll_MesDecodeBufferHandleCreate
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x38], eax
test rcx, rcx
je 0x1800527b3
call sub.RPCRT4.dll_MesHandleFree
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1800527c2
call sub.RPCRT4.dll_MesHandleFree
mov r9d, dword [rsp + 0x24]
mov r10, qword [rsp + 0x30]
lea rdx, [0x180000000]
movabs r8, 0xaaaaaaaaaaaaaaab
jmp case.0x180052675.1
cmp dword [0x18072f080], 0
je case.0x180052675.1
mov edx, 0xcc
lea rcx, [0x18072eff0]
call fcn.18007ba00
jmp 0x1800527c2
mov eax, 0x23
mov word [rsp + 0x58], ax
mov eax, 0x3234
mov word [rsp + 0x59], ax
jmp case.0x180052675.1
cmp r13, qword [r15 + 0x10]
jae case.0x180052675.1
mov r8d, 0x105
nop dword [rax + rax]
mov eax, r8d
sub eax, 0x105
je 0x180052892
sub eax, 0xc
je 0x180052880
cmp eax, 0xc
jne 0x1800528c2
lea rax, [r13 + 1]
cmp rax, qword [r15 + 0x10]
jae 0x180052873
mov ecx, esi
mov eax, r12d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x18072f0d0]
movzx edx, byte [rcx + rax]
mov byte [rbx], dl
mov byte [rbx + 1], 0x3d
add rbx, 2
jmp 0x1800528c2
mov dl, 0x3d
mov byte [rbx], dl
mov byte [rbx + 1], dl
add rbx, 2
jmp 0x1800528c2
mov ecx, r14d
mov eax, esi
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
jmp 0x1800528b2
movzx r14d, byte [rdi]
lea rax, [r13 + 1]
cmp rax, qword [r15 + 0x10]
jae 0x1800528a6
movzx esi, byte [rdi + 1]
jmp 0x1800528a8
xor esi, esi
xor r12d, r12d
mov rcx, r14
shr rcx, 2
mov rax, qword [0x18072f0d0]
movzx ecx, byte [rcx + rax]
mov byte [rbx], cl
inc rbx
add r8d, 0xc
cmp r8d, 0x129
jb 0x180052830
jmp 0x1800527cc
cmp qword [r15 + 0x18], 0x10
mov rdi, r15
jb 0x1800528e5
mov rdi, qword [r15]
cmp qword [r11 + 0x18], 0x10
mov rbx, r11
mov qword [rsp + 0x50], 0
jb 0x1800528fb
mov rbx, qword [r11]
lea r9, [rsp + 0x50]
mov edx, ebp
lea r8, [rsp + 0x28]
lea rcx, [rsp + 0x58]
call sub.RPCRT4.dll_MesEncodeFixedBufferHandleCreate
mov dword [rsp + 0x38], eax
jmp 0x1800527c2
mov dword [rsp + 0x61], 0x575320
jmp case.0x180052675.1
lea rax, [rsp + 0x58]
mov rbp, 0xffffffffffffffff
inc rbp
cmp byte [rax + rbp], 0
jne 0x180052930
mov dword [rsp + 0x28], 0
jmp case.0x180052675.1
mov rcx, qword [r15 + 0x10]
mov rax, r8
add rcx, 2
mov byte [rsp + 0x20], 1
mul rcx
xor r8d, r8d
mov rcx, r11
shr rdx, 1
shl rdx, 2
call fcn.1800609c0
jmp 0x1800527c2
mov eax, 0x20
mov word [rsp + 0x5c], ax
mov eax, 0x23
mov word [rsp + 0x5d], ax
mov dword [rsp + 0x5e], 0x393234
mov r11, qword [rsp + 0x40]
inc r9d
sub r10, 1
mov dword [rsp + 0x24], r9d
mov qword [rsp + 0x30], r10
jne 0x180052660
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1800864a0
add rsp, 0xa0
pop r15
ret