Function at 0x180059c30
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
imul r12d, r8d, 0x41
mov ebp, r8d
mov rsi, rdx
mov dword [rsp + 0x20], r8d
mov r14, rcx
mov r13d, r8d
mov dword [rsp + 0x28], r12d
cmp r8d, r12d
ja 0x180059dc0
mov rdi, qword [rsp + 0xa8]
xor ebx, ebx
mov r15, qword [rsp + 0xa8]
movabs r8, 0xaaaaaaaaaaaaaaab
cmp r13d, 0x63c
ja 0x180059fe9
je 0x180059dc0
cmp r13d, 0x10b
ja 0x180059ddd
je 0x180059db7
mov eax, r13d
sub eax, 0xd1
je 0x180059d74
sub eax, 0x32
je 0x180059ce6
cmp eax, 7
jne 0x18005a1a8
xor r8d, r8d
lea edx, [rax + 0x25]
mov rcx, r14
call fcn.180058510
mov byte [rsp + 0x48], al
jmp 0x18005a1a8
test r14, r14
je 0x18005a1cc
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x180059d55
mov rbp, rbx
cmp qword [r14 + 0x60], rbx
jbe 0x180059d41
mov rdx, rcx
mov rsi, rbx
nop word [rax + rax]
mov rax, qword [rcx + rsi + 8]
test rax, rax
je 0x180059d31
xor edx, edx
mov r8d, 0xeb
mov rcx, rax
call fcn.18005e5f0
mov rcx, qword [r14 + 0x58]
mov rdx, rcx
inc rbp
add rsi, 0x20
cmp rbp, qword [r14 + 0x60]
jb 0x180059d10
mov rcx, rdx
xor edx, edx
mov r8d, 0xeb
call fcn.18005e5f0
mov ebp, dword [rsp + 0xa0]
mov rcx, qword [r14 + 0x70]
test rcx, rcx
je 0x18005a1a8
xor edx, edx
mov r8d, 0xeb
call fcn.18005e5f0
jmp 0x18005a1a8
mov rcx, qword [r14 + 0x10]
mov rax, r8
add rcx, 2
xor r8d, r8d
mul rcx
mov rcx, rsi
shr rdx, 1
shl rdx, 2
call fcn.18006e600
cmp qword [r14 + 0x18], 0x10
mov r15, r14
jb 0x180059da1
mov r15, qword [r14]
cmp qword [rsi + 0x18], 0x10
mov rdi, rsi
jb 0x18005a1a8
mov rdi, qword [rsi]
jmp 0x18005a1a8
test rsi, rsi
jne 0x18005a1a8
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp r13d, 0x4e6
je 0x180059f06
cmp r13d, 0x612
jne 0x18005a1a8
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x180059e9b
mov r12, rbx
cmp qword [r14 + 0x40], rbx
jbe 0x180059e89
nop dword [rax]
mov rax, rcx
cmp qword [rcx + r12*8], rbx
je 0x180059e76
mov rbp, rbx
cmp qword [r14 + 0x48], rbx
jbe 0x180059e5e
mov rsi, rbx
nop word [rax + rax]
mov rax, qword [rcx + r12*8]
mov r9, qword [rsi + rax]
test r9, r9
je 0x180059e51
xor edx, edx
mov r8d, 0xeb
mov rcx, r9
call fcn.18005e5f0
mov rcx, qword [r14 + 0x30]
inc rbp
add rsi, 0x28
cmp rbp, qword [r14 + 0x48]
jb 0x180059e30
mov rcx, qword [rcx + r12*8]
xor edx, edx
mov r8d, 0xeb
call fcn.18005e5f0
mov rcx, qword [r14 + 0x30]
mov rax, rcx
inc r12
cmp r12, qword [r14 + 0x40]
jb 0x180059e10
mov ebp, dword [rsp + 0xa0]
mov rcx, rax
xor edx, edx
mov r8d, 0xeb
call fcn.18005e5f0
mov r12d, dword [rsp + 0x28]
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x180059eb1
xor edx, edx
mov r8d, 0xeb
call fcn.18005e5f0
mov r8, qword [r14 + 0x88]
lea rcx, [rsp + 0x20]
mov edx, 0x67
mov dword [rsp + 0x20], 1
call fcn.180056210
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x40], xmm0
movups xmmword [r14 + 0x50], xmm0
movups xmmword [r14 + 0x60], xmm0
movups xmmword [r14 + 0x70], xmm0
movups xmmword [r14 + 0x80], xmm0
jmp 0x18005a1a8
mov rax, r8
mov qword [rsp + 0x38], rbx
mul qword [r14 + 0x10]
shr rdx, 1
lea rcx, [rdx + rdx*2]
test rcx, rcx
je 0x18005a1a8
dec rcx
mov rax, r8
mul rcx
shr rdx, 1
inc rdx
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x38], rax
nop word [rax + rax]
mov r8d, 0x67
mov eax, r8d
sub eax, 0x66
je 0x180059fb1
cmp eax, 1
jne 0x180059fcd
mov rax, qword [0x18007ce68]
movzx ecx, byte [r15]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [rdi], cl
movzx ecx, byte [r15]
movzx eax, byte [r15 + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x18007ce68]
movzx ecx, byte [rcx + rax]
mov byte [rdi + 1], cl
movzx ecx, byte [r15 + 2]
movzx eax, byte [r15 + 1]
shr ecx, 6
and eax, 0xf
lea ecx, [rcx + rax*4]
mov rax, qword [0x18007ce68]
movzx ecx, byte [rcx + rax]
mov byte [rdi + 2], cl
add rdi, 3
jmp 0x180059fcd
movzx ecx, byte [r15 + 2]
mov rax, qword [0x18007ce68]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [rdi], cl
inc rdi
add r15, 3
dec r8d
cmp r8d, 0x65
ja 0x180059f46
sub rdx, 1
jne 0x180059f40
jmp 0x18005a1a8
cmp r13d, 0xb79
ja 0x18005a18b
je 0x18005a157
cmp r13d, 0x642
je 0x18005a150
cmp r13d, 0x8fb
je 0x18005a03c
cmp r13d, 0xb21
jne 0x18005a1a8
cmp dword [rsi], ebx
je 0x18005a1d4
xor edx, edx
mov r8d, 0xeb
mov rcx, r14
call fcn.18005e5f0
jmp 0x18005a1a8
mov r9, qword [rsp + 0x38]
cmp r9, qword [r14 + 0x10]
jae 0x18005a1a8
mov r13d, dword [rsp + 0xa8]
mov esi, 0xd2
nop dword [rax + rax]
mov eax, esi
sub eax, 0xd2
je 0x18005a12a
sub eax, 5
je 0x18005a0d7
sub eax, 5
je 0x18005a0a2
sub eax, 5
je 0x18005a090
cmp eax, 5
jne 0x18005a132
mov byte [rdi], 0x3d
inc rdi
jmp 0x18005a132
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov r9, qword [rsp + 0x38]
jmp 0x18005a132
lea rax, [r9 + 1]
cmp rax, qword [r14 + 0x10]
jae 0x18005a0ce
mov eax, dword [rsp + 0x2c]
mov ecx, r13d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x18007ce68]
movzx edx, byte [rcx + rax]
mov byte [rdi], dl
inc rdi
jmp 0x18005a132
mov dl, 0x3d
mov byte [rdi], dl
inc rdi
jmp 0x18005a132
lea rax, [r9 + 1]
cmp rax, qword [r14 + 0x10]
jae 0x18005a0e8
movzx r13d, byte [r15 + 1]
jmp 0x18005a0eb
mov r13d, ebx
mov rax, qword [0x18007ce68]
mov edx, dword [rsp + 0x30]
mov ecx, edx
mov dword [rsp + 0x2c], ebx
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov eax, r13d
mov byte [rdi], cl
mov ecx, edx
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x18007ce68]
movzx ecx, byte [rcx + rax]
mov byte [rdi + 1], cl
add rdi, 2
jmp 0x18005a132
movzx eax, byte [r15]
mov dword [rsp + 0x30], eax
add esi, 5
cmp esi, 0xeb
jb 0x18005a060
mov dword [rsp + 0xa8], r13d
mov r13d, dword [rsp + 0x20]
jmp 0x18005a1a8
mov qword [rsp + 0x40], rbx
jmp 0x18005a1a8
mov rcx, qword [r14 + 0x18]
cmp rcx, qword [r14 + 8]
ja 0x18005a1a8
mov rdx, qword [rsp + 0x40]
nop word [rax + rax]
mov rax, qword [rsi + 8]
mov qword [rax + rcx*8], rdx
inc rdx
inc rcx
cmp rcx, qword [r14 + 8]
jbe 0x18005a170
mov qword [rsp + 0x40], rdx
jmp 0x18005a1a8
cmp r13d, 0x1030
je 0x18005a1a3
cmp r13d, 0x153f
je 0x180059dc0
jmp 0x18005a1a8
mov qword [rsp + 0x48], rbx
mov eax, ebp
add eax, r13d
lea r13d, [rax + rbp*4]
mov dword [rsp + 0x20], r13d
cmp r13d, r12d
ja 0x180059dc0
mov rsi, qword [rsp + 0x98]
jmp 0x180059c83
mov rax, rbx
jmp 0x180059dc5
mov rax, r14
jmp 0x180059dc5