Function at 0x14009c4c8
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.1400598f0
lea rcx, [rsp + 0x68]
mov edx, 5
call fcn.140062268
lea rcx, [rsp + 0x30]
mov edx, 0x14
call fcn.140062268
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 0x14009c78b
lea r15d, [rsi + 9]
lea rdx, [rsp + 0x108]
lea rcx, str._cap
mov r8d, edi
call fcn.140064cd0
cmp al, sil
je 0x14009c57f
mov r14b, r13b
mov byte [rsp + 0x39], r13b
jmp 0x14009c775
lea rdx, [rsp + 0x108]
lea rcx, str._max
mov r8d, edi
call fcn.140064cd0
cmp al, sil
je 0x14009c5a5
mov byte [rsp + 0x38], r13b
jmp 0x14009c775
lea rdx, [rsp + 0x108]
lea rcx, str._win
mov r8d, edi
call fcn.140064cd0
cmp al, sil
je 0x14009c5c6
mov bl, r13b
jmp 0x14009c5e7
lea rdx, [rsp + 0x108]
lea rcx, str._taskbar
mov r8d, 8
call fcn.140064cd0
cmp al, sil
je 0x14009c5f3
mov bl, 2
mov byte [rsp + 0x118], bl
jmp 0x14009c775
lea rdx, [rsp + 0x108]
lea rcx, str._desk_
mov r8d, 5
call fcn.140064cd0
cmp al, sil
je 0x14009c61a
mov bpl, r13b
jmp 0x14009c775
lea rdx, [rsp + 0x108]
lea rcx, str._desk_
mov r8d, 6
call fcn.140064cd0
cmp al, sil
je 0x14009c641
mov bpl, 0xff
jmp 0x14009c775
lea rdx, [rsp + 0x108]
lea rcx, str._save
mov r8d, 5
call fcn.140064cd0
cmp al, sil
jne 0x14009c775
mov r11, qword [rsp + 0x108]
lea rcx, str._display:
mov r8d, r15d
mov rdx, r11
call fcn.14005af04
cmp al, sil
je 0x14009c6eb
add r11, 0x12
mov qword [rsp + 0x108], r11
mov qword [rsp + 0x70], r11
movzx eax, word [r11]
cmp ax, si
je 0x14009c768
mov ecx, 0x20
cmp r15w, ax
ja 0x14009c6b2
cmp ax, 0xd
jbe 0x14009c6d2
cmp cx, ax
je 0x14009c6d2
add r11, 2
mov qword [rsp + 0x108], r11
mov ax, word [r11]
cmp ax, si
je 0x14009c768
jmp 0x14009c6a6
cmp word [r11], si
je 0x14009c768
mov word [r11], si
add qword [rsp + 0x108], 2
jmp 0x14009c768
lea rdx, [rsp + 0x108]
lea rcx, str._gui
mov r8d, edi
call fcn.140064cd0
cmp al, sil
jne 0x14009c948
lea rdx, [rsp + 0x108]
lea rcx, str._capgui
mov r8d, 7
call fcn.140064cd0
cmp al, sil
jne 0x14009c948
mov rcx, qword [rsp + 0x108]
movzx eax, word [rcx]
cmp ax, si
je 0x14009c768
mov edx, 0x20
cmp r15w, ax
ja 0x14009c74f
cmp ax, 0xd
jbe 0x14009c768
cmp dx, ax
je 0x14009c768
add rcx, 2
mov qword [rsp + 0x108], rcx
mov ax, word [rcx]
cmp ax, si
jne 0x14009c743
lea rcx, [rsp + 0x108]
call fcn.1400598f0
mov rax, qword [rsp + 0x108]
mov ecx, 0x2d
cmp cx, word [rax]
je 0x14009c556
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.140052ed4
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.14005311c
movzx eax, byte [rsp + 0x38]
xor edx, edx
cmp bl, dl
cmovne eax, edx
cmp bpl, dl
mov dword [rsp + 0x80], eax
jg 0x14009c996
mov rax, qword [rsp + 0x108]
cmp word [rax], dx
jne 0x14009c996
lea eax, [rdx + 1]
cmp bl, al
je 0x14009c996
cmp r14b, dl
jne 0x14009c996
mov r14d, dword [rsp + 0x108]
cmp byte [rsp + 0x80], dl
je 0x14009c869
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.1400fdc00
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 0x14009cbc4
cmp r14d, r8d
jne 0x14009cbc4
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 0x14009cbf5
lea rdx, str.31:INDATA
lea rcx, [rsp + 0x118]
call fcn.14006e2a8
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x118]
call fcn.140062330
mov rdx, qword [rsp + 0x118]
mov rcx, r12
call fcn.140030f08
lea rcx, [rsp + 0x118]
mov rbx, rax
call fcn.140059920
jmp 0x14009d00f
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 0x14009ca03
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
xor edx, edx
cmp byte [rsp + 0x39], dl
je 0x14009c844
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 0x14009ca75
lea rax, [r13 + 2]
lea r12d, [r14 + 1]
mov qword [rsp + 0x108], rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x108]
call fcn.140007bf8
mov r13d, 1
cmp eax, r14d
je 0x14009ca9e
mov rsi, qword [rsp + 0x60]
mov rbx, r13
mov dword [rsp + 0x48], esi
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.140007bf8
cmp eax, r14d
je 0x14009cac7
mov eax, dword [rsp + 0x118]
or rbx, 2
mov dword [rsp + 0x4c], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.140007bf8
cmp eax, r14d
je 0x14009caf0
mov eax, dword [rsp + 0x118]
or rbx, 4
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x108]
call fcn.140007bf8
cmp eax, r14d
je 0x14009cb19
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.140024ccc
mov r11, qword [rsp + 0x108]
cmp word [r11], r14w
je 0x14009cb4f
mov al, bl
mov r15, r11
and al, 0xc
cmp al, 0xc
je 0x14009cb4f
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x50], r14d
cmp r12d, r14d
je 0x14009cb96
lea rdx, [rsp + 0x48]
mov rcx, rsi
lea rdi, [rsp + 0x48]
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp eax, r14d
jne 0x14009cba9
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rsp + 0x30]
mov ebx, eax
cmp eax, r14d
cmove ebx, r13d
call fcn.140059920
lea rcx, [rsp + 0x68]
call fcn.140059920
mov eax, ebx
jmp 0x14009d026
cmp rbx, r13
jge 0x14009cba4
cmp qword [0x140137828], r14
jg 0x14009cba9
lea rdi, [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov r8, r15
mov rdx, rbp
mov rcx, rdi
call fcn.14007b8ec
movsxd rbx, eax
jmp 0x14009d00f
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 0x14009cbff
mov edi, ecx
mov esi, r14d
mov r14b, byte [rsp + 0x118]
test r14b, r14b
je 0x14009ce3e
lea rdx, [rsp + 0x88]
mov ecx, 5
call qword [sym.imp.SHELL32.dll_SHAppBarMessage]
cmp r14b, 2
jne 0x14009cc52
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 0x14009ce43
mov eax, dword [rsp + 0x9c]
cmp eax, 3
jne 0x14009cc97
movsxd rsi, dword [rsp + 0xa4]
mov r14, qword [rsp + 0x40]
test bpl, bpl
jg 0x14009ce43
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 0x14009ce43
cmp eax, 1
jne 0x14009ccfd
movsxd r9, dword [rsp + 0xac]
mov r14d, r9d
test bpl, bpl
jg 0x14009cccb
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 0x14009ce43
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 0x14009ce43
test eax, eax
jne 0x14009cd67
movsxd r9, dword [rsp + 0xa8]
mov r15d, r9d
test bpl, bpl
jg 0x14009cd30
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 0x14009ce43
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 0x14009ce43
cmp eax, 2
jne 0x14009cda6
movsxd rdi, dword [rsp + 0xa0]
mov r14, qword [rsp + 0x40]
test bpl, bpl
jg 0x14009ce43
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 0x14009ce43
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 0x14009ce30
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 0x14009ce5a
mov edx, edi
mov rcx, r12
call fcn.140065590
mov rax, qword [rsp + 0x30]
cmp word [rax], bp
je 0x14009ce76
mov r8, rax
mov edx, esi
mov rcx, r12
call fcn.140065590
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.14005311c
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009ceb3
mov r8, r11
mov edx, r15d
mov rcx, r12
call fcn.140065590
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.14005311c
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009ceed
mov r8, r11
mov edx, r14d
mov rcx, r12
call fcn.140065590
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.14005311c
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009cf2b
mov edx, dword [rsp + 0x9c]
mov r8, r11
mov rcx, r12
call fcn.140065590
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.14005311c
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009cf66
mov edx, dword [rsp + 0x48]
mov r8, r11
mov rcx, r12
call fcn.140065590
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.14005311c
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009cfa1
mov edx, dword [rsp + 0x60]
mov r8, r11
mov rcx, r12
call fcn.140065590
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.14005311c
mov r11, qword [rsp + 0x30]
cmp word [r11], bp
je 0x14009cfdb
mov r8, r11
mov edx, r13d
mov rcx, r12
call fcn.140065590
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.14005311c
mov r8, qword [rsp + 0x30]
cmp word [r8], bp
je 0x14009d00c
mov edx, ebx
mov rcx, r12
call fcn.140065590
mov rbx, rbp
lea rcx, [rsp + 0x30]
call fcn.140059920
lea rcx, [rsp + 0x68]
call fcn.140059920
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