Function at 0x140081134
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
sub rsp, 0xb00
mov rax, qword [0x1400e0920]
xor rax, rsp
mov qword [rsp + 0xaf0], rax
mov r15, qword [rsp + 0xb60]
mov r14, qword [rsp + 0xb68]
mov rdi, rcx
lea rcx, str.Profiles_d
mov r12d, r9d
mov byte [rsp + 0x31], r8b
mov byte [rsp + 0x30], dl
call fcn.14005c4e8
xor ebp, ebp
mov esi, eax
or rax, 0xffffffffffffffff
lea r13, [0x1400c3f4c]
cmp r12d, eax
jne 0x14008121a
cmp esi, ebp
mov r12d, esi
mov ebx, ebp
jle 0x14008121a
lea r8, str.Profiles_d
lea rcx, [rsp + 0x150]
mov r9d, ebx
mov edx, 0x50
call fcn.1400287d0
lea r8, [rsp + 0x2f0]
lea rdx, [0x1400ca250]
lea rcx, [rsp + 0x150]
mov r9, r13
mov dword [rsp + 0x20], 0x200
call fcn.14005c464
lea r11, [rsp + 0x2f0]
mov rdx, r15
sub rdx, r11
movzx eax, word [r11]
movzx ecx, word [r11 + rdx]
sub eax, ecx
jne 0x14008120b
add r11, 2
test ecx, ecx
jne 0x1400811f6
cmp eax, ebp
je 0x140081217
inc ebx
cmp ebx, esi
jl 0x1400811a5
jmp 0x14008121a
mov r12d, ebx
lea rcx, [rsp + 0x40]
cmp r14, rbp
je 0x140081234
mov r8d, 0x50
mov rdx, r14
call fcn.14006b658
jmp 0x140081248
lea r8, str.Profiles_d
mov r9d, r12d
mov edx, 0x50
call fcn.1400287d0
lea rdx, [0x1400ca250]
lea rcx, [rsp + 0x40]
mov r8, r15
call fcn.14005c410
mov r12b, byte [rsp + 0x31]
cmp r12b, bpl
je 0x1400812a5
cmp esi, ebp
mov ebx, ebp
jle 0x1400812a5
lea r8, str.Profiles_d
lea rcx, [rsp + 0x150]
mov r9d, ebx
mov edx, 0x50
call fcn.1400287d0
lea rdx, [0x1400ca278]
lea rcx, [rsp + 0x150]
xor r8d, r8d
call fcn.14005c428
inc ebx
cmp ebx, esi
jl 0x14008126c
lea rdx, [0x1400ca278]
lea rcx, [rsp + 0x40]
movzx r8d, r12b
call fcn.14005c428
lea rdx, str.ArcName
lea rcx, [rsp + 0x40]
call fcn.14005c0b8
lea rdx, str.FileNames
lea rcx, [rsp + 0x40]
call fcn.14005c0b8
lea rdx, str.ImmExec
lea rcx, [rsp + 0x40]
xor r8d, r8d
call fcn.14005c428
cmp rdi, rbp
je 0x14008143f
mov edx, 0x6b
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
lea rdx, str.ImmExec
lea rcx, [rsp + 0x40]
mov r8d, eax
call fcn.14005c428
mov edx, 0x6d
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
lea rdx, str.AddToMenu
lea rcx, [rsp + 0x40]
mov r8d, eax
call fcn.14005c428
mov edx, 0x66
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov r14d, 0x400
cmp eax, ebp
je 0x140081387
lea r8, [rsp + 0x2f0]
mov r9d, r14d
mov edx, 0x67
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
lea r8, [rsp + 0x2f0]
lea rdx, str.ArcName
lea rcx, [rsp + 0x40]
call fcn.14005c410
mov edx, 0x68
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, ebp
je 0x14008143f
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.1400a9554
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 + 0x40]
mov r8, rdi
call fcn.14005c410
mov rcx, rdi
call fcn.1400a93c8
mov dil, byte [rsp + 0x30]
cmp dil, bpl
jne 0x140081b11
lea rcx, [rsp + 0x2f0]
mov edx, r14d
call fcn.140087598
lea r8, [rsp + 0x2f0]
lea rdx, str.CurDir
lea rcx, [rsp + 0x40]
call fcn.14005c410
jmp 0x140081448
mov dil, byte [rsp + 0x30]
or r12, 0xffffffffffffffff
cmp dil, bpl
jne 0x140081b11
mov rcx, qword [0x14010ef28]
call fcn.14006bee8
mov rcx, rax
mov rdi, rax
call fcn.14006b38c
lea rdx, str.ExclNames
lea rcx, [rsp + 0x40]
mov r8, rax
call fcn.14005c410
mov rcx, rdi
call fcn.1400a93c8
mov rcx, qword [0x14010ef40]
call fcn.14006bee8
mov rcx, rax
mov rdi, rax
call fcn.14006b38c
lea rdx, str.StoreNames
lea rcx, [rsp + 0x40]
mov r8, rax
call fcn.14005c410
mov rcx, rdi
call fcn.1400a93c8
cmp dword [0x14010c6b4], ebp
mov r8d, ebp
lea rdx, str.UseRAR
lea rcx, [rsp + 0x40]
sete r8b
call fcn.14005c428
lea r8, [0x140108b70]
lea rdx, str.SFXModule
lea rcx, [rsp + 0x40]
call fcn.14005c410
lea rdx, [0x1400c4490]
lea rcx, [rsp + 0x40]
call fcn.14005c0b8
lea r8, [0x14010c6ba]
lea rdx, str.SFXIcon
lea rcx, [rsp + 0x40]
call fcn.14005c410
lea r8, [0x14010ceba]
lea rdx, str.SFXLogo
lea rcx, [rsp + 0x40]
call fcn.14005c410
movzx r8d, byte [0x14010d6ba]
lea rdx, str.SFXElevate
lea rcx, [rsp + 0x40]
call fcn.14005c428
lea r8, [0x14010a370]
lea rdx, str.CmtFile
lea rcx, [rsp + 0x40]
call fcn.14005c410
cmp word [0x14010a370], bp
jne 0x140081577
mov rcx, qword [0x140123170]
call fcn.14006b38c
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 + 0x40]
call fcn.14005c440
mov rcx, qword [0x14010bcb0]
movabs rdx, 0x7fffffff7fffffff
cmp rcx, rdx
jne 0x1400815d4
mov rcx, rbp
lea rax, [0x1400ca830]
movzx eax, word [rcx + rax]
add rcx, 2
mov word [rsp + rcx + 0xde], ax
cmp ax, bp
jne 0x1400815b6
jmp 0x1400815e1
lea rdx, [rsp + 0xe0]
call fcn.14006b6b8
lea r8, [rsp + 0xe0]
lea rdx, str.VolumeSize
lea rcx, [rsp + 0x40]
call fcn.14005c410
movzx r8d, byte [0x14010bdd3]
lea rdx, str.VolPause
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bdd0]
lea rdx, str.OldVolNames
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010bc90]
lea rdx, str.RecVolNumber
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bca5]
lea rdx, [0x1400c8de0]
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bca4]
lea rdx, str.Fresh
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bd73]
lea rdx, str.SyncFiles
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010bc84]
lea rdx, str.Overwrite
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bcee]
lea rdx, str.Move
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bcf1]
lea rdx, str.ArcRecBin
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bcf0]
lea rdx, str.ArcWipe
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010bc98]
lea rdx, str.Solid
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bca2]
lea rdx, [0x1400ca604]
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bdd2]
lea rdx, str.Test
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010bc8c]
lea rdx, str.Recovery
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bcef]
lea rdx, str.EraseDest
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bca1]
lea rdx, str.AddArcOnly
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bca0]
lea rdx, str.ClearArc
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bdd1]
lea rdx, [0x1400c4a68]
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010bc88]
lea rdx, str.Method
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010836c]
lea rdx, str.DictSizeLZ
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010d6bb]
lea rdx, [0x1400ca4d8]
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010d6bc]
lea rdx, str.WaitForOther
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010c29a]
lea rdx, str.Shutdown
lea rcx, [rsp + 0x40]
call fcn.14005c428
lea rdi, [0x14010b778]
lea rdx, [rsp + 0x1f0]
mov rcx, rdi
mov r8d, 0x80
call fcn.140073c78
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
not rcx
lea r9, [rcx + rcx]
mov rcx, rbp
cmp r9, rbp
jbe 0x140081879
lea eax, [rcx + 0x49]
inc rcx
xor byte [rsp + rcx + 0x1ef], al
cmp rcx, r9
jb 0x140081867
lea r8, [rsp + 0x1f0]
lea rdx, str.PasswordWide
lea rcx, [rsp + 0x40]
call fcn.14005c440
movzx r8d, byte [0x14010b878]
lea rdx, str.EncryptHeaders
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bced]
lea rdx, str.OpenShared
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bce0]
lea rdx, str.ProcessOwners
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bd75]
lea rdx, str.SaveStreams
lea rcx, [rsp + 0x40]
call fcn.14005c428
movzx r8d, byte [0x14010bcf2]
lea rdx, str.GenerateArcName
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010c294]
lea rdx, str.VersionControl
lea rcx, [rsp + 0x40]
call fcn.14005c428
lea r8, [0x14010bcf3]
lea rdx, str.GenerateMask
lea rcx, [rsp + 0x40]
call fcn.14005c810
mov r8d, dword [0x14012317c]
lea rdx, str.FileTimeMode
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x140123180]
lea rdx, str.FileDays
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x140123184]
lea rdx, str.FileHours
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x140123188]
lea rdx, str.FileMinutes
lea rcx, [rsp + 0x40]
call fcn.14005c428
lea rcx, [0x14010bd78]
call fcn.14006e1b4
lea rdx, str.FileTimeBefore
lea rcx, [rsp + 0x40]
mov r8d, eax
call fcn.14005c428
lea rcx, [0x14010bd9c]
call fcn.14006e1b4
lea rdx, str.FileTimeAfter
lea rcx, [rsp + 0x40]
mov r8d, eax
call fcn.14005c428
cmp dword [0x14010bcd8], 1
mov r8d, ebp
lea rdx, str.ArcTimeOriginal
lea rcx, [rsp + 0x40]
sete r8b
call fcn.14005c428
cmp dword [0x14010bcd8], 2
mov r8d, ebp
lea rdx, str.ArcTimeLatest
lea rcx, [rsp + 0x40]
sete r8b
call fcn.14005c428
mov r8d, dword [0x14010c29c]
lea rdx, str.mtime
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010c2a0]
lea rdx, str.ctime
lea rcx, [rsp + 0x40]
call fcn.14005c428
mov r8d, dword [0x14010c2a4]
lea rdx, str.atime
lea rcx, [rsp + 0x40]
call fcn.14005c428
cmp dword [0x14010bca8], 3
mov r8d, ebp
lea rdx, str.PathsAbs
lea rcx, [rsp + 0x40]
sete r8b
call fcn.14005c428
cmp dword [0x14010bca8], 1
mov r8d, ebp
lea rdx, str.PathsNone
lea rcx, [rsp + 0x40]
sete r8b
call fcn.14005c428
cmp dword [0x14010bca8], 4
lea rdx, str.PathsAbsDrive
sete bpl
lea rcx, [rsp + 0x40]
mov r8d, ebp
call fcn.14005c428
movzx r8d, byte [0x14012318e]
lea rdx, str.SeparateArc
lea rcx, [rsp + 0x40]
call fcn.14005c428
lea r8, [0x14010be94]
lea rdx, str.EmailArcTo
lea rcx, [rsp + 0x40]
call fcn.14005c810
lea r8, [0x14010bdd4]
lea rdx, str.PackDetails
lea rcx, [rsp + 0x40]
mov r9d, 0xc0
call fcn.14005c440
mov rcx, qword [rsp + 0xaf0]
xor rcx, rsp
call fcn.1400a86e0
mov rbx, qword [rsp + 0xb48]
add rsp, 0xb00
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret