Function at 0x140099988
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov r12, rcx
lea rcx, [rax + 0x10]
call fcn.140059074
lea rcx, [rsp + 0x60]
mov edx, 5
call fcn.1400616e0
lea rcx, [rsp + 0x30]
mov edx, 0x14
call fcn.1400616e0
mov rax, qword [rsp + 0x108]
xor esi, esi
lea rdi, str.DISPLAY
lea ecx, [rsi + 0x2d]
mov bl, sil
mov qword [rsp + 0x40], rdi
mov r13b, sil
mov byte [rsp + 0x38], sil
mov byte [rsp + 0x118], bl
mov bpl, sil
lea edi, [rsi + 1]
lea r14d, [rsi + 4]
cmp cx, word [rax]
jne 0x140099c41
lea r15d, [rsi + 9]
lea rdx, [rsp + 0x108]
lea rcx, str._cap
mov r8d, r14d
call fcn.1400640c8
cmp al, sil
je 0x140099a35
mov r13b, dil
jmp 0x140099c2b
lea rdx, [rsp + 0x108]
lea rcx, str._max
mov r8d, r14d
call fcn.1400640c8
cmp al, sil
je 0x140099a5b
mov byte [rsp + 0x38], dil
jmp 0x140099c2b
lea rdx, [rsp + 0x108]
lea rcx, str._win
mov r8d, r14d
call fcn.1400640c8
cmp al, sil
je 0x140099a7c
mov bl, dil
jmp 0x140099a9d
lea rdx, [rsp + 0x108]
lea rcx, str._taskbar
mov r8d, 8
call fcn.1400640c8
cmp al, sil
je 0x140099aa9
mov bl, 2
mov byte [rsp + 0x118], bl
jmp 0x140099c2b
lea rdx, [rsp + 0x108]
lea rcx, str._desk_
mov r8d, 5
call fcn.1400640c8
cmp al, sil
je 0x140099ad0
mov bpl, dil
jmp 0x140099c2b
lea rdx, [rsp + 0x108]
lea rcx, str._desk_
mov r8d, 6
call fcn.1400640c8
cmp al, sil
je 0x140099af7
mov bpl, sil
jmp 0x140099c2b
lea rdx, [rsp + 0x108]
lea rcx, str._save
mov r8d, 5
call fcn.1400640c8
cmp al, sil
jne 0x140099c2b
mov r11, qword [rsp + 0x108]
lea rcx, str._display:
mov r8d, r15d
mov rdx, r11
call fcn.14005a71c
cmp al, sil
je 0x140099ba1
add r11, 0x12
mov qword [rsp + 0x108], r11
mov qword [rsp + 0x40], r11
movzx eax, word [r11]
cmp ax, si
je 0x140099c1e
mov ecx, 0x20
cmp r15w, ax
ja 0x140099b68
cmp ax, 0xd
jbe 0x140099b88
cmp cx, ax
je 0x140099b88
add r11, 2
mov qword [rsp + 0x108], r11
mov ax, word [r11]
cmp ax, si
je 0x140099c1e
jmp 0x140099b5c
cmp word [r11], si
je 0x140099c1e
mov word [r11], si
add qword [rsp + 0x108], 2
jmp 0x140099c1e
lea rdx, [rsp + 0x108]
lea rcx, str._gui
mov r8d, r14d
call fcn.1400640c8
cmp al, sil
jne 0x140099e24
lea rdx, [rsp + 0x108]
lea rcx, str._capgui
mov r8d, 7
call fcn.1400640c8
cmp al, sil
jne 0x140099e24
mov rcx, qword [rsp + 0x108]
movzx eax, word [rcx]
cmp ax, si
je 0x140099c1e
mov edx, 0x20
cmp r15w, ax
ja 0x140099c05
cmp ax, 0xd
jbe 0x140099c1e
cmp dx, ax
je 0x140099c1e
add rcx, 2
mov qword [rsp + 0x108], rcx
mov ax, word [rcx]
cmp ax, si
jne 0x140099bf9
lea rcx, [rsp + 0x108]
call fcn.140059074
mov rax, qword [rsp + 0x108]
mov ecx, 0x2d
cmp cx, word [rax]
je 0x140099a11
mov eax, 8
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x108]
lea r9d, [rax + 0x24]
mov rcx, r12
mov word [rsp + 0x20], ax
call fcn.140052678
mov r14d, esi
xor ecx, ecx
mov r15d, esi
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x50], r14
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
mov edi, eax
mov dword [rsp + 0x3c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor r10d, r10d
mov esi, eax
mov dword [rsp + 0x68], eax
cmp r13b, r10b
je 0x140099e94
mov rcx, qword [rsp + 0x60]
xor r13d, r13d
lea r14d, [r10 + 1]
movzx eax, word [rcx]
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x5c], esi
neg ax
mov rax, qword [rsp + 0x108]
mov dword [rsp + 0x50], r13d
sbb rbp, rbp
mov dword [rsp + 0x54], r13d
mov r12, r13
and rbp, rcx
lea ecx, [r10 + 0x23]
mov qword [rsp + 0x118], r13
mov rbx, r13
mov qword [rsp + 0x48], r13
mov rsi, r13
mov edi, r13d
cmp cx, word [rax]
jne 0x140099d05
add rax, 2
mov edi, r14d
mov qword [rsp + 0x108], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x108]
call fcn.1400adfac
cmp eax, r13d
je 0x140099d28
mov rsi, qword [rsp + 0x48]
mov rbx, r14
mov dword [rsp + 0x50], esi
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.1400adfac
cmp eax, r13d
je 0x140099d51
mov eax, dword [rsp + 0x118]
or rbx, 2
mov dword [rsp + 0x54], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.1400adfac
cmp eax, r13d
je 0x140099d7a
mov eax, dword [rsp + 0x118]
or rbx, 4
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.1400adfac
cmp eax, r13d
je 0x140099da3
mov eax, dword [rsp + 0x118]
or rbx, 8
mov dword [rsp + 0x5c], eax
xor edx, edx
lea rcx, [rsp + 0x108]
lea r8d, [rdx + 0x1d]
call fcn.14002499c
mov r11, qword [rsp + 0x108]
cmp word [r11], r13w
je 0x140099dd9
mov al, bl
mov r12, r11
and al, 0xc
cmp al, 0xc
je 0x140099dd9
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x58], r13d
cmp edi, r13d
lea rdi, [rsp + 0x50]
je 0x140099e72
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp eax, r13d
jne 0x140099e79
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rsp + 0x30]
mov ebx, eax
cmp eax, r13d
cmove ebx, r14d
call fcn.1400590a4
lea rcx, [rsp + 0x60]
call fcn.1400590a4
mov eax, ebx
jmp 0x14009a49c
lea rdx, str.31:INDATA
lea rcx, [rsp + 0x118]
call fcn.14006d600
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x118]
call fcn.1400617a8
mov rdx, qword [rsp + 0x118]
mov rcx, r12
call fcn.140030b40
lea rcx, [rsp + 0x118]
mov rbx, rax
call fcn.1400590a4
jmp 0x14009a485
cmp rbx, r14
cmovl rdi, r13
mov r9, qword [rsp + 0x40]
mov r8, r12
mov rdx, rbp
mov rcx, rdi
call fcn.14007a374
movsxd rbx, eax
jmp 0x14009a485
xor r9d, r9d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
lea r8d, [r9 + 0x2c]
call fcn.1400528c0
movzx r11d, byte [rsp + 0x38]
xor r13d, r13d
cmp bl, r13b
cmovne r11d, r13d
cmp r11b, r13b
je 0x140099eda
lea ecx, [r13 + 0x3d]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [r13 + 0x3e]
mov edi, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
xor edx, edx
lea rcx, [rsp + 0x88]
mov dword [rsp + 0x78], 0x30
lea r8d, [rdx + 0x20]
mov qword [rsp + 0x80], r13
call fcn.1400f97d0
cmp bpl, r13b
jne 0x140099f19
mov rax, qword [rsp + 0x108]
cmp word [rax], r13w
jne 0x140099f19
mov eax, 1
cmp bl, al
jne 0x140099f85
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.GDI32.dll_CreateDCW]
mov edx, 0x76
mov rcx, rax
mov rbx, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, 0x75
mov rcx, rbx
mov dword [rsp + 0x40], eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, 0x58
mov rcx, rbx
mov dword [rsp + 0x6c], eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, 0x5a
mov rcx, rbx
mov dword [rsp + 0x70], eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [rsp + 0x48], eax
cmp rbx, r13
je 0x140099f85
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
movsxd r8, dword [rsp + 0x3c]
movsxd r9, dword [rsp + 0x40]
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
mov rax, r9
mov qword [rsp + 0x40], rcx
imul rax, rax, 0x64
add rax, rcx
movsxd rcx, dword [rsp + 0x6c]
cqo
idiv r8
movsxd r8, dword [rsp + 0x68]
mov r13, rax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov rax, rcx
mov qword [rsp + 0xa8], rdx
imul rax, rax, 0x64
add rax, rdx
cqo
idiv r8
mov rbx, rax
cmp r9d, dword [rsp + 0x3c]
jne 0x14009a03e
cmp ecx, r8d
jne 0x14009a03e
movsxd rcx, dword [rsp + 0x70]
movabs r8, 0x2aaaaaaaaaaaaaab
mov rax, r8
imul rcx, rcx, 0x64
add rcx, 0x30
imul rcx
movsxd rcx, dword [rsp + 0x48]
mov rax, r8
sar rdx, 4
mov r13, rdx
imul rcx, rcx, 0x64
shr r13, 0x3f
add rcx, 0x30
add r13, rdx
imul rcx
mov ecx, dword [rsp + 0x6c]
sar rdx, 4
mov rbx, rdx
shr rbx, 0x3f
add rbx, rdx
jmp 0x14009a074
movsxd r10, dword [rsp + 0x3c]
lea rax, [r9 + r9*2]
shl rax, 5
add rax, qword [rsp + 0x40]
cqo
idiv r10
mov qword [rsp + 0x70], rax
lea rax, [rcx + rcx*2]
shl rax, 5
add rax, qword [rsp + 0xa8]
cqo
idiv r8
mov qword [rsp + 0x48], rax
xor eax, eax
cmp bpl, al
jle 0x14009a080
mov edi, r9d
mov esi, ecx
cmp byte [rsp + 0x118], al
je 0x14009a2b9
lea rdx, [rsp + 0x78]
mov ecx, 5
call qword [sym.imp.SHELL32.dll_SHAppBarMessage]
cmp byte [rsp + 0x118], 2
jne 0x14009a0d0
mov esi, dword [rsp + 0x9c]
mov r14d, dword [rsp + 0x94]
mov edi, dword [rsp + 0x98]
mov r15d, dword [rsp + 0x90]
sub esi, r14d
sub edi, r15d
jmp 0x14009a2b9
mov eax, dword [rsp + 0x8c]
xor r10d, r10d
cmp eax, 3
jne 0x14009a113
cmp bpl, r10b
movsxd rsi, dword [rsp + 0x94]
jg 0x14009a2b9
mov eax, ebx
mov r8, rsi
movsxd rcx, ebx
cdq
sub eax, edx
imul r8, r8, 0x64
sar eax, 1
cdqe
add rax, r8
cqo
idiv rcx
mov rsi, rax
jmp 0x14009a2b9
cmp eax, 1
jne 0x14009a179
cmp bpl, r10b
movsxd r9, dword [rsp + 0x9c]
mov r14d, r9d
jg 0x14009a147
mov eax, r13d
mov r8, r9
movsxd rcx, r13d
cdq
sub eax, edx
imul r8, r8, 0x64
sar eax, 1
cdqe
add rax, r8
cqo
idiv rcx
mov r14, rax
sub esi, r9d
cmp bpl, r10b
jg 0x14009a2b9
mov esi, dword [rsp + 0x68]
mov eax, ebx
mov r8, r9
cdq
movsxd rcx, ebx
imul r8, r8, 0x64
sub eax, edx
sar eax, 1
cdqe
add rax, r8
cqo
idiv rcx
sub esi, eax
jmp 0x14009a2b9
cmp eax, r10d
jne 0x14009a1df
cmp bpl, r10b
movsxd r9, dword [rsp + 0x98]
mov r15d, r9d
jg 0x14009a1ad
mov eax, r13d
mov r8, r9
movsxd rcx, r13d
cdq
sub eax, edx
imul r8, r8, 0x64
sar eax, 1
cdqe
add rax, r8
cqo
idiv rcx
mov r15, rax
sub edi, r9d
cmp bpl, r10b
jg 0x14009a2b9
mov edi, dword [rsp + 0x3c]
mov eax, ebx
mov r8, r9
cdq
movsxd rcx, ebx
imul r8, r8, 0x64
sub eax, edx
sar eax, 1
cdqe
add rax, r8
cqo
idiv rcx
sub edi, eax
jmp 0x14009a2b9
cmp eax, 2
jne 0x14009a219
cmp bpl, r10b
movsxd rdi, dword [rsp + 0x90]
jg 0x14009a2b9
mov eax, r13d
mov r8, rdi
movsxd rcx, r13d
cdq
sub eax, edx
imul r8, r8, 0x64
sar eax, 1
cdqe
add rax, r8
cqo
idiv rcx
mov rdi, rax
jmp 0x14009a2b9
mov ecx, 0x3d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3e
movsxd r14, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor r10d, r10d
cmp bpl, r10b
movsxd r11, eax
jle 0x14009a2a6
mov r8, r14
mov eax, r13d
movsxd rcx, r13d
cdq
movabs r9, 0xa3d70a3d70a3d70b
sub eax, edx
imul r8, rcx
sar eax, 1
movsxd rcx, eax
mov rax, r9
add r8, rcx
imul r8
mov eax, ebx
lea r14, [r8 + rdx]
cdq
mov r8, r11
sub eax, edx
sar r14, 6
sar eax, 1
mov rcx, r14
shr rcx, 0x3f
add r14, rcx
movsxd rcx, ebx
imul r8, rcx
movsxd rcx, eax
mov rax, r9
add r8, rcx
imul r8
lea r11, [r8 + rdx]
sar r11, 6
mov rax, r11
shr rax, 0x3f
add r11, rax
cmp edi, r14d
cmovg edi, r14d
mov r14, qword [rsp + 0x50]
cmp esi, r11d
cmovg esi, r11d
mov r8, qword [rsp + 0x60]
xor ebp, ebp
cmp word [r8], bp
je 0x14009a2d0
mov edx, edi
mov rcx, r12
call fcn.140064988
mov rax, qword [rsp + 0x30]
cmp word [rax], bp
je 0x14009a2ec
mov r8, rax
mov edx, esi
mov rcx, r12
call fcn.140064988
mov rax, qword [rsp + 0x30]
xor r9d, r9d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
lea edi, [r9 + 0x2c]
mov word [rax], bp
mov r8d, edi
call fcn.1400528c0
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009a329
mov r8, r11
mov edx, r15d
mov rcx, r12
call fcn.140064988
mov r11, qword [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
xor r9d, r9d
mov r8d, edi
mov word [r11], bp
call fcn.1400528c0
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009a363
mov r8, r11
mov edx, r14d
mov rcx, r12
call fcn.140064988
mov r11, qword [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
xor r9d, r9d
mov r8d, edi
mov word [r11], bp
call fcn.1400528c0
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009a3a1
mov edx, dword [rsp + 0x8c]
mov r8, r11
mov rcx, r12
call fcn.140064988
mov r11, qword [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
xor r9d, r9d
mov r8d, edi
mov word [r11], bp
call fcn.1400528c0
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009a3dc
mov edx, dword [rsp + 0x70]
mov r8, r11
mov rcx, r12
call fcn.140064988
mov r11, qword [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
xor r9d, r9d
mov r8d, edi
mov word [r11], bp
call fcn.1400528c0
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009a417
mov edx, dword [rsp + 0x48]
mov r8, r11
mov rcx, r12
call fcn.140064988
mov r11, qword [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
xor r9d, r9d
mov r8d, edi
mov word [r11], bp
call fcn.1400528c0
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009a451
mov r8, r11
mov edx, r13d
mov rcx, r12
call fcn.140064988
mov r11, qword [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
xor r9d, r9d
mov r8d, edi
mov word [r11], bp
call fcn.1400528c0
mov r8, qword [rsp + 0x30]
cmp word [r8], bp
je 0x14009a482
mov edx, ebx
mov rcx, r12
call fcn.140064988
mov rbx, rbp
lea rcx, [rsp + 0x30]
call fcn.1400590a4
lea rcx, [rsp + 0x60]
call fcn.1400590a4
mov rax, rbx
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret