Function at 0x18004d6e0
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, 0x70
lea eax, [r9 + 0x1c2]
mov ebp, r9d
mov dword [rsp + 0x40], eax
mov r13, r8
mov rdi, rdx
mov r12, rcx
cmp r9d, eax
jae 0x18004d820
mov r14, qword [rsp + 0x50]
lea rbx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov r15d, dword [rsp + 0xc8]
movabs rdx, 0xaaaaaaaaaaaaaaab
cmp ebp, 0x9c
ja 0x18004d98e
je 0x18004db15
mov eax, ebp
sub eax, 0x20
je 0x18004d961
sub eax, 0x32
je 0x18004d938
sub eax, 0x18
je 0x18004d793
cmp eax, 0x1a
jne 0x18004dad4
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x58]
neg rax
sbb r14, r14
and r14d, 4
add r14, qword [rsp + 0x60]
mov qword [rsp + 0x50], r14
jmp 0x18004dad4
test rdi, rdi
je 0x18004dad4
mov rax, 0xffffffffffffffff
cmp byte [rdi + rax + 1], 0
lea rax, [rax + 1]
jne 0x18004d7a3
lea rsi, [rax + rdi]
movsx eax, byte [rax + rdi - 1]
cmp al, 0x5a
jne 0x18004d83d
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x18004d7c6
cmp rax, 0xf
jne 0x18004d7db
add rdi, 2
jmp 0x18004d7f1
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x18004d7e2
cmp rax, 0xd
jne 0x18004d818
xor edx, edx
mov dword [rsp + 0x38], 0xd
mov r9, rdi
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0x38]
lea ecx, [rdx + 0x7e]
call fcn.180056500
test eax, eax
jns 0x18004dad4
mov dword [rsp + 0x30], 0xffffffff
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, eax
lea rcx, str.YMWDhms
call fcn.18007d268
test rax, rax
je 0x18004d818
mov ebx, 0x46
mov eax, ebx
sub eax, 0x46
je 0x18004d89a
sub eax, 1
je 0x18004d88a
cmp eax, 1
jne 0x18004d921
mov eax, dword [r12]
lea r8, [rsp + 0x38]
mov edx, 0xfe
mov qword [rsp + 0x38], rax
mov rcx, r13
call fcn.1800756e0
jmp 0x18004d921
mov eax, dword [rsp + 0xc8]
add dword [r12], eax
jmp 0x18004d921
lea r8, [rsp + 0xc8]
mov rcx, rdi
lea rdx, [0x1800aab1c]
call fcn.180079fb0
movzx eax, byte [rsi - 1]
cmp al, 0x73
je 0x18004d921
cmp al, 0x6d
jne 0x18004d8c7
imul eax, dword [rsp + 0xc8], 0x3c
jmp 0x18004d91a
cmp al, 0x68
jne 0x18004d8d8
imul eax, dword [rsp + 0xc8], 0xe10
jmp 0x18004d91a
cmp al, 0x44
jne 0x18004d8e9
imul eax, dword [rsp + 0xc8], 0x15180
jmp 0x18004d91a
cmp al, 0x57
jne 0x18004d8fa
imul eax, dword [rsp + 0xc8], 0x93a80
jmp 0x18004d91a
cmp al, 0x4d
jne 0x18004d90b
imul eax, dword [rsp + 0xc8], 0x278d00
jmp 0x18004d91a
cmp al, 0x59
jne 0x18004d921
imul eax, dword [rsp + 0xc8], 0x1e13380
mov dword [rsp + 0xc8], eax
inc ebx
cmp ebx, 0x49
jb 0x18004d855
lea rbx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
jmp 0x18004dad4
mov rcx, qword [r12]
mov rax, rdx
mul rcx
mov r8, rcx
shr rdx, 1
lea rax, [rdx + rdx*2]
sub r8, rax
sub rcx, r8
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x48], rcx
jmp 0x18004dad4
test rdi, rdi
je 0x18004daed
test r13, r13
je 0x18004dae6
mov rax, rdx
mul qword [r12]
mov rax, rdx
shr rax, 1
shl rax, 2
mov qword [rsp + 0x60], rax
jmp 0x18004dad4
mov eax, ebp
sub eax, 0xb6
je 0x18004d9d2
sub eax, 0x32
je 0x18004db20
sub eax, 0x1e
je 0x18004d9b3
cmp eax, 0x32
je 0x18004d820
jmp 0x18004dad4
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
lea ecx, [r9 + 0x2d]
call fcn.18000b970
test rax, rax
sete byte [rsp + 0x30]
jmp 0x18004dad4
mov rax, qword [rsp + 0x58]
sub rax, 1
je 0x18004da61
cmp rax, 1
jne 0x18004dacf
mov edx, 0x98
mov eax, edx
sub eax, 0x98
je 0x18004da0d
cmp eax, 1
jne 0x18004da57
mov byte [r14 + rdi - 1], 0x3d
sub r14, 4
jmp 0x18004dacf
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax + r13]
movzx r15d, byte [rax + r13 + 1]
mov eax, ecx
shr rax, 2
and ecx, 3
shl ecx, 4
movzx eax, byte [rax + rbx]
mov byte [r14 + rdi - 4], al
mov eax, r15d
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + rbx]
mov byte [r14 + rdi - 3], al
mov eax, r15d
and eax, 0xf
shl eax, 2
movzx eax, byte [rax + rbx]
mov byte [r14 + rdi - 2], al
inc edx
cmp edx, 0x9a
jb 0x18004d9f0
mov r12, qword [rsp + 0x48]
lea rdx, [rdi - 2]
add rdx, r14
mov r8d, 0xf
mov eax, r8d
sub eax, 0xf
je 0x18004da9f
sub eax, 1
je 0x18004da9a
sub eax, 1
je 0x18004da94
cmp eax, 1
jne 0x18004dabe
sub r14, 4
sub rdx, 4
jmp 0x18004dabe
mov byte [rdx + 1], 0x3d
jmp 0x18004dabe
mov byte [rdx], 0x3d
jmp 0x18004dabe
movzx ecx, byte [r12 + r13]
mov eax, ecx
and ecx, 3
shr rax, 2
shl ecx, 4
movzx eax, byte [rax + rbx]
mov byte [rdx - 2], al
movzx eax, byte [rcx + rbx]
mov byte [rdx - 1], al
inc r8d
cmp r8d, 0x13
jb 0x18004da73
mov r12, qword [rsp + 0xb0]
mov ebp, 0xb6
add ebp, 0x32
cmp ebp, dword [rsp + 0x40]
jae 0x18004d820
jmp 0x18004d72d
xor eax, eax
jmp 0x18004d825
mov rcx, qword [r12]
mov rax, rdx
mul rcx
shr rdx, 1
lea rax, [rdx + rdx*2]
sub rcx, rax
mov eax, 0
setne al
add rax, rdx
shl rax, 2
jmp 0x18004d825
xor eax, eax
mov dword [rsp + 0x30], eax
jmp 0x18004d820
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x18004dbe9
mov r10d, dword [rsp + 0xc8]
lea r9, [rcx - 2]
add r9, r13
lea r8, [rdi - 2]
add r8, r14
mov rax, rdx
dec rcx
mul rcx
mov r11, rdx
shr r11, 1
inc r11
mov eax, 8
nop dword [rax + rax]
cmp eax, 8
je 0x18004db9b
cmp eax, 0x14
je 0x18004db7f
cmp eax, 0x20
jne 0x18004dbcf
mov ecx, r10d
and ecx, 0x3f
movzx ecx, byte [rcx + rbx]
mov byte [r8 + 1], cl
jmp 0x18004dbcf
mov edx, r15d
mov ecx, r10d
and edx, 0xf
shr rcx, 6
shl edx, 2
or rdx, rcx
movzx ecx, byte [rdx + rbx]
mov byte [r8], cl
jmp 0x18004dbcf
movzx edx, byte [r9 - 1]
movzx r15d, byte [r9]
mov ecx, edx
movzx r10d, byte [r9 + 1]
and edx, 3
shr rcx, 2
shl edx, 4
movzx ecx, byte [rcx + rbx]
mov byte [r8 - 2], cl
mov ecx, r15d
shr rcx, 4
or rdx, rcx
movzx ecx, byte [rdx + rbx]
mov byte [r8 - 1], cl
add eax, 0xc
cmp eax, 0x2c
jb 0x18004db60
sub r9, 3
sub r8, 4
sub r11, 1
jne 0x18004db56
mov rax, qword [rsp + 0x50]
jmp 0x18004d825