Function at 0x140008710
Capabilities:
Encode data using base64 via winapi

Disassembly:
push rbp
push rbx
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x448]
sub rsp, 0x548
xor ebx, ebx
mov r12, rcx
mov r15d, ebx
mov r14d, ebx
mov qword [rsp + 0x50], rbx
mov dword [rbp + 0x480], ebx
mov r13d, ebx
mov qword [rbp + 0x498], rbx
mov qword [rbp + 0x490], rbx
cmp dword [rcx + 0x568], ebx
jne 0x14000876d
xor eax, eax
add rsp, 0x548
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
ret
lea r8, [rcx + 0xbc]
or r9d, 0xffffffff
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x540], rsi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x538], rdi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test eax, eax
je 0x1400087f3
lea ecx, [rdi + 1]
xor edx, edx
add rcx, rcx
call fcn.14000e210
lea r8, [r12 + 0xbc]
or r9d, 0xffffffff
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], edi
mov r14, rax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x1400088a3
test r14, r14
je 0x1400087f0
mov rcx, qword [0x14001e780]
lea edx, [rax + 8]
mov r8, r14
call qword [0x14001e798]
mov r14, rbx
mov rsi, rbx
mov rdi, qword [rbp + 0x490]
test rdi, rdi
je 0x140008817
mov rcx, qword [0x14001e780]
mov r8, rdi
mov edx, 8
call qword [0x14001e798]
test r13, r13
je 0x140008831
mov rcx, qword [0x14001e780]
mov r8, r13
mov edx, 8
call qword [0x14001e798]
mov rdi, qword [rsp + 0x538]
test rsi, rsi
je 0x140008853
mov rcx, qword [0x14001e780]
mov r8, rsi
mov edx, 8
call qword [0x14001e798]
mov rsi, qword [rsp + 0x540]
test r15, r15
je 0x140008875
mov rcx, qword [0x14001e780]
mov r8, r15
mov edx, 8
call qword [0x14001e798]
test r14, r14
je 0x14000888f
mov rcx, qword [0x14001e780]
mov r8, r14
mov edx, 8
call qword [0x14001e798]
mov eax, ebx
add rsp, 0x548
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
ret
lea r13, [r12 + 0x13c]
mov word [r14 + rdi*2], bx
test r13, r13
je 0x14000896a
mov esi, 0x400
mov rax, r13
mov edx, ebx
mov ecx, esi
cmp byte [rax], dl
je 0x1400088db
inc rax
dec rcx
jne 0x1400088c5
mov edx, 0x80070057
mov rsi, rbx
jmp 0x1400088ed
test rcx, rcx
jne 0x1400088ea
mov edx, 0x80070057
mov rsi, rbx
jmp 0x1400088ed
sub rsi, rcx
test edx, edx
js 0x14000896a
test esi, esi
je 0x1400089a7
lea rcx, [rbp + 0x488]
xor r9d, r9d
mov edx, esi
mov qword [rsp + 0x20], rcx
lea r8d, [r9 + 1]
mov rcx, r13
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
test eax, eax
je 0x14000896a
mov ecx, dword [rbp + 0x488]
xor edx, edx
add rcx, rcx
call fcn.14000e210
mov rdi, rax
test rax, rax
je 0x14000896a
lea rax, [rbp + 0x488]
mov r9, rdi
mov r8d, 0x80000001
mov edx, esi
mov rcx, r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
test eax, eax
jne 0x140008976
mov rcx, qword [0x14001e780]
lea edx, [rax + 8]
mov r8, rdi
call qword [0x14001e798]
mov r13, qword [rbp + 0x498]
jmp 0x1400087f3
mov rcx, rdi
mov rdx, rdi
nop dword [rax]
cmp word [rcx], 0xa
jne 0x14000898a
add rcx, 2
movzx eax, word [rcx]
add rdx, 2
add rcx, 2
mov word [rdx - 2], ax
movzx eax, word [rcx - 2]
test ax, ax
jne 0x140008980
mov rsi, rdi
jmp 0x1400089aa
mov rsi, rbx
mov rcx, qword [str.QLr0QLr08Br0QLr0QLr0QLr0QLr0]
lea rdx, [rbp + 0x30]
call fcn.14000deb0
movzx eax, byte [rbp + 0x30]
lea r11, [rbp + 0x30]
lea rcx, [rsp + 0x60]
test al, al
je 0x1400089e6
nop dword [rax + rax]
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x1400089d0
mov rax, qword [r12 + 0xa8]
mov r9, qword [r12 + 0xa0]
mov r8, qword [r12 + 0x18]
mov rdx, qword [r12 + 0x20]
mov word [rcx], bx
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.14000a870
mov r15, rax
test rax, rax
je 0x140008ab6
mov eax, dword [r12 + 0xb8]
test eax, eax
je 0x140008b54
cmp eax, 0x2000000
ja 0x140008b54
mov rcx, qword [str.iJjHmERp]
lea rdx, [rbp + 0x30]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], ebx
call fcn.14000deb0
movzx eax, byte [rbp + 0x30]
lea r11, [rbp + 0x30]
lea rcx, [rsp + 0x60]
test al, al
je 0x140008a86
nop dword [rax]
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x140008a70
mov r9d, dword [r12 + 0xb8]
mov r8, qword [r12 + 0xb0]
mov word [rcx], bx
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x60]
call fcn.140016600
lea rcx, [rsp + 0x40]
test eax, eax
jne 0x140008ac2
call fcn.140016570
mov r13, qword [rbp + 0x498]
jmp 0x1400087f6
lea r9, [rsp + 0x50]
lea r8, [rbp + 0x498]
lea rdx, [rbp + 0x490]
call fcn.140016870
mov r13, qword [rbp + 0x498]
test eax, eax
je 0x140008b45
test r13, r13
je 0x140008b45
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140008b45
mov rdi, qword [rbp + 0x490]
lea rdx, [rbp + 0x480]
lea rcx, [r12 + 0x558]
mov qword [rsp + 0x28], rdx
mov r9, r13
mov r8, rdi
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.14000d5f0
lea rcx, [rsp + 0x40]
test eax, eax
jne 0x140008b35
call fcn.140016570
jmp 0x1400087fd
call fcn.140016570
mov ebx, dword [rbp + 0x480]
jmp 0x1400087fd
lea rcx, [rsp + 0x40]
call fcn.140016570
jmp 0x1400087f6
lea rcx, [r12 + 0x558]
lea r8, [rbp + 0x480]
mov rdx, r15
call fcn.14000d430
test eax, eax
je 0x140008ab6
mov ebx, dword [rbp + 0x480]
jmp 0x140008831