Function at 0x140005d96
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rdi, rdx
mov rbx, rcx
mov byte [rsp + 0x27], 0x14
movzx eax, byte [rsp + 0x27]
add al, 0xfc
movzx ecx, al
call fcn.1400018f0
mov rsi, rax
mov byte [rsp + 0x27], 0x14
movzx ecx, byte [rsp + 0x27]
add cl, 0xfc
je 0x140005ddc
movzx eax, cl
cmp al, 8
jae 0x140005d88
mov rdx, rsi
mov r8, rax
jmp 0x140005dc6
cmp cl, 0x10
jae 0x140006019
xor ecx, ecx
mov r9d, eax
and r9d, 0xfffffff8
lea rdx, [rsi + r9]
mov r8d, eax
and r8d, 7
nop word cs:[rax + rax]
mov qword [rsi + rcx], 0
add rcx, 8
cmp r9, rcx
jne 0x140005db0
cmp r9, rax
je 0x140005ddc
xor eax, eax
nop dword [rax + rax]
mov byte [rdx + rax], 0
inc rax
cmp r8, rax
jne 0x140005dd0
mov ecx, 0x48
call fcn.140001790
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 0x28], xmm0
mov rcx, rax
call fcn.140006a90
mov rax, qword [r14]
lea rcx, [rax + rdi]
mov qword [r14], rcx
test rdi, rdi
je 0x140005e80
and eax, 0x3f
lea r15, [r14 + 8]
xor r12d, r12d
jmp 0x140005e28
inc r12d
cmp r12, rdi
jae 0x140005e80
movzx ecx, byte [rbx + r12]
mov r8, qword [r14 + 0x18]
mov edx, eax
inc eax
mov dword [r8 + rdx*4], ecx
test al, 0x3f
jne 0x140005e20
xor eax, eax
nop
mov ecx, dword [r8 + rax*4 + 0xc]
shl ecx, 0x18
mov edx, dword [r8 + rax*4 + 4]
mov r9d, dword [r8 + rax*4 + 8]
shl r9d, 0x10
or r9d, ecx
shl edx, 8
or edx, r9d
or edx, dword [r8 + rax*4]
mov dword [r8 + rax], edx
add rax, 4
cmp rax, 0x40
jne 0x140005e40
mov rcx, r14
mov rdx, r15
call fcn.140006d20
xor eax, eax
jmp 0x140005e20
mov rcx, r14
call fcn.140006bd0
mov byte [rsp + 0x27], 0xb2
mov byte [rsp + 0x26], 0xa2
movzx eax, byte [rsp + 0x26]
xor al, byte [rsp + 0x27]
movzx ecx, al
add r14, 0x38
mov eax, ecx
and eax, 7
cmp cl, 8
jae 0x140005eb4
mov rdx, r14
mov rcx, rsi
jmp 0x140005f2a
mov r9d, ecx
shr r9d, 3
cmp cl, 0x10
jae 0x140005ecb
mov rcx, rsi
mov r8, r9
mov rdx, r14
jmp 0x140005f07
mov r10d, r9d
and r10d, 0xfffffffe
mov edx, r10d
lea r11, [rdx*8]
lea rcx, [rsi + rdx*8]
mov r8d, r9d
and r8d, 1
lea rdx, [r14 + rdx*8]
xor edi, edi
nop
movups xmm0, xmmword [r14 + rdi]
movups xmmword [rsi + rdi], xmm0
add rdi, 0x10
cmp r11, rdi
jne 0x140005ef0
cmp r9, r10
je 0x140005f2a
xor r10d, r10d
xor r9d, r9d
nop dword [rax]
mov r11, qword [rdx + r10*8]
mov qword [rcx + r10*8], r11
add r9, 0xfffffffffffffff8
inc r10
cmp r8, r10
jne 0x140005f10
sub rcx, r9
sub rdx, r9
test rax, rax
je 0x140005f51
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [rdx + r8]
mov byte [rcx + r8], r9b
inc r8
cmp rax, r8
jne 0x140005f40
mov ecx, 0x21
call fcn.1400018f0
mov rdi, rax
mov byte [rsp + 0x27], 0x35
mov byte [rsp + 0x28], 0x36
mov byte [rsp + 0x29], 0x37
mov byte [rsp + 0x2a], 0x38
mov byte [rsp + 0x2b], 0x39
mov byte [rsp + 0x2c], 0x3a
mov byte [rsp + 0x2d], 0x3b
mov byte [rsp + 0x2e], 0x3c
mov byte [rsp + 0x2f], 0x3d
mov byte [rsp + 0x30], 0x3e
mov byte [rsp + 0x31], 0x66
mov byte [rsp + 0x32], 0x67
mov byte [rsp + 0x33], 0x68
mov byte [rsp + 0x34], 0x69
mov byte [rsp + 0x35], 0x6a
mov byte [rsp + 0x36], 0x6b
mov byte [rsp + 0x37], 0
mov ecx, 0x11
call fcn.1400018f0
xor ecx, ecx
nop
movzx edx, byte [rsp + rcx + 0x27]
add dl, 0xfb
mov byte [rax + rcx], dl
inc rcx
cmp rcx, 0x10
jne 0x140005fc0
xor ecx, ecx
nop word cs:[rax + rax]
movzx edx, byte [rsi + rcx]
mov r8d, edx
shr r8d, 4
and edx, 0xf
movzx r8d, byte [rax + r8]
mov byte [rdi + rcx*2], r8b
movzx edx, byte [rax + rdx]
mov byte [rdi + rcx*2 + 1], dl
inc rcx
cmp rcx, 0x10
jne 0x140005fe0
mov rax, rsi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ecx, eax
and ecx, 0xfffffff0
xor edx, edx
xorps xmm0, xmm0
nop word cs:[rax + rax]
movups xmmword [rsi + rdx], xmm0
add rdx, 0x10
cmp rcx, rdx
jne 0x140006030
cmp rcx, rax
je 0x140005ddc
test al, 8
jne 0x140005d93
and eax, 0xf
add rcx, rsi
mov rdx, rcx
jmp 0x140005d83