Function at 0x41eac0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
lea r12, [0x0043da00]
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
test dl, dl
mov rbp, rcx
cmovne r12, rax
test rcx, rcx
je 0x41ee80
imul rbx, qword [rcx], 4
jo 0x41f0f0
movabs rdx, 0x5555555555555556
mov rax, rbx
sar rbx, 0x3f
imul rdx
sub rdx, rbx
lea rbx, [rdx + 6]
test rbx, rbx
js 0x41ee63
xor ecx, ecx
mov rdx, rbx
call fcn.004097c0
mov rcx, qword [rbp]
movabs rdx, 0x5555555555555556
mov r15, rax
mov rax, rcx
mov rsi, rcx
mov r14, rcx
imul rdx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
lea rax, [rdx + rdx*2]
sub rsi, rax
sub r14, rsi
jo 0x41f0af
test r14, r14
je 0x41f08b
xor esi, esi
xor ebx, ebx
jmp 0x41ec56
movzx edi, byte [rbp + r13 + 0x10]
shl edi, 8
or edi, eax
add r13, 1
jo 0x41f04f
mov rdx, qword [rbp]
cmp r13, rdx
jae 0x41ecd0
movzx eax, byte [rbp + r13 + 0x10]
or edi, eax
add r13, 1
mov rsi, r13
jo 0x41ecb5
test r15, r15
je 0x41ecc3
mov rdx, qword [r15]
cmp rdx, rbx
jbe 0x41eca4
mov eax, edi
shr eax, 0x12
movzx eax, byte [r12 + rax]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41f045
mov rdx, qword [r15]
cmp rbx, rdx
jae 0x41ee52
mov eax, edi
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [r12 + rax]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41f03b
mov rdx, qword [r15]
cmp rbx, rdx
jae 0x41ee41
mov eax, edi
shr eax, 6
and eax, 0x3f
movzx eax, byte [r12 + rax]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41f031
mov rdx, qword [r15]
cmp rbx, rdx
jae 0x41ee30
and edi, 0x3f
movzx eax, byte [r12 + rdi]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41ece1
cmp r14, r13
mov rcx, qword [rbp]
je 0x41ecf3
cmp rcx, rsi
ja 0x41ec67
lea rdx, [rcx - 1]
mov rcx, rsi
call fcn.0040c4d0
movzx edi, byte [rbp + rsi + 0x10]
mov eax, edi
shl eax, 0x10
add rsi, 1
mov r13, rsi
jo 0x41f01f
mov rdx, qword [rbp]
cmp r13, rdx
jb 0x41eb71
sub rdx, 1
mov rcx, r13
mov dword [rsp + 0x2c], eax
call fcn.0040c4d0
mov eax, dword [rsp + 0x2c]
jmp 0x41eb71
sub rdx, 1
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41ebbd
call fcn.004081d0
test r15, r15
jne 0x41ebb1
mov rdx, 0xffffffffffffffff
jmp 0x41eca8
sub rdx, 1
mov rcx, r13
call fcn.0040c4d0
jmp 0x41eb93
call fcn.004081d0
cmp r14, r13
mov rcx, qword [rbp]
jne 0x41ec56
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
lea rax, [rdx + rdx*2]
mov rdx, rcx
sub rdx, rax
cmp rdx, 1
je 0x41eea0
cmp rdx, 2
jne 0x41ee04
cmp rcx, r14
jbe 0x41efae
movzx edi, byte [rbp + rsi + 0x10]
shl edi, 0x10
add rsi, 1
jo 0x41f004
mov rcx, qword [rbp]
cmp rsi, rcx
jae 0x41f00e
movzx eax, byte [rbp + rsi + 0x10]
shl eax, 8
or edi, eax
add rsi, 1
jo 0x41f081
test r15, r15
je 0x41ef96
mov rax, qword [r15]
lea rdx, [rax - 1]
cmp rax, rbx
jbe 0x41ef9d
mov eax, edi
shr eax, 0x12
movzx eax, byte [r12 + rax]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41f077
mov rax, qword [r15]
cmp rbx, rax
jae 0x41eff3
mov eax, edi
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [r12 + rax]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41f06d
mov rax, qword [r15]
cmp rbx, rax
jae 0x41efe2
shr edi, 6
and edi, 0x3c
movzx eax, byte [r12 + rdi]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41ef2f
mov rax, qword [r15]
cmp rbx, rax
jae 0x41ef85
mov byte [r15 + rbx + 0x10], 0x3d
add rbx, 1
jno 0x41ee04
call fcn.004081d0
test rbx, rbx
js 0x41ef40
mov rdx, rbx
mov rcx, r15
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.004097c0
sub rdx, 1
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41ec32
sub rdx, 1
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41ec0a
sub rdx, 1
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41ebe2
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.0040c330
jmp 0x41eb1e
mov edx, 6
xor ecx, ecx
xor ebx, ebx
call fcn.004097c0
mov r15, rax
jmp 0x41ee0d
cmp r14, rcx
jae 0x41ef60
movzx edi, byte [rbp + rsi + 0x10]
shl edi, 0x10
add rsi, 1
jo 0x41f0fa
test r15, r15
je 0x41ef71
mov rax, qword [r15]
lea rdx, [rax - 1]
cmp rax, rbx
jbe 0x41ef78
mov eax, edi
shr eax, 0x12
movzx eax, byte [r12 + rax]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41f063
mov rax, qword [r15]
cmp rbx, rax
jae 0x41efd1
shr edi, 0xc
and edi, 0x30
movzx eax, byte [r12 + rdi]
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jo 0x41f059
mov rax, qword [r15]
cmp rbx, rax
jae 0x41efc0
mov byte [r15 + rbx + 0x10], 0x3d
add rbx, 1
jno 0x41ede7
call fcn.004081d0
jmp 0x41ede7
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.0040c330
jmp 0x41ee0d
xor ecx, ecx
xor esi, esi
nop dword [rax]
lea rdx, [rcx - 1]
mov rcx, rsi
call fcn.0040c4d0
jmp 0x41eea9
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41eed4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41edf3
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41ed80
xor ecx, ecx
xor esi, esi
lea rdx, [rcx - 1]
mov rcx, rsi
call fcn.0040c4d0
jmp 0x41ed34
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41ef1f
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41eef9
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41edcd
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040c4d0
jmp 0x41eda5
call fcn.004081d0
jmp 0x41ed46
lea rdx, [rcx - 1]
mov rcx, rsi
call fcn.0040c4d0
jmp 0x41ed53
mov dword [rsp + 0x2c], eax
call fcn.004081d0
mov eax, dword [rsp + 0x2c]
jmp 0x41ec7e
call fcn.004081d0
jmp 0x41ec26
call fcn.004081d0
jmp 0x41ebfe
call fcn.004081d0
jmp 0x41ebd6
call fcn.004081d0
jmp 0x41eb86
call fcn.004081d0
jmp 0x41ef13
call fcn.004081d0
jmp 0x41eeed
call fcn.004081d0
jmp 0x41edc1
call fcn.004081d0
jmp 0x41ed99
call fcn.004081d0
jmp 0x41ed67
mov rax, rcx
mov r8d, 3
mov rbx, rcx
cqo
idiv r8
cmp rdx, 1
je 0x41f0d9
cmp rdx, 2
je 0x41f0bd
xor ebx, ebx
jmp 0x41ee0d
call fcn.004081d0
mov rcx, qword [rbp]
jmp 0x41eb5f
test rcx, rcx
je 0x41efaa
movzx edi, byte [rbp + 0x10]
xor ebx, ebx
mov esi, 1
shl edi, 0x10
jmp 0x41ed4a
test rbx, rbx
je 0x41ef59
movzx edi, byte [rbp + 0x10]
xor ebx, ebx
shl edi, 0x10
jmp 0x41eebb
call fcn.004081d0
jmp 0x41eafa
call fcn.004081d0
jmp 0x41eebb