Function at 0x14000ef20
Capabilities:
Encode data using base64
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdi, r8
mov r14, rdx
mov rsi, rcx
test rdx, rdx
jne 0x14000ef4c
mov eax, 0x80070057
jmp 0x14000f09e
lea r15, [rcx + 0xc04]
xor ebx, ebx
mov ecx, dword [r15]
mov ebp, ecx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x40], r15
cmp ebp, 0xc00
jae 0x14000f074
mov cl, byte [r14]
inc r14
mov r12, r14
test cl, cl
je 0x14000f074
cmp cl, 0x25
jne 0x14000f3fa
movsx edx, byte [r14]
inc r14
mov ecx, edx
mov r11b, dl
mov r13b, dl
sub ecx, 0x25
je 0x14000f3e6
sub ecx, 0x3d
je 0x14000f295
sub ecx, 1
je 0x14000f285
sub ecx, 5
je 0x14000f1e6
sub ecx, 5
je 0x14000f1c9
sub ecx, 6
je 0x14000f1b4
sub ecx, 1
je 0x14000f194
cmp ecx, 2
je 0x14000f13d
xor ecx, ecx
mov r10b, 1
lea ebx, [rcx + 0x30]
lea r8d, [rcx + 0xa]
cmp dl, bl
jne 0x14000f004
mov dl, byte [r14]
cmp r11b, bl
mov r9d, ebx
mov eax, 0x20
cmovne r9d, eax
cmp r13b, bl
cmovne r12, qword [rsp + 0x98]
add r12, 2
mov r14, r12
cmp dl, 0x31
jmp 0x14000f03f
movsx eax, dl
lea ecx, [rcx + rcx*4]
mov dl, byte [r14]
lea ecx, [rcx - 0x18]
inc r14
cmp dl, bl
lea ecx, [rax + rcx*2]
jl 0x14000f046
cmp dl, 0x39
jle 0x14000f02b
cmp dl, 0x58
je 0x14000f117
cmp dl, 0x64
je 0x14000f0f7
cmp dl, 0x73
je 0x14000f0b7
cmp dl, 0x75
je 0x14000f120
cmp dl, 0x78
je 0x14000f11a
mov ebx, 0x8004a100
mov eax, dword [rsi + 0xc04]
mov ecx, 0x8007007a
cmp eax, 0xc00
cmovae ebx, ecx
test ebx, ebx
jns 0x14000f096
mov rax, qword [rsp + 0x48]
mov dword [rsi + 0xc04], eax
mov ecx, eax
mov eax, ebx
mov byte [rcx + rsi], 0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbp, qword [rdi]
add rdi, 8
test rbp, rbp
je 0x14000f06f
or rax, 0xffffffffffffffff
inc rax
cmp byte [rax + rbp], 0
jne 0x14000f0c7
cmp eax, ecx
jae 0x14000f0ea
sub ecx, eax
mov dl, r9b
mov r8d, ecx
mov rcx, rsi
call fcn.14000ee8c
mov ebx, eax
test eax, eax
js 0x14000f074
mov rdx, rbp
mov rcx, rsi
call fcn.14000eba4
jmp 0x14000f108
mov edx, dword [rdi]
add rdi, 8
mov r8d, ecx
mov rcx, rsi
call fcn.14000edb0
mov ebx, eax
test eax, eax
js 0x14000f074
jmp 0x14000f3ee
xor r10b, r10b
mov r8d, 0x10
mov edx, dword [rdi]
add rdi, 8
mov byte [rsp + 0x28], r10b
mov byte [rsp + 0x20], r9b
mov r9d, ecx
mov rcx, rsi
call fcn.14000ec94
jmp 0x14000f108
mov rcx, qword [rdi]
add rdi, 8
test rcx, rcx
je 0x14000f40a
mov r12d, 0xc00
mov edx, ebp
sub r12d, ebp
add rdx, rsi
mov r8d, r12d
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
nop dword [rax + rax]
test eax, eax
jne 0x14000f177
mov ebx, 0x8004a102
jmp 0x14000f186
cmp eax, r12d
jbe 0x14000f183
mov ebx, 0x8007007a
jmp 0x14000f186
add dword [r15], eax
mov eax, dword [r15]
test ebx, ebx
mov byte [rax + rsi], 0
jmp 0x14000f10c
mov r8d, dword [rdi]
add rdi, 8
cmp r8d, 0xc
ja 0x14000f06f
mov dl, 9
mov rcx, rsi
call fcn.14000ee8c
jmp 0x14000f108
mov rdx, qword [rdi]
add rdi, 8
test rdx, rdx
je 0x14000f06f
jmp 0x14000f0ed
mov rdx, qword [rdi]
add rdi, 8
test rdx, rdx
je 0x14000f06f
mov rcx, rsi
call fcn.14000ec10
jmp 0x14000f108
cmp byte [r14], 0x72
jne 0x14000f277
mov r14d, dword [rdi]
lea rdx, str.0x_08x
add rdi, 8
mov r8d, r14d
mov rcx, rsi
call fcn.14000eef8
mov ebx, eax
test eax, eax
js 0x14000f25f
mov ecx, dword [r15]
mov eax, 0xc00
and qword [rsp + 0x30], 0
sub eax, ecx
add rcx, rsi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov ecx, 0x1200
mov r8d, r14d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
nop dword [rax + rax]
mov ecx, dword [rsi + 0xc04]
lea ebp, [rcx - 1]
test eax, eax
je 0x14000f257
lea ebp, [rax + rcx]
mov dword [rsi + 0xc04], ebp
jmp 0x14000f262
mov dword [r15], ebp
mov eax, ebp
mov byte [rax + rsi], 0
test ebx, ebx
js 0x14000f074
mov eax, 2
jmp 0x14000f27c
mov eax, 1
lea r14, [rax + r12]
jmp 0x14000f3ee
mov al, byte [rdi]
add rdi, 8
mov ecx, ebp
mov byte [rcx + rsi], al
jmp 0x14000f3eb
mov r12, qword [rdi]
lea rax, [rdi + 0x10]
mov r15d, dword [rax - 8]
mov r8d, 0xbff
sub r8d, ebp
mov r9d, ebp
add r9, rsi
mov rdi, rax
mov r10d, r8d
test r15d, r15d
je 0x14000f3c3
test r12, r12
je 0x14000f3c3
mov ecx, r15d
mov r13d, 0xaaaaaaab
shl ecx, 3
mov eax, r13d
mul ecx
mov rax, r9
mov r10d, edx
shr r10d, 2
add r10d, 3
and r10d, 0xfffffffc
neg rax
sbb ecx, ecx
and ecx, r8d
cmp r10d, ecx
jbe 0x14000f307
neg r9
sbb ebx, ebx
and ebx, 0x8007007a
jmp 0x14000f3c8
mov eax, r13d
mov ecx, r15d
mul r15d
xor bpl, bpl
xor r11b, r11b
shr edx, 1
mov r8b, 0x40
mov bl, r8b
lea eax, [rdx + rdx*2]
mov rdx, r15
sub ecx, eax
mov eax, ecx
sub rdx, rax
mov eax, r10d
add rax, 0xfffffffffffffffc
add rdx, r12
add r9, rax
test ecx, ecx
je 0x14000f34a
sub ecx, 1
je 0x14000f36e
cmp ecx, 1
je 0x14000f358
xor ebx, ebx
jmp 0x14000f3c8
mov r11b, byte [rdx - 1]
sub rdx, 3
mov bl, r11b
and bl, 0x3f
mov bpl, byte [rdx + 1]
mov r8b, bpl
shr r11b, 6
and r8b, 0xf
shl r8b, 2
or r8b, r11b
movzx ecx, byte [rdx]
lea r11, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov eax, ecx
and cl, 3
shr rax, 2
shl cl, 4
movzx ecx, cl
mov al, byte [rax + r11]
mov byte [r9], al
movzx eax, bpl
shr rax, 4
or rcx, rax
mov al, byte [rcx + r11]
mov byte [r9 + 1], al
movzx eax, r8b
mov al, byte [rax + r11]
mov byte [r9 + 2], al
movzx eax, bl
mov al, byte [rax + r11]
mov byte [r9 + 3], al
cmp rdx, r12
je 0x14000f346
sub r9, 4
jmp 0x14000f34a
mov ebx, 0x80070057
test ebx, ebx
js 0x14000f074
mov rdx, qword [rsp + 0xa8]
mov r15, rdx
add dword [rdx], r10d
mov eax, dword [rdx]
mov byte [rax + rsi], 0
jmp 0x14000f3ee
mov eax, ebp
mov byte [rax + rsi], dl
inc dword [r15]
mov rax, qword [rsp + 0x40]
mov ebp, dword [rax]
jmp 0x14000ef67
mov eax, ebp
mov byte [rax + rsi], cl
inc dword [r15]
mov ebp, dword [r15]
jmp 0x14000ef67
mov ebx, 0x80070057
jmp 0x14000f074