Function at 0x140077b10
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r14, rdx
mov rsi, rcx
mov qword [rdx], 0
mov rax, qword [rcx]
mov rax, qword [rax - 0x18]
test byte [rcx + rax + 9], 0x10
je 0x140077b78
mov rcx, rsi
call fcn.14000ea50
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x140077b78
mov rdi, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
mov ecx, eax
call rdi
test eax, eax
jne 0x140077b60
mov rcx, rsi
call fcn.14000ea50
mov edi, eax
cmp eax, 0x2d
je 0x140077b90
cmp edi, 0x30
jne 0x140077dc8
mov eax, edi
cmp edi, 0x2d
jne 0x140077ba7
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
cmp eax, 0x30
jne 0x140077dba
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
and eax, 0xffffffdf
cmp eax, 0x58
jne 0x140077e52
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
mov ebp, eax
cmp eax, 0x30
jne 0x140077c07
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
cmp eax, 0x30
je 0x140077bf0
mov ebp, eax
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x3c], edi
mov eax, 0x3ff
mov qword [rsp + 0x28], rax
xor edi, edi
lea r12, [0x1400ebd67]
xor r15d, r15d
xor r13d, r13d
xor r14d, r14d
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x140077c62
mov r15b, 1
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
mov ebp, eax
mov eax, edi
or al, r15b
test al, 1
jne 0x140077e7d
cmp ebp, 0x2e
je 0x140077c40
cmp ebp, 0x70
jne 0x140077c80
mov dil, 1
jmp 0x140077c43
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x14007813f
mov r8d, 0xb
mov rcx, r12
mov edx, ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memchr
test rax, rax
je 0x140077caf
sub al, r12b
mov r10, qword [rsp + 0x28]
jmp 0x140077d05
mov qword [rsp + 0x30], rdi
mov rdi, r12
mov r8d, 7
lea r12, [0x1400ebd72]
mov rcx, r12
mov edx, ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memchr
test rax, rax
jne 0x140077cf3
mov r8d, 7
lea r12, [0x1400ebd79]
mov rcx, r12
mov edx, ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memchr
test rax, rax
je 0x140077db3
sub al, r12b
add al, 0xa
mov r10, qword [rsp + 0x28]
mov r12, rdi
mov rdi, qword [rsp + 0x30]
movzx eax, al
mov edx, eax
shr edx, 3
and edx, 1
test bl, 1
je 0x140077d2e
mov r8d, edx
lea r9, [r14 + 1]
not r14b
mov ecx, r14d
shl r8, cl
or r13, r8
inc r10
mov r14, r9
or bl, dl
mov edx, eax
shr edx, 2
and edx, 1
test bl, 1
je 0x140077d56
mov r8d, edx
lea r9, [r14 + 1]
not r14b
mov ecx, r14d
shl r8, cl
or r13, r8
inc r10
mov r14, r9
or bl, dl
mov edx, eax
shr edx, 1
test bl, 1
je 0x140077d7e
mov r8d, edx
and r8d, 1
lea r9, [r14 + 1]
not r14b
mov ecx, r14d
shl r8, cl
or r13, r8
inc r10
mov r14, r9
or bl, dl
and eax, 1
and bl, 1
je 0x140077da0
mov edx, eax
lea r8, [r14 + 1]
not r14b
mov ecx, r14d
shl rdx, cl
or r13, rdx
inc r10
mov r14, r8
mov qword [rsp + 0x28], r10
or bl, al
mov al, 1
mov qword [rsp + 0x30], rax
jmp 0x140077c43
xor eax, eax
jmp 0x140077cf8
cmp edi, 0x2d
sete dl
mov rcx, rsi
jmp 0x140077e65
movabs rdi, 0x7ffffffffffffffe
mov qword [rsp + 0x48], 0
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.14000dd40
mov rcx, qword [rsp + 0x48]
mov qword [r14], rcx
mov rax, qword [rsi]
mov rdx, qword [rax - 0x18]
test byte [rsi + rdx + 0x20], 5
mov rdx, rcx
je 0x140077e16
lea r8, [rdi + 1]
mov rdx, rcx
and r8, rcx
jne 0x140077e16
mov qword [r14], 0
xor edx, edx
movabs r8, 0x7fffffffffffffff
and rcx, r8
movq xmm0, rcx
ucomisd xmm0, qword [0x1400ebaf0]
jb 0x140078156
add rdi, 2
and rdx, rdi
movabs rcx, 0x7fefffffffffffff
or rcx, rdx
mov qword [r14], rcx
jmp 0x140078142
cmp edi, 0x2d
sete bl
mov rcx, rsi
call fcn.14000eeb0
mov rcx, rsi
mov edx, ebx
mov r8, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400782b0
test r15b, 1
sete al
or al, dil
test al, 1
jne 0x14007809f
xor r15d, r15d
lea rbx, [0x1400ebd72]
lea r12, [0x1400ebd79]
jmp 0x140077ecf
mov dil, 1
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
mov ebp, eax
test dil, 1
jne 0x14007809f
cmp ebp, 0x70
je 0x140077eb0
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x14007813f
mov qword [rsp + 0x50], r13
mov r13d, r15d
mov r15, r12
mov r12, rbx
mov r8d, 0xb
lea rbx, [0x1400ebd67]
mov rcx, rbx
mov edx, ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memchr
test rax, rax
je 0x140077f1d
sub al, bl
mov r9, qword [rsp + 0x28]
mov rbx, r12
mov r12, r15
jmp 0x140077f70
mov r8d, 7
mov rbx, r12
mov rcx, r12
mov edx, ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memchr
test rax, rax
je 0x140077f43
sub al, bl
add al, 0xa
mov r9, qword [rsp + 0x28]
mov r12, r15
jmp 0x140077f70
mov r8d, 7
mov r12, r15
mov rcx, r15
mov edx, ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memchr
test rax, rax
je 0x140077f62
sub al, r12b
add al, 0xa
jmp 0x140077f64
xor eax, eax
mov r9, qword [rsp + 0x28]
nop dword [rax]
mov r15d, r13d
movzx eax, al
mov edx, eax
shr edx, 3
and edx, 1
test byte [rsp + 0x30], 1
mov r13, qword [rsp + 0x50]
jne 0x140077fb0
and r15b, 1
movzx r15d, r15b
or r15d, edx
je 0x140078012
mov edx, edx
lea r8, [r14 + 1]
not r14b
mov ecx, r14d
shl rdx, cl
or r13, rdx
mov r14, r8
jmp 0x140078015
mov r8d, edx
mov ecx, r14d
not cl
shl r8, cl
mov r9d, eax
shr r9d, 2
and r9d, 1
or edx, r9d
mov cl, 0x3e
sub cl, r14b
shl r9, cl
mov r10d, eax
shr r10d, 1
and r10d, 1
mov cl, 0x3d
sub cl, r14b
mov r11, r10
shl r11, cl
or r11, r9
or r11, r8
and eax, 1
or r10d, eax
or r10d, edx
or r15b, r10b
mov cl, 0x3c
sub cl, r14b
shl rax, cl
or rax, r13
or rax, r11
add r14, 4
mov r13, rax
jmp 0x140077eb3
dec r9
mov ecx, eax
shr ecx, 2
and ecx, 1
or r15d, ecx
je 0x140078039
mov edx, ecx
lea r8, [r14 + 1]
not r14b
mov ecx, r14d
shl rdx, cl
or r13, rdx
mov r14, r8
jmp 0x14007803c
dec r9
mov ecx, eax
shr ecx, 1
and ecx, 1
or r15d, ecx
je 0x140078084
mov edx, ecx
lea r8, [r14 + 1]
not r14b
mov ecx, r14d
shl rdx, cl
or r13, rdx
mov r14, r8
and eax, 1
or r15d, eax
je 0x14007808f
mov qword [rsp + 0x28], r9
mov eax, eax
lea rdx, [r14 + 1]
not r14b
mov ecx, r14d
shl rax, cl
or r13, rax
mov r14, rdx
jmp 0x140077eb3
dec r9
and eax, 1
or r15d, eax
jne 0x140078065
dec r9
mov qword [rsp + 0x28], r9
xor r15d, r15d
jmp 0x140077eb3
mov r14b, 1
movabs rdi, 0x7ffffffffffffffe
xor r12d, r12d
xor r15d, r15d
xor ebx, ebx
jmp 0x14007810e
lea eax, [rbp - 0x30]
cmp eax, 9
ja 0x14007816a
mov ecx, ebp
mov rax, rdi
sub rax, rcx
add rax, 0x30
movabs rdx, 0xcccccccccccccccd
mul rdx
shr rdx, 3
cmp rbx, rdx
lea rax, [rbx + rbx*4]
lea rbx, [rcx + rax*2 - 0x30]
cmovge rbx, rdi
mov r15b, 1
mov rcx, rsi
call fcn.14000e0a0
mov rcx, rsi
call fcn.14000ea50
mov ebp, eax
test r15b, 1
jne 0x1400780c0
cmp ebp, 0x2d
je 0x14007811e
cmp ebp, 0x2b
jne 0x140078137
test r12b, 1
jne 0x14007813f
cmp ebp, 0x2d
sete r14b
neg r14b
or r14b, 1
mov r12b, 1
jmp 0x1400780fc
lea eax, [rbp - 0x30]
cmp eax, 0xa
jb 0x1400780cc
mov rax, qword [rsi]
mov rax, qword [rax - 0x18]
lea rcx, [rsi + rax]
mov edx, dword [rsi + rax + 0x20]
or edx, 4
call fcn.14001a110
mov rax, rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsx rax, r14b
imul rbx, rax
test rbx, rbx
mov rdx, qword [rsp + 0x28]
js 0x14007819b
test rdx, rdx
js 0x14007819b
mov rax, rdi
sub rax, rdx
add rdx, rbx
cmp rax, rbx
cmovle rdx, rdi
mov rbx, rdx
mov r14, qword [rsp + 0x40]
jmp 0x1400781c6
test rbx, rbx
mov r14, qword [rsp + 0x40]
jns 0x1400781c3
test rdx, rdx
jns 0x1400781c3
mov rax, rbx
neg rax
add rbx, rdx
add rdx, rdi
lea rcx, [rdi + 4]
cmp rdx, rax
cmovle rbx, rcx
jmp 0x1400781c6
add rbx, rdx
xor r9d, r9d
test byte [rsp + 0x30], 1
sete r9b
test r13, r13
setne al
sete dl
and dl, r9b
mov rcx, rbx
sub rcx, r9
xor r8d, r8d
test dl, dl
cmove r8, rcx
mov ecx, r9d
and cl, al
shl r13, cl
mov rax, r13
shr rax, 1
test r8, r8
lea rax, [rdi + rax + 2]
cmovg rax, r13
test dl, dl
cmovne rax, r13
test r8, r8
setns cl
shr rax, 0xc
or cl, dl
je 0x140078221
mov ebx, dword [rsp + 0x3c]
jmp 0x14007826c
neg r9
lea rcx, [rbx + r9]
inc rcx
xor r9d, r9d
mov r10d, 1
mov ebx, dword [rsp + 0x3c]
nop dword [rax + rax]
mov r8, rax
shr rax, 1
cmp r8, 2
mov r8, rcx
cmovb r8, r9
movzx edx, dl
cmovb edx, r10d
test r8, r8
jns 0x14007826c
mov r11d, edx
and r11b, 1
inc rcx
test r11b, r11b
je 0x140078240
xor ecx, ecx
cmp r8, 0x7ff
mov edx, 0x7ff
cmovl rdx, r8
cmovg rax, rcx
add rdi, 2
cmp ebx, 0x2d
cmovne rdi, rcx
or rdi, rax
shl rdx, 0x34
movabs rax, 0x7fefffffffffffff
inc rax
and rax, rdx
or rax, rdi
mov qword [r14], rax
jmp 0x140078156
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov rdi, r8
mov ebx, edx
mov rsi, rcx
movabs r14, 0x7fffffffffffffff
test dl, dl
je 0x140078335
mov rcx, rsi
call fcn.14000ea50
mov ebp, eax
cmp eax, 0x2b
je 0x1400782e4
cmp ebp, 0x2d
jne 0x140078311
mov qword [rdi], 0
mov rax, qword [rsi]
mov rax, qword [rax - 0x18]
lea rcx, [rsi + rax]
mov edx, dword [rsi + rax + 0x20]
or edx, 4
call fcn.14001a110
add ebp, 0xffffffd5
test ebp, 0xfffffffd
je 0x1400783b5
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14000dd40
mov rcx, qword [rsp + 0x28]
lea rax, [r14 + 1]
xor rax, rcx
jmp 0x140078350
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14000dd40
mov rax, qword [rsp + 0x28]
mov qword [rdi], rax
mov rcx, qword [rsi]
mov rdx, qword [rcx - 0x18]
and r14, rax
test byte [rsi + rdx + 0x20], 5
je 0x140078372
test r14, r14
jne 0x140078372
mov qword [rdi], 0
xor eax, eax
movq xmm0, r14
ucomisd xmm0, qword [0x1400ebaf8]
jb 0x1400783b5
not bl
movzx edx, bl
shl rdx, 0x3f
movabs r8, 0xffefffffffffffff
add rdx, r8
test rax, rax
cmovs rdx, r8
mov qword [rdi], rdx
mov rax, qword [rcx - 0x18]
lea rcx, [rsi + rax]
mov edx, dword [rsi + rax + 0x20]
or edx, 4
call fcn.14001a110
mov rax, rsi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret