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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov rdi, r8
mov r14, rdx
mov qword [rbp - 0x18], rcx
mov eax, dword [0x141dd0520]
add eax, dword [0x141dd0524]
and eax, 0x233d2b8d
add eax, 0xea42621d
or eax, 0x72bfe752
cmp eax, 0x24e5683c
jb 0x140090abf
mov eax, dword [0x141dd0528]
xor edx, edx
div dword [0x141dd052c]
mov r12d, eax
or r12d, 0xc40413
and r12d, 0x50eca413
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rbx, rsp
mov eax, 0x400
call fcn.1400f07c0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rsi, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r13, rsp
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
mov r8, rdi
call fcn.140091760
add rsp, 0x20
cmp r12d, 0x88bce7cf
jbe 0x140090b0e
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x400
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rcx, rsp
sub rsp, 0x20
mov rdx, r14
mov r8, rdi
call fcn.140091760
add rsp, 0x20
jmp 0x140090a41
mov rcx, qword [r13]
movabs r12, 0x8000000000000000
mov rax, qword [r13 + 8]
mov qword [rbp], rax
cmp rcx, r12
jne 0x140090d4a
nop dword [rax]
mov eax, dword [0x141dd05d0]
or eax, dword [0x141dd05d4]
imul eax, eax, 0xbfa1f957
cmp eax, 0x822a6922
je 0x140090b30
mov rax, qword [rbp]
and eax, 3
cmp rax, 3
ja case.default.0x140090b68
lea rcx, [0x141dbb990]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbp]
lea rbx, [rax - 1]
nop word cs:[rax + rax]
mov eax, dword [0x141dd05e0]
or eax, dword [0x141dd05e4]
and eax, 0x1011100
cmp eax, 0x41d391c7
je 0x140090b80
mov rax, qword [rbp]
mov r14, qword [rax - 1]
mov rsi, qword [rax + 7]
mov rdi, qword [rsi]
test rdi, rdi
je 0x140090bea
xor eax, eax
test al, al
je 0x140090bc0
sub rsp, 0x20
mov rcx, r14
call rdi
add rsp, 0x20
nop
mov eax, dword [0x141dd05e8]
imul eax, dword [0x141dd05ec]
imul r15d, eax, 0xd015d12b
sub rsp, 0x20
mov rcx, r14
call rdi
add rsp, 0x20
cmp r15d, 0x2639753c
je 0x140090bc0
xor eax, eax
nop dword [rax]
test al, al
jne 0x140090bf0
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
xor edx, edx
nop
test dl, dl
jne 0x140090c00
test rcx, rcx
je 0x140090cd0
cmp rax, 0x11
jb 0x140090c4a
nop word cs:[rax + rax]
mov eax, dword [0x141dd05f0]
add eax, dword [0x141dd05f4]
shr eax, 3
imul rax, rax, 0x21aba7bd
shr rax, 0x3a
xor eax, 0xbfc5522b
cmp eax, 0x6213c249
jb 0x140090c20
mov r14, qword [r14 - 8]
mov eax, dword [0x141dd05f8]
add eax, dword [0x141dd05fc]
or eax, 0x724577bd
add eax, 0xd0a71275
cmp eax, 0xb6c3f7a1
jbe 0x140090c81
mov rcx, qword [0x141ddc4e0]
sub rsp, 0x20
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x38], rcx
mov qword [rbx], 0
mov qword [rbx + 8], 2
mov qword [rbp - 0x20], rbx
mov qword [rbx + 0x10], 0
mov r13d, 0x200
mov eax, 2
mov qword [rbp - 8], rax
xor eax, eax
mov qword [rbp - 0x10], rax
mov ebx, 0x874441a5
xor esi, esi
xor r12d, r12d
mov qword [rbp - 0x30], r15
mov eax, 0xb417206f
nop word cs:[rax + rax]
mov ecx, dword [0x141dd05d8]
imul ecx, dword [0x141dd05dc]
imul rdx, rcx, 0xbb56105
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
add ecx, 0xcd14d473
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xc475a33a
jae 0x140091190
jmp case.0x140090b68.0
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140091230