Function at 0x140036c70
Capabilities:
Encode data using base64
Encode data using xor
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x140116008]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov r8d, dword [0x140117130]
lea r9, [rbp - 0x49]
xor ebx, ebx
lea r11, [0x140158c40]
mov dword [rbp - 0x49], ebx
lea r10d, [rbx + 4]
nop dword [rax]
movzx ecx, byte [r9]
lea r9, [r9 + 1]
movzx eax, r8w
xor rcx, rax
mov eax, r8d
shr eax, 8
movzx edx, cl
mov r8d, dword [r11 + rdx*4]
xor r8d, eax
sub r10, 1
jne 0x140036cc0
lea eax, [r8 - 1]
mov dword [0x140117130], r8d
mov dword [rbp - 0x49], eax
call fcn.140009a00
mov r8d, 2
mov dword [rbp - 0x45], eax
lea rdx, [rbp - 0x49]
mov dword [rbp - 0x39], 0x67452301
lea rcx, [rbp - 0x39]
mov dword [rbp - 0x35], 0xefcdab89
mov dword [rbp - 0x31], 0x98badcfe
mov qword [rbp - 0x2d], 0x10325476
mov dword [rbp - 0x25], ebx
call fcn.140016c10
lea rdx, [0x14095e7d6]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], bl
jne 0x140036d40
movzx r8d, ax
lea rcx, [rbp - 0x39]
call fcn.140016c10
mov edx, dword [rbp - 0x29]
lea rcx, [rbp - 0x21]
shr edx, 3
and edx, 0x3f
mov eax, edx
add rcx, rax
mov eax, 0x3f
sub eax, edx
xor edx, edx
mov byte [rcx], 0x80
inc rcx
cmp eax, 8
jae 0x140036db0
mov r8d, eax
call fcn.1400500b0
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x39]
call fcn.140016420
xor eax, eax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rax
jmp 0x140036dbb
add eax, 0xfffffff8
mov r8d, eax
call fcn.1400500b0
mov eax, dword [rbp - 0x29]
lea rdx, [rbp - 0x21]
mov dword [rbp + 0x17], eax
lea rcx, [rbp - 0x39]
mov eax, dword [rbp - 0x25]
mov dword [rbp + 0x1b], eax
call fcn.140016420
movaps xmm0, xmmword [rbp - 0x39]
lea r8, [0x140968630]
mov edi, 0x1c
lea r11, [rbp + 0x27]
mov r14d, 0xffff
movups xmmword [rbp + 0x27], xmm0
lea r10d, [rdi - 0xc]
lea esi, [rdi + 0x13]
lea r15d, [r14 - 3]
nop dword [rax]
mov word [rbp - 0x47], r14w
test r10w, r10w
je 0x140036ec6
movzx ecx, byte [r11]
inc r11
movzx eax, cl
and cl, 3
shl cl, 4
shr al, 2
mov byte [rbp - 0x49], al
mov byte [rbp - 0x48], cl
add r10w, r14w
je 0x140036e6b
movzx edx, byte [r11]
inc r11
movzx eax, dl
and dl, 0xf
shr al, 4
or al, cl
shl dl, 2
mov byte [rbp - 0x48], al
mov byte [rbp - 0x47], dl
add r10w, r14w
je 0x140036e6b
movzx ecx, byte [r11]
add r10w, r14w
movzx eax, cl
inc r11
shr al, 6
or al, dl
and cl, 0x3f
mov byte [rbp - 0x47], al
mov byte [rbp - 0x46], cl
lea rdx, [rbp - 0x49]
mov r9d, 4
movzx eax, byte [rdx]
cmp al, 0x19
ja 0x140036e80
add al, 0x41
jmp 0x140036ea5
cmp al, 0x33
ja 0x140036e88
add al, 0x47
jmp 0x140036ea5
cmp al, 0x3d
ja 0x140036e90
add al, 0xfc
jmp 0x140036ea5
cmp al, 0x3e
jne 0x140036e98
mov al, 0x2b
jmp 0x140036ea5
cmp al, 0x3f
mov ecx, 0x3d
cmove ecx, esi
movzx eax, cl
mov byte [r8], al
inc rdx
inc r8
sub r9, 1
jne 0x140036e75
add di, r15w
add bx, 4
cmp di, 4
jae 0x140036e00
mov word [0x14096864c], bx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14004ee60
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret