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

Disassembly:
sub esp, 0xbac
mov eax, dword [0x4da8f0]
xor eax, esp
mov dword [esp + 0xba8], eax
mov eax, dword [esp + 0xbc0]
push ebp
mov ebp, dword [esp + 0xbc0]
push esi
push edi
push str.Profiles_d
mov dword [esp + 0x10], eax
call fcn.00460f80
cmp dword [esp + 0xbc4], 0xffffffff
mov edi, eax
jne 0x486f95
xor esi, esi
mov dword [esp + 0xbc4], edi
test edi, edi
jle 0x486f95
jmp 0x486f10
push esi
lea ecx, [esp + 0x118]
push str.Profiles_d
push ecx
mov edx, 0x50
call fcn.00483770
add esp, 0xc
push 0x200
push 0x4c79a8
lea edx, [esp + 0x3bc]
push edx
push 0x4cce74
lea eax, [esp + 0x124]
push eax
call fcn.00460eb0
mov ecx, ebp
lea eax, [esp + 0x3b4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x486f7e
test dx, dx
je 0x486f7a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x486f7e
add eax, 4
add ecx, 4
test dx, dx
jne 0x486f58
xor eax, eax
jmp 0x486f83
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x486f8e
inc esi
cmp esi, edi
jl 0x486f10
jmp 0x486f95
mov dword [esp + 0xbc4], esi
mov eax, dword [esp + 0xc]
test eax, eax
je 0x486fac
push 0x50
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.004709a0
jmp 0x486fcb
mov edx, dword [esp + 0xbc4]
push edx
lea eax, [esp + 0x14]
push str.Profiles_d
push eax
mov edx, 0x50
call fcn.00483770
add esp, 0xc
push ebp
push 0x4cce74
lea ecx, [esp + 0x18]
push ecx
call fcn.00460de0
cmp byte [esp + 0xbc0], 0
je 0x487024
xor esi, esi
test edi, edi
jle 0x487024
jmp 0x486ff0
push esi
lea edx, [esp + 0x118]
push str.Profiles_d
push edx
mov edx, 0x50
call fcn.00483770
add esp, 0xc
push 0
push 0x4cce64
lea eax, [esp + 0x11c]
push eax
call fcn.00460e00
inc esi
cmp esi, edi
jl 0x486ff0
movzx ecx, byte [esp + 0xbc0]
push ecx
push 0x4cce64
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
push str.ArcName
lea eax, [esp + 0x14]
push eax
call fcn.00460a60
push str.FileNames
lea ecx, [esp + 0x14]
push ecx
call fcn.00460a60
push 0
push str.ImmExec
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
test ebx, ebx
je 0x487175
mov esi, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
push 0x6b
push ebx
call esi
push eax
push str.ImmExec
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
push 0x6d
push ebx
call esi
push eax
push str.AddToMenu
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
push 0x66
push ebx
call esi
test eax, eax
je 0x4870d9
push 0x400
lea edx, [esp + 0x3b8]
push edx
push 0x67
push ebx
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
lea eax, [esp + 0x3b4]
push eax
push str.ArcName
lea ecx, [esp + 0x18]
push ecx
call fcn.00460de0
push 0x68
push ebx
call esi
test eax, eax
je 0x487175
push 0x69
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebp, eax
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov esi, eax
add esi, 0xa
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b09d7
add esp, 4
push esi
mov edi, eax
push edi
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextW]
push edi
push str.FileNames
lea eax, [esp + 0x18]
push eax
call fcn.00460de0
push edi
call fcn.004b1895
add esp, 4
cmp byte [esp + 0xbbc], 0
jne 0x487829
push 0x400
lea ecx, [esp + 0x3b8]
push ecx
call fcn.0048cf70
lea edx, [esp + 0x3b4]
push edx
push str.CurDir
lea eax, [esp + 0x18]
push eax
call fcn.00460de0
jmp 0x487183
cmp byte [esp + 0xbbc], 0
jne 0x487829
mov ecx, dword [0x52b4a8]
push ecx
call fcn.004716c0
mov esi, eax
push esi
call fcn.00470640
push eax
push str.ExclNames
lea edx, [esp + 0x18]
push edx
call fcn.00460de0
push esi
call fcn.004b1895
mov eax, dword [0x52b4b4]
add esp, 4
push eax
call fcn.004716c0
mov esi, eax
push esi
call fcn.00470640
push eax
push str.StoreNames
lea ecx, [esp + 0x18]
push ecx
call fcn.00460de0
push esi
call fcn.004b1895
add esp, 4
xor edx, edx
cmp dword [0x528c34], edx
lea eax, [esp + 0x10]
sete dl
push edx
push str.UseRAR
push eax
call fcn.00460e00
push 0x5250f0
push str.SFXModule
lea ecx, [esp + 0x18]
push ecx
call fcn.00460de0
push 0x4c8034
lea edx, [esp + 0x14]
push edx
call fcn.00460a60
push 0x528c3a
push str.SFXIcon
lea eax, [esp + 0x18]
push eax
call fcn.00460de0
push 0x52943a
push str.SFXLogo
lea ecx, [esp + 0x18]
push ecx
call fcn.00460de0
movzx edx, byte [0x529c3a]
push edx
push str.SFXElevate
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
push 0x5268f2
push str.CmtFile
lea ecx, [esp + 0x18]
push ecx
call fcn.00460de0
cmp word [0x5268f2], 0
je 0x48727e
mov eax, 0x4c79a8
jmp 0x48728a
mov edx, dword [0x53c4fc]
push edx
call fcn.00470640
mov ecx, eax
lea esi, [ecx + 2]
nop
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x487290
sub ecx, esi
sar ecx, 1
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push str.CmtDataWide
lea edx, [esp + 0x1c]
push edx
call fcn.00460e60
mov eax, dword [0x528238]
mov ecx, dword [0x52823c]
cmp eax, 0x7fffffff
jne 0x4872e9
cmp ecx, 0x7fffffff
jne 0x4872e9
xor eax, eax
movzx ecx, word [eax + 0x4cd418]
mov word [esp + eax + 0xb0], cx
add eax, 2
test cx, cx
jne 0x4872d0
jmp 0x4872f8
lea edx, [esp + 0xb0]
push edx
push ecx
push eax
call fcn.00470ac0
lea eax, [esp + 0xb0]
push eax
push str.VolumeSize
lea ecx, [esp + 0x18]
push ecx
call fcn.00460de0
mov edx, dword [0x529c48]
push edx
push str.VolSizeMod
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x528353]
push ecx
push str.VolPause
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x528350]
push eax
push str.OldVolNames
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov edx, dword [0x528214]
push edx
push str.RecVolNumber
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x528229]
push ecx
push 0x4cbb30
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x528228]
push eax
push str.Fresh
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
movzx edx, byte [0x5282ef]
push edx
push str.SyncFiles
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
mov ecx, dword [0x528208]
push ecx
push str.Overwrite
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x52826a]
push eax
push str.Move
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
movzx edx, byte [0x52826d]
push edx
push str.ArcRecBin
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x52826c]
push ecx
push str.ArcWipe
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x529c45]
push eax
push str.WipeIfPassword
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov edx, dword [0x52821c]
push edx
push str.Solid
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x528226]
push ecx
push 0x4cd1cc
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x528352]
push eax
push str.Test
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov edx, dword [0x528210]
push edx
push str.Recovery
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x52826b]
push ecx
push str.EraseDest
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x528225]
push eax
push str.AddArcOnly
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
movzx edx, byte [0x528224]
push edx
push str.ClearArc
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x528351]
push ecx
push 0x4c8560
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
mov eax, dword [0x52820c]
push eax
push str.Method
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov edx, dword [0x5248ec]
push edx
push str.DictSizeLZ
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x529c3b]
push ecx
push 0x4cd0b0
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x529c3c]
push eax
push str.WaitForOther
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
movzx edx, byte [0x52881a]
push edx
push str.Shutdown
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
push 0x80
lea ecx, [esp + 0x2b8]
push ecx
mov ecx, 0x527cfc
call fcn.0046a6c0
push 0x80
lea edx, [esp + 0x1b8]
push edx
lea eax, [esp + 0x2bc]
push eax
call fcn.00477f90
lea eax, [esp + 0x2b4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x487581
sub eax, edx
sar eax, 1
lea ecx, [eax + eax + 2]
xor eax, eax
test ecx, ecx
jbe 0x4875b1
lea ebx, [ebx]
mov dl, al
add dl, 0x49
xor byte [esp + eax + 0x1b4], dl
inc eax
cmp eax, ecx
jb 0x4875a0
push ecx
lea eax, [esp + 0x1b8]
push eax
push str.PasswordWide
lea ecx, [esp + 0x1c]
push ecx
call fcn.00460e60
push 0x100
lea edx, [esp + 0x2b8]
push edx
call fcn.0046a760
push 0x100
lea eax, [esp + 0x1b8]
push eax
call fcn.0046a760
movzx ecx, byte [0x527dfe]
push ecx
push str.EncryptHeaders
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x528269]
push eax
push str.OpenShared
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
movzx edx, byte [0x52825c]
push edx
push str.ProcessOwners
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
movzx ecx, byte [0x5282f1]
push ecx
push str.SaveStreams
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
movzx eax, byte [0x52826e]
push eax
push str.GenerateArcName
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov edx, dword [0x528814]
push edx
push str.VersionControl
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
push 0x52826f
push str.GenerateMask
lea ecx, [esp + 0x18]
push ecx
call fcn.00461300
mov edx, dword [0x53c504]
push edx
push str.FileTimeMode
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
mov ecx, dword [0x53c508]
push ecx
push str.FileDays
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
mov eax, dword [0x53c50c]
push eax
push str.FileHours
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov edx, dword [0x53c510]
push edx
push str.FileMinutes
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
mov ecx, 0x5282f4
call fcn.004739d0
push eax
push str.FileTimeBefore
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov ecx, 0x528318
call fcn.004739d0
push eax
push str.FileTimeAfter
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
xor eax, eax
mov esi, 1
cmp dword [0x528254], esi
lea ecx, [esp + 0x10]
sete al
push eax
push str.ArcTimeOriginal
push ecx
call fcn.00460e00
xor edx, edx
cmp dword [0x528254], 2
lea eax, [esp + 0x10]
sete dl
push edx
push str.ArcTimeLatest
push eax
call fcn.00460e00
mov ecx, dword [0x52881c]
push ecx
push str.mtime
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
mov eax, dword [0x528820]
push eax
push str.ctime
lea ecx, [esp + 0x18]
push ecx
call fcn.00460e00
mov edx, dword [0x528824]
push edx
push str.atime
lea eax, [esp + 0x18]
push eax
call fcn.00460e00
xor ecx, ecx
cmp dword [0x52822c], 3
lea edx, [esp + 0x10]
sete cl
push ecx
push str.PathsAbs
push edx
call fcn.00460e00
xor eax, eax
cmp dword [0x52822c], esi
lea ecx, [esp + 0x10]
sete al
push eax
push str.PathsNone
push ecx
call fcn.00460e00
xor edx, edx
cmp dword [0x52822c], 4
lea eax, [esp + 0x10]
sete dl
push edx
push str.PathsAbsDrive
push eax
call fcn.00460e00
movzx ecx, byte [0x53c516]
push ecx
push str.SeparateArc
lea edx, [esp + 0x18]
push edx
call fcn.00460e00
push 0x528414
push str.EmailArcTo
lea eax, [esp + 0x18]
push eax
call fcn.00461300
push 0xc0
push 0x528354
push str.PackDetails
lea ecx, [esp + 0x1c]
push ecx
call fcn.00460e60
mov ecx, dword [esp + 0xbb4]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.004b102c
add esp, 0xbac
ret 0x14