Function at 0x140097e70
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.14005aec8
lea rcx, [rsp + 0x68]
mov edx, 5
call fcn.140063314
lea rcx, [rsp + 0x30]
mov edx, 0x14
call fcn.140063314
mov rax, qword [rsp + 0x108]
xor esi, esi
lea rdi, str.DISPLAY
lea ecx, [rsi + 0x2d]
mov bl, sil
mov qword [rsp + 0x70], rdi
mov r14b, sil
mov byte [rsp + 0x39], sil
mov byte [rsp + 0x38], sil
mov byte [rsp + 0x118], bl
mov bpl, sil
lea edi, [rsi + 4]
lea r13d, [rsi + 1]
cmp cx, word [rax]
jne 0x140098133
lea r15d, [rsi + 9]
lea rdx, [rsp + 0x108]
lea rcx, str._cap
mov r8d, edi
call fcn.140065d7c
cmp al, sil
je 0x140097f27
mov r14b, r13b
mov byte [rsp + 0x39], r13b
jmp 0x14009811d
lea rdx, [rsp + 0x108]
lea rcx, [0x14012817c]
mov r8d, edi
call fcn.140065d7c
cmp al, sil
je 0x140097f4d
mov byte [rsp + 0x38], r13b
jmp 0x14009811d
lea rdx, [rsp + 0x108]
lea rcx, str._win
mov r8d, edi
call fcn.140065d7c
cmp al, sil
je 0x140097f6e
mov bl, r13b
jmp 0x140097f8f
lea rdx, [rsp + 0x108]
lea rcx, str._taskbar
mov r8d, 8
call fcn.140065d7c
cmp al, sil
je 0x140097f9b
mov bl, 2
mov byte [rsp + 0x118], bl
jmp 0x14009811d
lea rdx, [rsp + 0x108]
lea rcx, str._desk_
mov r8d, 5
call fcn.140065d7c
cmp al, sil
je 0x140097fc2
mov bpl, r13b
jmp 0x14009811d
lea rdx, [rsp + 0x108]
lea rcx, str._desk_
mov r8d, 6
call fcn.140065d7c
cmp al, sil
je 0x140097fe9
mov bpl, 0xff
jmp 0x14009811d
lea rdx, [rsp + 0x108]
lea rcx, str._save
mov r8d, 5
call fcn.140065d7c
cmp al, sil
jne 0x14009811d
mov r11, qword [rsp + 0x108]
lea rcx, str._display:
mov r8d, r15d
mov rdx, r11
call fcn.14005c4dc
cmp al, sil
je 0x140098093
add r11, 0x12
mov qword [rsp + 0x108], r11
mov qword [rsp + 0x70], r11
movzx eax, word [r11]
cmp ax, si
je 0x140098110
mov ecx, 0x20
cmp r15w, ax
ja 0x14009805a
cmp ax, 0xd
jbe 0x14009807a
cmp cx, ax
je 0x14009807a
add r11, 2
mov qword [rsp + 0x108], r11
mov ax, word [r11]
cmp ax, si
je 0x140098110
jmp 0x14009804e
cmp word [r11], si
je 0x140098110
mov word [r11], si
add qword [rsp + 0x108], 2
jmp 0x140098110
lea rdx, [rsp + 0x108]
lea rcx, str._gui
mov r8d, edi
call fcn.140065d7c
cmp al, sil
jne 0x1400982f0
lea rdx, [rsp + 0x108]
lea rcx, str._capgui
mov r8d, 7
call fcn.140065d7c
cmp al, sil
jne 0x1400982f0
mov rcx, qword [rsp + 0x108]
movzx eax, word [rcx]
cmp ax, si
je 0x140098110
mov edx, 0x20
cmp r15w, ax
ja 0x1400980f7
cmp ax, 0xd
jbe 0x140098110
cmp dx, ax
je 0x140098110
add rcx, 2
mov qword [rsp + 0x108], rcx
mov ax, word [rcx]
cmp ax, si
jne 0x1400980eb
lea rcx, [rsp + 0x108]
call fcn.14005aec8
mov rax, qword [rsp + 0x108]
mov ecx, 0x2d
cmp cx, word [rax]
je 0x140097efe
mov eax, 8
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x108]
lea r9d, [rax + 0x24]
mov rcx, r12
mov word [rsp + 0x20], ax
call fcn.140054460
xor ecx, ecx
mov r15d, esi
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x60], esi
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, r13d
mov edi, eax
mov dword [rsp + 0x3c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r13, qword [rsp + 0x108]
xor r9d, r9d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x108]
lea r8d, [r9 + 0x2c]
mov esi, eax
mov dword [rsp + 0x78], eax
call fcn.1400546a8
movzx eax, byte [rsp + 0x38]
xor edx, edx
cmp bl, dl
cmovne eax, edx
cmp bpl, dl
mov dword [rsp + 0x80], eax
jg 0x14009833e
mov rax, qword [rsp + 0x108]
cmp word [rax], dx
jne 0x14009833e
lea eax, [rdx + 1]
cmp bl, al
je 0x14009833e
cmp r14b, dl
jne 0x14009833e
mov r14d, dword [rsp + 0x108]
cmp byte [rsp + 0x80], dl
je 0x140098211
mov ecx, 0x3d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3e
mov edi, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor edx, edx
mov esi, eax
mov qword [rsp + 0x90], rdx
xor edx, edx
lea rcx, [rsp + 0x98]
lea r8d, [rdx + 0x20]
mov dword [rsp + 0x88], 0x30
call fcn.140101f00
movsxd r8, dword [rsp + 0x3c]
movsxd rcx, dword [rsp + 0x58]
mov eax, r8d
movsxd r9, r14d
cdq
sub eax, edx
sar eax, 1
movsxd r10, eax
mov rax, rcx
imul rax, rax, 0x64
add rax, r10
cqo
idiv r8
movsxd r8, dword [rsp + 0x78]
mov r13, rax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov rax, r9
mov qword [rsp + 0x70], rdx
imul rax, rax, 0x64
add rax, rdx
cqo
idiv r8
mov rbx, rax
cmp ecx, dword [rsp + 0x3c]
jne 0x14009856c
cmp r14d, r8d
jne 0x14009856c
movsxd rcx, dword [rsp + 0x48]
movabs r8, 0x2aaaaaaaaaaaaaab
mov rax, r8
imul rcx, rcx, 0x64
add rcx, 0x30
imul rcx
movsxd rcx, dword [rsp + 0x60]
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 + 0x58]
sar rdx, 4
mov rbx, rdx
shr rbx, 0x3f
add rbx, rdx
jmp 0x14009859d
lea rdx, str.31:INDATA
lea rcx, [rsp + 0x118]
call fcn.14006ff14
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x118]
call fcn.1400633dc
mov rdx, qword [rsp + 0x118]
mov rcx, r12
call fcn.140031518
lea rcx, [rsp + 0x118]
mov rbx, rax
call fcn.14005aef8
jmp 0x1400989b7
mov rcx, qword [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
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 + 0x58], eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, 0x58
mov rcx, rbx
mov r14d, eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, 0x5a
mov rcx, rbx
mov dword [rsp + 0x48], eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
xor edx, edx
mov dword [rsp + 0x60], eax
cmp rbx, rdx
je 0x1400983ab
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
xor edx, edx
cmp byte [rsp + 0x39], dl
je 0x1400981ec
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x108], r13
mov r15, rdx
movzx eax, word [rcx]
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x48], edx
neg ax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x4c], edx
sbb rbp, rbp
xor r14d, r14d
mov dword [rsp + 0x50], eax
lea eax, [r14 + 0x23]
and rbp, rcx
mov rdi, r14
mov qword [rsp + 0x118], r14
mov rbx, r14
mov qword [rsp + 0x60], r14
mov rsi, r14
mov r12d, r14d
cmp ax, word [r13]
jne 0x14009841d
lea rax, [r13 + 2]
lea r12d, [r14 + 1]
mov qword [rsp + 0x108], rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x108]
call fcn.140007c18
mov r13d, 1
cmp eax, r14d
je 0x140098446
mov rsi, qword [rsp + 0x60]
mov rbx, r13
mov dword [rsp + 0x48], esi
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.140007c18
cmp eax, r14d
je 0x14009846f
mov eax, dword [rsp + 0x118]
or rbx, 2
mov dword [rsp + 0x4c], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.140007c18
cmp eax, r14d
je 0x140098498
mov eax, dword [rsp + 0x118]
or rbx, 4
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.140007c18
cmp eax, r14d
je 0x1400984c1
mov eax, dword [rsp + 0x118]
or rbx, 8
mov dword [rsp + 0x54], eax
xor edx, edx
lea rcx, [rsp + 0x108]
lea r8d, [rdx + 0x1d]
call fcn.140024cb8
mov r11, qword [rsp + 0x108]
cmp word [r11], r14w
je 0x1400984f7
mov al, bl
mov r15, r11
and al, 0xc
cmp al, 0xc
je 0x1400984f7
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x50], r14d
cmp r12d, r14d
je 0x14009853e
lea rdx, [rsp + 0x48]
mov rcx, rsi
lea rdi, [rsp + 0x48]
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp eax, r14d
jne 0x140098551
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rsp + 0x30]
mov ebx, eax
cmp eax, r14d
cmove ebx, r13d
call fcn.14005aef8
lea rcx, [rsp + 0x68]
call fcn.14005aef8
mov eax, ebx
jmp 0x1400989ce
cmp rbx, r13
jge 0x14009854c
cmp qword [0x14013d870], r14
jg 0x140098551
lea rdi, [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov r8, r15
mov rdx, rbp
mov rcx, rdi
call fcn.14007d534
movsxd rbx, eax
jmp 0x1400989b7
lea rax, [rcx + rcx*2]
shl rax, 5
add rax, r10
movsxd r10, dword [rsp + 0x3c]
cqo
idiv r10
mov qword [rsp + 0x48], rax
lea rax, [r9 + r9*2]
shl rax, 5
add rax, qword [rsp + 0x70]
cqo
idiv r8
mov qword [rsp + 0x60], rax
test bpl, bpl
jle 0x1400985a7
mov edi, ecx
mov esi, r14d
mov r14b, byte [rsp + 0x118]
test r14b, r14b
je 0x1400987e6
lea rdx, [rsp + 0x88]
mov ecx, 5
call qword [sym.imp.SHELL32.dll_SHAppBarMessage]
cmp r14b, 2
jne 0x1400985fa
mov esi, dword [rsp + 0xac]
mov r14d, dword [rsp + 0xa4]
mov edi, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0xa0]
sub esi, r14d
sub edi, r15d
jmp 0x1400987eb
mov eax, dword [rsp + 0x9c]
cmp eax, 3
jne 0x14009863f
movsxd rsi, dword [rsp + 0xa4]
mov r14, qword [rsp + 0x40]
test bpl, bpl
jg 0x1400987eb
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 0x1400987eb
cmp eax, 1
jne 0x1400986a5
movsxd r9, dword [rsp + 0xac]
mov r14d, r9d
test bpl, bpl
jg 0x140098673
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
test bpl, bpl
jg 0x1400987eb
mov esi, dword [rsp + 0x78]
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 0x1400987eb
test eax, eax
jne 0x14009870f
movsxd r9, dword [rsp + 0xa8]
mov r15d, r9d
test bpl, bpl
jg 0x1400986d8
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
mov r14, qword [rsp + 0x40]
sub edi, r9d
test bpl, bpl
jg 0x1400987eb
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 0x1400987eb
cmp eax, 2
jne 0x14009874e
movsxd rdi, dword [rsp + 0xa0]
mov r14, qword [rsp + 0x40]
test bpl, bpl
jg 0x1400987eb
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 0x1400987eb
mov ecx, 0x3d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3e
movsxd r14, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movsxd r11, eax
test bpl, bpl
jle 0x1400987d8
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
cmp esi, r11d
cmovg esi, r11d
mov r14, qword [rsp + 0x40]
mov r8, qword [rsp + 0x68]
xor ebp, ebp
cmp word [r8], bp
je 0x140098802
mov edx, edi
mov rcx, r12
call fcn.140066694
mov rax, qword [rsp + 0x30]
cmp word [rax], bp
je 0x14009881e
mov r8, rax
mov edx, esi
mov rcx, r12
call fcn.140066694
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.1400546a8
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009885b
mov r8, r11
mov edx, r15d
mov rcx, r12
call fcn.140066694
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.1400546a8
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x140098895
mov r8, r11
mov edx, r14d
mov rcx, r12
call fcn.140066694
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.1400546a8
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x1400988d3
mov edx, dword [rsp + 0x9c]
mov r8, r11
mov rcx, r12
call fcn.140066694
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.1400546a8
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009890e
mov edx, dword [rsp + 0x48]
mov r8, r11
mov rcx, r12
call fcn.140066694
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.1400546a8
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x140098949
mov edx, dword [rsp + 0x60]
mov r8, r11
mov rcx, r12
call fcn.140066694
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.1400546a8
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x140098983
mov r8, r11
mov edx, r13d
mov rcx, r12
call fcn.140066694
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.1400546a8
mov r8, qword [rsp + 0x30]
cmp word [r8], bp
je 0x1400989b4
mov edx, ebx
mov rcx, r12
call fcn.140066694
mov rbx, rbp
lea rcx, [rsp + 0x30]
call fcn.14005aef8
lea rcx, [rsp + 0x68]
call fcn.14005aef8
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