Function at 0x14007ed60
Capabilities:
Encode data using base64

Disassembly:
push rbx
push rdi
push r12
push r13
push r15
sub rsp, 0x20
xor r15b, r15b
mov rbx, r9
mov r12, r8
mov r13, rdx
mov rdi, rcx
test rcx, rcx
jne 0x14007ed90
mov al, 1
add rsp, 0x20
pop r15
pop r13
pop r12
pop rdi
pop rbx
ret
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x60], r14
call fcn.1401b63f0
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rbp, eax
mov rax, qword [0x1404fed00]
mov rcx, rbp
test rax, rax
cmove rax, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call rax
mov r14, rax
test rax, rax
jne 0x14007ee09
test rbx, rbx
je 0x14007f0fd
mov rax, qword [str.out_of_memory]
mov qword [rbx + 8], rax
lea rax, str._RSA_json_field
mov qword [rbx + 0x10], rax
lea rax, str.C:Users_tanghba1Desktop_btangheVcjosecjose_x64_srcjwk.c
mov qword [rbx + 0x18], rax
mov dword [rbx], 3
mov dword [rbx + 0x20], 0x42d
jmp 0x14007f0fd
mov rdx, r14
mov qword [rsp + 0x58], rsi
mov rcx, rdi
call fcn.1401b5bf0
test rbp, rbp
jne 0x14007ee83
mov rax, qword [0x1404fed00]
lea ecx, [rbp + 1]
test rax, rax
cmove rax, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call rax
mov rsi, rax
test rax, rax
jne 0x14007ee79
test rbx, rbx
je 0x14007f0e1
mov rax, qword [str.out_of_memory]
mov qword [rbx + 8], rax
lea rax, str._encode
mov qword [rbx + 0x10], rax
lea rax, str.C:Users_tanghba1Desktop_btangheVcjosecjose_x64_src_base64.c
mov qword [rbx + 0x18], rax
mov dword [rbx], 3
mov dword [rbx + 0x20], 0xa9
jmp 0x14007f0e1
mov byte [rax], r15b
xor edx, edx
jmp 0x14007f03a
lea rcx, [rbp + 2]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
mov rax, qword [0x1404fed00]
shr rdx, 1
test rax, rax
cmove rax, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea rdi, [rdx*4]
lea rcx, [rdi + 1]
call rax
mov rsi, rax
test rax, rax
jne 0x14007eefb
test rbx, rbx
je 0x14007f0e1
mov rax, qword [str.out_of_memory]
mov qword [rbx + 8], rax
lea rax, str._encode
mov qword [rbx + 0x10], rax
lea rax, str.C:Users_tanghba1Desktop_btangheVcjosecjose_x64_src_base64.c
mov qword [rbx + 0x18], rax
mov dword [rbx], 3
mov dword [rbx + 0x20], 0xb9
jmp 0x14007f0e1
xor edx, edx
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
mov r9d, edx
cmp rbp, 2
jbe 0x14007ef99
lea r8, [r14 + 2]
nop word [rax + rax]
movzx eax, byte [r8 - 2]
add r9, 3
shr rax, 2
movzx eax, byte [rax + r10]
mov byte [rdx + rsi], al
movzx ecx, byte [r8 - 1]
movzx eax, byte [r8 - 2]
shl rax, 4
shr rcx, 4
or rcx, rax
and ecx, 0x3f
movzx eax, byte [rcx + r10]
mov byte [rdx + rsi + 1], al
movzx ecx, byte [r8]
movzx eax, byte [r8 - 1]
shl rax, 2
shr rcx, 6
or rcx, rax
and ecx, 0x3f
movzx eax, byte [rcx + r10]
mov byte [rdx + rsi + 2], al
movzx eax, byte [r8]
add r8, 3
and eax, 0x3f
movzx eax, byte [rax + r10]
mov byte [rdx + rsi + 3], al
mov rax, r8
sub rax, r14
add rdx, 4
cmp rax, rbp
jb 0x14007ef20
cmp r9, rbp
jae 0x14007f033
movzx ecx, byte [r9 + r14]
lea rax, [rbp - 1]
shr rcx, 2
lea rdi, [rdx + 1]
cmp rax, r9
movzx eax, byte [rcx + r10]
mov byte [rdx + rsi], al
movzx eax, byte [r9 + r14]
jne 0x14007efee
and eax, 3
add rax, rax
movzx eax, byte [r10 + rax*8]
mov byte [rdi + rsi], al
inc rdi
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp rax, r10
jne 0x14007f033
mov word [rdi + rsi], 0x3d3d
add rdi, 2
jmp 0x14007f033
movzx ecx, byte [r9 + r14 + 1]
shl rax, 4
shr rcx, 4
or rcx, rax
and ecx, 0x3f
movzx eax, byte [rcx + r10]
mov byte [rdi + rsi], al
movzx eax, byte [r9 + r14 + 1]
and eax, 0xf
movzx eax, byte [r10 + rax*4]
mov byte [rdi + rsi + 1], al
add rdi, 2
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp rax, r10
jne 0x14007f033
mov byte [rdi + rsi], 0x3d
inc rdi
mov byte [rsi + rdi], r15b
mov rdx, rdi
mov rcx, rsi
call fcn.1402fbdc0
mov rdi, rax
test rax, rax
jne 0x14007f07f
test rbx, rbx
je 0x14007f0c5
mov rax, qword [str.out_of_memory]
mov qword [rbx + 8], rax
lea rax, str._cjose_json_stringn
mov qword [rbx + 0x10], rax
lea rax, str.C:Users_tanghba1Desktop_btangheVcjosecjose_x64_srcutil.c
mov qword [rbx + 0x18], rax
mov dword [rbx], 3
mov dword [rbx + 0x20], reloc.WS2_32.dll___WSAFDIsSet
jmp 0x14007f0c5
mov rax, qword [rax + 8]
cmp rax, 0xffffffffffffffff
je 0x14007f094
mov rax, qword [rdi + 8]
inc rax
mov qword [rdi + 8], rax
mov r8, rdi
mov rdx, r13
mov rcx, r12
call fcn.1402fbbd0
mov rax, qword [rdi + 8]
cmp rax, 0xffffffffffffffff
je 0x14007f0c2
mov rax, qword [rdi + 8]
sub rax, 1
mov qword [rdi + 8], rax
jne 0x14007f0c2
mov rcx, rdi
call fcn.1402fba40
mov r15b, 1
test rsi, rsi
je 0x14007f0e1
mov rdx, qword [0x1404fecf8]
mov rcx, rsi
test rdx, rdx
cmove rdx, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rdx
mov rdx, qword [0x1404fecf8]
mov rcx, r14
test rdx, rdx
cmove rdx, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rdx
mov rsi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
movzx eax, r15b
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r13
pop r12
pop rdi
pop rbx
ret