Function at 0x1400998d0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x141f3d7d8]
imul eax, dword [0x141f3d7dc]
imul eax, eax, 0xaef618aa
add eax, 0xae92d69c
and eax, 0x79a88e4c
cmp eax, 0x68402e5
ja 0x140099950
mov eax, dword [0x141f3d7e0]
or eax, dword [0x141f3d7e4]
imul eax, eax, 0xef367ed0
mov ebx, 0xc57a4139
imul rbx, rax
shr rbx, 0x3d
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm0
sub dword [rsp + 0x40], eax
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
cmp ebx, 0x66a76b20
jne 0x14009997a
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x60], 0
lea rdx, [rsp + 0x30]
mov rcx, rdi
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
jmp 0x140099901
test eax, eax
je 0x140099a25
nop word cs:[rax + rax]
mov eax, dword [0x141f3d7e8]
and eax, dword [0x141f3d7ec]
push rax
invalid
invalid
add dword [0x12d34edaf], esp
in eax, dx
cmp eax, 0xa516169c
je 0x140099990
mov eax, dword [rsp + 0x30]
nop dword [rax]
mov ecx, dword [0x141f3d7f0]
or ecx, dword [0x141f3d7f4]
cmp ecx, 0x793aa3a5
cmp bh, byte [rcx + 0x74]
in al, dx
xor ecx, ecx
test eax, 0x400
add al, 0
add byte [rdi], cl
test byte [rbp + 1], dl
add byte [rax], al
mov eax, dword [0x141f3d7f8]
and eax, dword [0x141f3d7fc]
and eax, 0x7552b025
add eax, 0x6718d2b7
imul rax, rax, 0xd274bf1
imul eax, eax, 0xd274bf1
shr rax, 0x3b
cmp eax, 0x6eb87d70
jne 0x140099a02
mov qword [rsp + 0x28], 0
xor eax, eax
nop word cs:[rax + rax]
mov qword [rsp + 0x28], 0
test al, al
jne 0x140099a10
xor eax, eax
test al, al
je 0x140099a43
jmp 0x140099a84
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 2
jmp 0x140099d10
mov eax, dword [0x141f3d800]
imul eax, dword [0x141f3d804]
mov ebx, 0x9802d6f3
imul rbx, rax
shr rbx, 0x3d
or ebx, 0x925fe031
lea r8, [rsp + 0x28]
mov rcx, rdi
mov edx, 9
mov r9d, 8
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandleEx]
cmp ebx, 0x472e8a30
jae 0x140099a9f
lea r8, [rsp + 0x28]
mov rcx, rdi
mov edx, 9
mov r9d, 8
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandleEx]
jmp 0x140099a43
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x140099ab0
test eax, eax
je 0x140099c5c
mov ecx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x2c]
mov eax, dword [0x141f3d818]
xor edx, edx
div dword [0x141f3d81c]
imul rax, rax, 0x526ff57b
shr rax, 0x3e
cmp eax, 0x5dd95774
nop word cs:[rax + rax]
mov eax, dword [0x141f3d820]
xor eax, dword [0x141f3d824]
add eax, 0xe08f5b8d
imul rax, rax, 0xb2a6abf
sub cl, byte [rbx]
shr rax, 0x3b
imul eax, eax, 0x36248b95
cmp eax, 0x6e1045e3
ja 0x140099af0
shl ecx, 0x15
sar ecx, 0x1f
and ecx, r8d
mov eax, dword [rsp + 0x30]
mov edx, dword [0x141f3d808]
sub edx, dword [0x141f3d80c]
and edx, 0xe48dd165
mov r8d, 0xf582406d
imul r8, rdx
shr r8, 0x3f
cmp r8d, 0x251b4f9b
clc
wait
invalid
invalid
invalid
jne 0x140099bc0
mov edx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x4c]
mov r9d, dword [rsp + 0x50]
shl r9, 0x20
or r9, rdx
mov edx, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x5c]
shl r11, 0x20
or r11, r10
mov qword [rsi], 1
mov qword [rsi + 8], r11
mov dword [rsi + 0x10], 1
mov dword [rsi + 0x14], r8d
mov dword [rsi + 0x18], 1
mov dword [rsi + 0x1c], edx
movups xmm0, xmmword [rsp + 0x34]
movups xmmword [rsi + 0x20], xmm0
mov rdx, qword [rsp + 0x44]
mov qword [rsi + 0x30], rdx
mov qword [rsi + 0x38], r9
mov dword [rsi + 0x40], 0
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], ecx
nop dword [rax]
mov edx, dword [0x141f3d810]
or edx, dword [0x141f3d814]
xor edx, 0x6abea008
or edx, 0x14415ef7
imul edx, edx, 0x2d69b962
mov r8d, dword [rsp + 0x54]
mov r9d, dword [rsp + 0x4c]
mov r10d, dword [rsp + 0x50]
shl r10, 0x20
or r10, r8
mov r8d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x5c]
shl r11, 0x20
or r11, r8
mov r8d, dword [rsp + 0x58]
mov qword [rsi], 1
mov qword [rsi + 8], r11
mov dword [rsi + 0x10], 1
mov dword [rsi + 0x14], r9d
mov dword [rsi + 0x18], 1
mov dword [rsi + 0x1c], r8d
movups xmm0, xmmword [rsp + 0x34]
movups xmmword [rsi + 0x20], xmm0
mov r8, qword [rsp + 0x44]
mov qword [rsi + 0x30], r8
mov qword [rsi + 0x38], r10
mov dword [rsi + 0x40], 0
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], ecx
cmp edx, 0x5a9d0e2e
jbe 0x140099bc0
jmp 0x140099c7d
mov eax, dword [0x141f3d828]
xor edx, edx
div dword [0x141f3d82c]
add eax, 0x6c1ecec9
and eax, 0x40016020
cmp eax, 0x629eaf72
jbe 0x140099c85
invalid
jmp 0x140099ca4
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
or eax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 2
xor eax, eax
test al, al
je case.0x140094d52.298
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 2
invalid
add al, byte [rax]
add byte [rax], al
add bl, ch
invalid
mov eax, dword [0x141f3d830]
and eax, dword [0x141f3d834]
invalid
cmp ebp, edx
invalid
or eax, 0xd9f4bfff
and eax, 0xdbfdbfff
cmp eax, 0x35354dd8
invalid
invalid
invalid
je case.0x140094d52.298
nop dword [rax]
mov eax, dword [0x141f3d838]
xor edx, edx
div dword [0x141f3d83c]
imul eax, eax, 0xe1e82ea0
invalid
invalid
invalid
invalid
add eax, 0x84a44ee0
or eax, 0xa140cea9
cmp eax, 0x6b66510c
push rcx
invalid
invalid
je 0x140099ce0
nop word cs:[rax + rax]
mov eax, dword [0x141f3d840]
sub eax, dword [0x141f3d844]
or eax, 0x8b650352
imul eax, eax, 0x846bdcb0
cmp eax, 0x91a65a13
jb 0x140099d10
jmp 0x140099c7d