Function at 0x140067514
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r13d, r13d
mov r15, r9
mov r12, r8
mov esi, edx
mov r14, rcx
test r9, r9
je 0x14006786a
or rdi, 0xffffffffffffffff
inc rdi
cmp word [rcx + rdi*2], r13w
jne 0x14006754b
mov eax, edi
mov ecx, 0x80070216
cmp rdi, rax
je 0x14006756e
mov ebx, ecx
call fcn.140078308
mov edi, dword [rsp + 0x68]
jmp 0x140067578
xor ecx, ecx
call fcn.140078324
mov ebx, r13d
mov ecx, ebx
call fcn.140078324
test ebx, ebx
jns 0x14006758a
mov ecx, ebx
jmp 0x140067871
cmp edi, esi
lea rcx, str.________________________________________________456789:_________
mov ebp, r13d
mov eax, pe_nt_image_headers64
cmovb esi, edi
mov rdi, r14
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x1400675f7
cmp word [rdi], ax
jae 0x14006786a
movzx eax, word [rdi]
cmp byte [rax + rcx], 0x3f
jbe 0x140067627
cmp word [rdi], 0x20
ja 0x1400675d5
movzx eax, word [rdi]
movabs rcx, 0x100002600
bt rcx, rax
jb 0x140067652
test ebp, ebp
je 0x14006786a
mov eax, ebp
and eax, 3
je 0x1400675f7
cmp word [rdi], 0x3d
jne 0x14006786a
cmp eax, 1
je 0x14006786a
mov ecx, ebp
mov ebx, r13d
shr ecx, 2
mov edi, 0x80070216
test ecx, ecx
je 0x14006766c
lea esi, [rcx + rcx*2]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
cmp edx, ecx
je 0x14006766f
mov ecx, edi
mov ebx, edi
call fcn.140078308
mov esi, dword [rsp + 0x68]
jmp 0x14006766f
lea eax, [rbp + 1]
cmp eax, ebp
jb 0x140067635
mov ebp, eax
mov ebx, r13d
jmp 0x140067643
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.140078308
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x140067583
add rdi, 2
cmp rdi, rsi
jae 0x1400675f7
lea rcx, str.________________________________________________456789:_________
mov eax, pe_nt_image_headers64
jmp 0x1400675aa
mov esi, r13d
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x140067583
mov eax, ebp
and eax, 3
sub eax, 1
je 0x14006786a
sub eax, 1
je 0x1400676bc
cmp eax, 1
jne 0x1400676e2
lea eax, [rsi + 1]
cmp eax, esi
jb 0x1400676a4
mov esi, eax
mov ebx, r13d
jmp 0x1400676ad
mov ecx, edi
mov ebx, edi
call fcn.140078308
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x140067583
lea eax, [rsi + 1]
cmp eax, esi
jb 0x1400676ca
mov esi, eax
mov ebx, r13d
jmp 0x1400676d3
mov ecx, edi
mov ebx, edi
call fcn.140078308
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x140067583
test r12, r12
jne 0x1400676f2
mov dword [r15], esi
mov ebx, r13d
jmp 0x140067876
cmp dword [r15], esi
jae 0x140067701
mov ebx, 0x8007007a
jmp 0x140067583
mov rdi, r12
add rsi, r12
test ebp, ebp
je 0x140067818
xor ecx, ecx
mov r8d, ebp
mov eax, 4
mov dword [rsp + 0x68], ecx
cmp ebp, eax
mov edx, r13d
cmova r8d, eax
test r8, r8
je 0x14006776a
lea r9, str.________________________________________________456789:_________
mov r10d, pe_nt_image_headers64
jmp 0x140067748
movzx eax, ax
cmp byte [rax + r9], 0x3f
jbe 0x140067752
add r14, 2
movzx eax, word [r14]
cmp r10w, ax
ja 0x14006773a
mov al, byte [r14]
inc edx
mov byte [rsp + rcx + 0x68], al
add r14, 2
mov ecx, edx
cmp rcx, r8
jb 0x140067748
mov ecx, dword [rsp + 0x68]
cmp rdi, rsi
jae 0x140067811
movzx eax, byte [rsp + 0x69]
lea r9, str.________________________________________________456789:_________
mov r8b, byte [rax + r9]
movzx eax, cl
mov cl, byte [rax + r9]
mov al, r8b
shr al, 4
shl cl, 2
or cl, al
mov byte [rdi], cl
inc rdi
cmp edx, 2
jbe 0x1400677bc
cmp rdi, rsi
jae 0x140067811
movzx eax, byte [rsp + 0x6a]
shl r8b, 4
mov cl, byte [rax + r9]
shr cl, 2
or cl, r8b
mov byte [rdi], cl
inc rdi
cmp edx, 3
jbe 0x1400677e0
cmp rdi, rsi
jae 0x140067811
movzx eax, byte [rsp + 0x6a]
mov cl, byte [rax + r9]
movzx eax, byte [rsp + 0x6b]
shl cl, 6
or cl, byte [rax + r9]
mov byte [rdi], cl
inc rdi
mov eax, ebp
sub eax, edx
cmp eax, ebp
ja 0x1400677ef
mov ebp, eax
mov ebx, r13d
jmp 0x1400677fd
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.140078308
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x140067583
jmp 0x140067707
mov ecx, 0x8000ffff
jmp 0x14006786f
sub rdi, r12
mov eax, edi
cmp rdi, rax
je 0x140067832
mov eax, 0x80070216
mov ebx, eax
mov ecx, eax
call fcn.140078308
jmp 0x14006785a
mov ebx, r13d
test rdi, rdi
jns 0x140067848
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.140078308
mov ecx, ebx
call fcn.140078324
test ebx, ebx
jns 0x140067857
mov ecx, ebx
jmp 0x14006782b
mov dword [r15], edi
mov ecx, ebx
call fcn.140078324
test ebx, ebx
jns 0x140067876
jmp 0x140067583
mov ecx, 0x80070057
mov ebx, ecx
call fcn.140078308
mov ecx, ebx
call fcn.140078324
mov rbp, qword [rsp + 0x58]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret