Function at 0x14009c3b8
Capabilities:
Encode data using xor
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x18c0
call fcn.1400d8110
sub rsp, rax
mov rax, qword [0x1401006f0]
xor rax, rsp
mov qword [rsp + 0x18b0], rax
mov r15, qword [rsp + 0x1920]
mov r14, qword [rsp + 0x1928]
mov rdi, rcx
lea rcx, str.Profiles_d
mov r12d, r9d
mov byte [rsp + 0x31], r8b
mov byte [rsp + 0x30], dl
call fcn.14006d41c
xor ebp, ebp
mov esi, eax
or rax, 0xffffffffffffffff
lea r13, [0x1400e04f4]
cmp r12d, eax
jne 0x14009c4a4
cmp esi, ebp
mov r12d, esi
mov ebx, ebp
jle 0x14009c4a4
lea r8, str.Profiles_d
lea rcx, [rsp + 0x210]
mov r9d, ebx
mov edx, 0x50
call fcn.140022b7c
lea r8, [rsp + 0x4b0]
lea rdx, [0x1400e8ca8]
lea rcx, [rsp + 0x210]
mov r9, r13
mov dword [rsp + 0x20], 0x200
call fcn.14006d398
lea r11, [rsp + 0x4b0]
mov rdx, r15
sub rdx, r11
movzx eax, word [r11]
movzx ecx, word [r11 + rdx]
sub eax, ecx
jne 0x14009c495
add r11, 2
test ecx, ecx
jne 0x14009c480
cmp eax, ebp
je 0x14009c4a1
inc ebx
cmp ebx, esi
jl 0x14009c42f
jmp 0x14009c4a4
mov r12d, ebx
lea rcx, [rsp + 0x100]
cmp r14, rbp
je 0x14009c4c1
mov r8d, 0x50
mov rdx, r14
call fcn.1400805a0
jmp 0x14009c4d5
lea r8, str.Profiles_d
mov r9d, r12d
mov edx, 0x50
call fcn.140022b7c
lea rdx, [0x1400e8ca8]
lea rcx, [rsp + 0x100]
mov r8, r15
call fcn.14006d344
mov r12b, byte [rsp + 0x31]
cmp r12b, bpl
je 0x14009c535
cmp esi, ebp
mov ebx, ebp
jle 0x14009c535
lea r8, str.Profiles_d
lea rcx, [rsp + 0x210]
mov r9d, ebx
mov edx, 0x50
call fcn.140022b7c
lea rdx, [0x1400e8cd0]
lea rcx, [rsp + 0x210]
xor r8d, r8d
call fcn.14006d35c
inc ebx
cmp ebx, esi
jl 0x14009c4fc
lea rdx, [0x1400e8cd0]
lea rcx, [rsp + 0x100]
movzx r8d, r12b
call fcn.14006d35c
lea rdx, str.ArcName
lea rcx, [rsp + 0x100]
call fcn.14006cfb8
lea rdx, str.FileNames
lea rcx, [rsp + 0x100]
call fcn.14006cfb8
lea rdx, str.ImmExec
lea rcx, [rsp + 0x100]
xor r8d, r8d
call fcn.14006d35c
cmp rdi, rbp
je 0x14009c6f1
mov edx, 0x6b
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
lea rdx, str.ImmExec
lea rcx, [rsp + 0x100]
mov r8d, eax
call fcn.14006d35c
mov edx, 0x6d
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
lea rdx, str.AddToMenu
lea rcx, [rsp + 0x100]
mov r8d, eax
call fcn.14006d35c
mov edx, 0x66
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov r14d, 0x800
cmp eax, ebp
je 0x14009c62c
lea r8, [rsp + 0x8b0]
mov r9d, r14d
mov edx, 0x67
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
lea r8, [rsp + 0x8b0]
lea rdx, str.ArcName
lea rcx, [rsp + 0x100]
call fcn.14006d344
mov edx, 0x68
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, ebp
je 0x14009c6f1
mov edx, 0x69
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov rsi, rax
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov r12, 0xffffffffffffffff
lea ebx, [rax + 0xa]
mov eax, 2
movsxd rcx, ebx
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.1400c61d4
mov r8d, ebx
mov rcx, rsi
mov rdx, rax
mov rdi, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rdx, str.FileNames
lea rcx, [rsp + 0x100]
mov r8, rdi
call fcn.14006d344
mov rcx, rdi
call fcn.1400c72ec
mov dil, byte [rsp + 0x30]
cmp dil, bpl
jne 0x14009cff0
lea rdx, [rsp + 0x8b0]
lea rcx, [0x140155380]
mov r8, r14
call fcn.14004bc74
lea r8, [rsp + 0x8b0]
lea rdx, str.CurDir
lea rcx, [rsp + 0x100]
call fcn.14006d344
jmp 0x14009c6fa
mov dil, byte [rsp + 0x30]
or r12, 0xffffffffffffffff
cmp dil, bpl
jne 0x14009cff0
lea rcx, [0x1401678c0]
call fcn.140080e98
lea rdx, str.ExclNames
lea rcx, [rsp + 0x100]
mov r8, rax
mov rdi, rax
call fcn.14006d344
mov rcx, rdi
call fcn.1400c7040
lea rcx, [0x140167ae8]
call fcn.140080e98
lea rdx, str.StoreNames
lea rcx, [rsp + 0x100]
mov r8, rax
mov rdi, rax
call fcn.14006d344
mov rcx, rdi
call fcn.1400c7040
cmp dword [0x140163790], ebp
mov r8d, ebp
lea rdx, str.UseRAR
lea rcx, [rsp + 0x100]
sete r8b
call fcn.14006d35c
movzx r8d, byte [0x14016156f]
lea rdx, [0x1400e9540]
lea rcx, [rsp + 0x100]
call fcn.14006d35c
lea r8, [0x14015c3d8]
lea rdx, str.SFXModule
lea rcx, [rsp + 0x100]
call fcn.14006d344
lea rdx, [0x1400e19f0]
lea rcx, [rsp + 0x100]
call fcn.14006cfb8
lea r8, [0x1401637a2]
lea rdx, str.SFXIcon
lea rcx, [rsp + 0x100]
call fcn.14006d344
lea r8, [0x1401647a2]
lea rdx, str.SFXLogo
lea rcx, [rsp + 0x100]
call fcn.14006d344
movzx r8d, byte [0x1401657a2]
lea rdx, str.SFXElevate
lea rcx, [rsp + 0x100]
call fcn.14006d35c
lea r8, [0x14015e3de]
lea rdx, str.CmtFile
lea rcx, [rsp + 0x100]
call fcn.14006d344
cmp word [0x14015e3de], bp
jne 0x14009c850
mov rcx, qword [0x140182740]
call fcn.1400801c0
mov r13, rax
xor eax, eax
mov rcx, r12
mov rdi, r13
repne scasw ax, word [rdi]
lea rdx, str.CmtDataWide
mov r8, r13
not rcx
lea r9, [rcx + rcx]
lea rcx, [rsp + 0x100]
call fcn.14006d374
mov rcx, qword [0x140161528]
movabs rdx, 0x7fffffff7fffffff
lea rbx, [0x140000000]
cmp rcx, rdx
jne 0x14009c8b4
mov rcx, rbp
movzx eax, word [rcx + rbx + 0xe9648]
add rcx, 2
mov word [rsp + rcx + 0x19e], ax
cmp ax, bp
jne 0x14009c899
jmp 0x14009c8c1
lea rdx, [rsp + 0x1a0]
call fcn.140080620
lea r8, [rsp + 0x1a0]
lea rdx, str.VolumeSize
lea rcx, [rsp + 0x100]
call fcn.14006d344
mov r8d, dword [0x1401657b4]
lea rdx, str.VolSizeMod
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x1401616b2]
lea rdx, str.VolPause
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161574]
lea rdx, str.OldVolNames
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140161508]
lea rdx, str.RecVolNumber
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x14016151c]
lea rdx, [0x1400e72c0]
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x14016151b]
lea rdx, str.Fresh
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x14016168a]
lea rdx, str.SyncFiles
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x1401614f8]
lea rdx, str.Overwrite
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x14016156e]
lea rdx, str.Move
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161572]
lea rdx, str.ArcRecBin
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161571]
lea rdx, str.ArcWipe
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x1401657b1]
lea rdx, str.WipeIfPassword
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140161510]
lea rdx, str.Solid
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x1401616b1]
lea rdx, str.Test
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140161504]
lea rdx, str.Recovery
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161570]
lea rdx, str.EraseDest
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161519]
lea rdx, str.AddArcOnly
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161518]
lea rdx, str.ClearArc
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x1401616b0]
lea rdx, [0x1400e2298]
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x1401614fc]
lea rdx, str.Method
lea rcx, [rsp + 0x100]
call fcn.14006d35c
cmp dword [0x140163790], 1
je 0x14009cb46
mov r8d, dword [0x14015b3d0]
lea rdx, str.DictSizeLZ
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140163798]
lea rdx, str.DictSize
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x1401657a3]
lea rdx, [0x1400e9240]
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x1401657a4]
lea rdx, str.WaitForOther
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140162779]
lea rdx, str.Shutdown
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov edi, 0x80
lea rdx, [rsp + 0x3b0]
lea rcx, [0x1401603ec]
mov r8, rdi
call fcn.140079908
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x3b0]
mov r8, rdi
call fcn.140088028
xor eax, eax
lea rdi, [rsp + 0x3b0]
mov rcx, r12
repne scasw ax, word [rdi]
not rcx
lea r9, [rcx + rcx]
mov rcx, rbp
cmp r9, rbp
jbe 0x14009cbff
lea eax, [rcx + 0x49]
inc rcx
xor byte [rsp + rcx + 0x2af], al
cmp rcx, r9
jb 0x14009cbed
lea r8, [rsp + 0x2b0]
lea rdx, str.PasswordWide
lea rcx, [rsp + 0x100]
call fcn.14006d374
mov edi, 0x100
lea rcx, [rsp + 0x3b0]
mov rdx, rdi
call fcn.1400798a8
lea rcx, [rsp + 0x2b0]
mov rdx, rdi
call fcn.1400798a8
movzx r8d, byte [0x1401604ee]
lea rdx, str.EncryptHeaders
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x14016156d]
lea rdx, str.OpenShared
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161560]
lea rdx, str.ProcessOwners
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x14016168c]
lea rdx, str.SaveStreams
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161561]
lea rdx, str.SaveSymLinks
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161562]
lea rdx, str.SaveHardLinks
lea rcx, [rsp + 0x100]
call fcn.14006d35c
movzx r8d, byte [0x140161588]
lea rdx, str.GenerateArcName
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140162774]
lea rdx, str.VersionControl
lea rcx, [rsp + 0x100]
call fcn.14006d35c
cmp dword [0x140161500], 3
mov r8d, ebp
lea rdx, str.BLAKE2
lea rcx, [rsp + 0x100]
sete r8b
call fcn.14006d35c
cmp dword [0x140161578], 1
mov r8d, ebp
lea rdx, str.FileCopies
lea rcx, [rsp + 0x100]
sete r8b
call fcn.14006d35c
mov r8d, dword [0x14015d3d8]
lea rdx, str.QuickOpen
lea rcx, [rsp + 0x100]
call fcn.14006d35c
lea r8, [0x14016158a]
lea rdx, str.GenerateMask
lea rcx, [rsp + 0x100]
call fcn.14006d344
mov r8d, dword [0x14018274c]
lea rdx, str.FileTimeMode
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140182750]
lea rdx, str.FileDays
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140182754]
lea rdx, str.FileHours
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140182758]
lea rdx, str.FileMinutes
lea rcx, [rsp + 0x100]
call fcn.14006d35c
lea rcx, [0x140161690]
call fcn.140083cc8
lea rdx, str.FileTimeBefore
lea rcx, [rsp + 0x100]
mov r8d, eax
call fcn.14006d35c
lea rcx, [0x140161698]
call fcn.140083cc8
lea rdx, str.FileTimeAfter
lea rcx, [rsp + 0x100]
mov r8d, eax
call fcn.14006d35c
cmp dword [0x140161558], 1
mov r8d, ebp
lea rdx, str.ArcTimeOriginal
lea rcx, [rsp + 0x100]
sete r8b
call fcn.14006d35c
cmp dword [0x140161558], 2
mov r8d, ebp
lea rdx, str.ArcTimeLatest
lea rcx, [rsp + 0x100]
sete r8b
call fcn.14006d35c
mov r8d, dword [0x14016277c]
lea rdx, str.mtime
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140162780]
lea rdx, str.ctime
lea rcx, [rsp + 0x100]
call fcn.14006d35c
mov r8d, dword [0x140162784]
lea rdx, str.atime
lea rcx, [rsp + 0x100]
call fcn.14006d35c
cmp dword [0x140161520], 3
mov r8d, ebp
lea rdx, str.PathsAbs
lea rcx, [rsp + 0x100]
sete r8b
call fcn.14006d35c
cmp dword [0x140161520], 1
mov r8d, ebp
lea rdx, str.PathsNone
lea rcx, [rsp + 0x100]
sete r8b
call fcn.14006d35c
cmp dword [0x140161520], 4
lea rdx, str.PathsAbsDrive
sete bpl
lea rcx, [rsp + 0x100]
mov r8d, ebp
call fcn.14006d35c
movzx r8d, byte [0x1401657c0]
lea rdx, str.SeparateArc
lea rcx, [rsp + 0x100]
call fcn.14006d35c
lea r8, [0x140161774]
lea rdx, str.EmailArcTo
lea rcx, [rsp + 0x100]
call fcn.14006d344
lea esi, [rdi - 0x40]
lea rcx, [rsp + 0x40]
mov r8, rsi
xor edx, edx
call fcn.1400c7170
lea rdi, [0x140100500]
mov r8d, 8
mov eax, dword [rdi]
add rdi, 8
sub r8, 1
lea rdx, [rax + rax*2]
mov eax, dword [rdi - 4]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rdx*4 + 0x1616b4]
mov dword [rsp + rcx*4 + 0x40], eax
mov eax, dword [rbx + rdx*4 + 0x1616b8]
mov dword [rsp + rcx*4 + 0x44], eax
mov eax, dword [rbx + rdx*4 + 0x1616bc]
mov dword [rsp + rcx*4 + 0x48], eax
jne 0x14009cf9c
lea r8, [rsp + 0x40]
lea rdx, str.PackDetails
lea rcx, [rsp + 0x100]
mov r9, rsi
call fcn.14006d374
mov rcx, qword [rsp + 0x18b0]
xor rcx, rsp
call fcn.1400c6350
mov rbx, qword [rsp + 0x1908]
add rsp, 0x18c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret