Function at 0x4842b0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x135c
call fcn.004af5f0
mov eax, dword [0x4d8620]
xor eax, esp
mov dword [esp + 0x1358], eax
mov eax, dword [esp + 0x1368]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
je 0x4842e6
push 0x50
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0046f260
jmp 0x484305
mov ecx, dword [esp + 0x1368]
push ecx
lea edx, [esp + 0x10]
push str.Profiles_d
push edx
mov edx, 0x50
call fcn.004a5ca0
add esp, 0xc
push 0x400
push 0x4c5d70
lea eax, [esp + 0x368]
push eax
push str.ArcName
lea ecx, [esp + 0x1c]
push ecx
call fcn.0045fba0
cmp word [esp + 0x360], bx
je 0x484357
xor eax, eax
jmp 0x484340
movzx ecx, word [esp + eax + 0x360]
mov word [eax + 0x5362aa], cx
add eax, 2
cmp cx, bx
jne 0x484340
push edi
cmp byte [esp + 0x1370], bl
je 0x484469
push str.FileNames
lea edx, [esp + 0x14]
push edx
call fcn.0045fc20
cmp eax, ebx
jle 0x484407
lea edi, [eax + eax + 0xa]
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004afbd0
add esp, 4
push edi
push 0x4c5d70
mov esi, eax
push esi
push str.FileNames
lea eax, [esp + 0x20]
push eax
call fcn.0045fba0
mov ecx, dword [0x536aac]
push ebx
push ebx
push ecx
push esi
call fcn.0046fd30
push esi
call fcn.004afa05
add esp, 4
push 0x400
push 0x4c5d70
lea edx, [esp + 0xb6c]
push edx
push str.CurDir
lea eax, [esp + 0x20]
push eax
call fcn.0045fba0
lea ecx, [esp + 0xb64]
push ecx
call fcn.0048af60
mov byte [0x5629f7], 1
mov byte [0x53525c], 1
push str.ExclNames
lea edx, [esp + 0x14]
push edx
call fcn.0045fc20
cmp eax, ebx
jle 0x484469
lea edi, [eax + eax + 0xa]
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004afbd0
add esp, 4
push edi
push 0x4c5d70
mov esi, eax
push esi
push str.ExclNames
lea eax, [esp + 0x20]
push eax
call fcn.0045fba0
mov ecx, dword [0x536ab0]
push ebx
push ebx
push ecx
push esi
call fcn.0046fd30
push esi
call fcn.004afa05
add esp, 4
push str.StoreNames
lea edx, [esp + 0x14]
push edx
call fcn.0045fc20
cmp eax, 0x200
jg 0x484484
mov eax, 0x200
lea edi, [eax + eax + 0xa]
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004afbd0
add esp, 4
push edi
push str..rar_.zip_.cab_.7z_.ace_.arj_.bz2_.gz_.lha_.lzh_.taz_.tgz
mov esi, eax
push esi
push str.StoreNames
lea eax, [esp + 0x20]
push eax
call fcn.0045fba0
mov ecx, dword [0x536abc]
push ebx
push ebx
push ecx
push esi
call fcn.0046fd30
push esi
call fcn.004afa05
add esp, 4
push ebx
push str.Default
lea edx, [esp + 0x18]
push edx
call fcn.0045fbd0
push 1
test eax, eax
push str.UseRAR
lea eax, [esp + 0x18]
push eax
setne byte [esp + 0x1b]
call fcn.0045fbd0
push 0x400
push 0x4c5d70
neg eax
push 0x5306f8
sbb eax, eax
push str.SFXModule
lea ecx, [esp + 0x20]
inc eax
push ecx
mov dword [0x53423c], eax
call fcn.0045fba0
cmp word [0x5306f8], bx
jne 0x484551
push ebx
push 0x4c6028
lea edx, [esp + 0x18]
push edx
call fcn.0045fbd0
neg eax
sbb eax, eax
and eax, 0x2a
mov word [0x5306f8], ax
xor eax, eax
mov word [0x5306fa], ax
push 0x400
push 0x4c5d70
push 0x534242
push str.SFXIcon
lea ecx, [esp + 0x20]
push ecx
call fcn.0045fba0
cmp word [0x534242], bx
jne 0x484596
push 0x400
push 0x4c5d70
push 0x534242
push str.SFXIcon
push str.SFXDefault
call fcn.0045fba0
push 0x400
push 0x4c5d70
push 0x534a42
push str.SFXLogo
lea edx, [esp + 0x20]
push edx
call fcn.0045fba0
cmp word [0x534a42], bx
jne 0x4845db
push 0x400
push 0x4c5d70
push 0x534a42
push str.SFXLogo
push str.SFXDefault
call fcn.0045fba0
push ebx
push str.SFXElevate
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
test eax, eax
setne al
mov byte [0x535242], al
cmp al, bl
jne 0x484614
push ebx
push str.SFXElevate
push str.SFXDefault
call fcn.0045fbd0
test eax, eax
setne cl
mov byte [0x535242], cl
push 0x4c5e00
push 0x5362aa
call fcn.00455f40
movzx edx, al
xor eax, eax
cmp word [0x5306f8], bx
setne al
cmp edx, eax
jne 0x484650
push 1
push ebx
push 1
push ebx
push ebx
push 0x5362aa
mov ecx, 0x52dfe8
call fcn.004170b0
test al, al
je 0x484674
cmp word [0x5306f8], bx
mov ecx, dword [0x53423c]
setne dl
push ecx
movzx eax, dl
push eax
push 0x400
push 0x5362aa
call fcn.00483f70
push 0x400
push 0x4c5d70
push 0x531efa
push str.CmtFile
lea ecx, [esp + 0x20]
push ecx
call fcn.0045fba0
push 0x20000
call fcn.004afbd0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x48479c
push 0x20000
push ebx
push esi
push str.CmtDataWide
lea edx, [esp + 0x20]
push edx
call fcn.0045fbf0
cmp word [esi], bx
jne 0x48471d
push 0x10000
push 0x4c5d70
push esi
push str.CmtTextWide
lea eax, [esp + 0x20]
push eax
call fcn.0045fba0
cmp word [esi], bx
jne 0x48471d
push 0x10000
call fcn.004afbd0
add esp, 4
push 0x10000
push ebx
mov edi, eax
push edi
push str.CmtTextData
lea ecx, [esp + 0x20]
push ecx
call fcn.0045fbf0
push 0x10000
push esi
push edi
call fcn.00477960
push edi
call fcn.004afa05
add esp, 4
xor edx, edx
mov word [esi + 0x1fffe], dx
mov eax, dword [0x5629dc]
push eax
cmp word [esi], bx
je 0x484785
call fcn.004afa05
mov eax, esi
add esp, 4
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x484740
sub eax, edx
sar eax, 1
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004afbd0
add esp, 4
mov dword [0x5629dc], eax
mov ecx, esi
mov edx, eax
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x484772
jmp 0x484793
call fcn.004afa05
add esp, 4
mov dword [0x5629dc], ebx
push esi
call fcn.004afa05
add esp, 4
push 0x32
push 0x4c5d70
lea ecx, [esp + 0x208]
push ecx
push str.VolumeSize
lea edx, [esp + 0x20]
push edx
call fcn.0045fba0
mov ax, word [esp + 0x200]
cmp ax, bx
jne 0x4847da
push ebx
push str.VolSize
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
cdq
jmp 0x484806
xor ecx, ecx
cmp ax, 0x41
sete cl
push ecx
call fcn.00477fa0
test eax, eax
je 0x4847f9
mov eax, 0x7fffffff
mov dword [0x533844], eax
jmp 0x48480c
lea edx, [esp + 0x200]
push edx
call fcn.0046f420
mov dword [0x533844], edx
push 2
mov dword [0x533840], eax
push str.VolSizeMod
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
push ebx
push str.VolPause
lea ecx, [esp + 0x18]
push ecx
mov dword [0x535250], eax
call fcn.0045fbd0
push ebx
test eax, eax
push str.OldVolNames
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x53395b], dl
call fcn.0045fbd0
push ebx
test eax, eax
push str.RecVolNumber
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x533958], cl
call fcn.0045fbd0
push ebx
mov dword [0x53381c], eax
push str.Update
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
push ebx
test eax, eax
push str.Fresh
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x533831], cl
call fcn.0045fbd0
push ebx
test eax, eax
push str.SyncFiles
lea ecx, [esp + 0x18]
setne al
push ecx
mov byte [0x533830], al
call fcn.0045fbd0
push ebx
test eax, eax
push str.Overwrite
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x5338f7], dl
call fcn.0045fbd0
push ebx
push str.Move
lea ecx, [esp + 0x18]
push ecx
mov dword [0x533810], eax
call fcn.0045fbd0
push ebx
test eax, eax
push str.ArcRecBin
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x533872], dl
call fcn.0045fbd0
push ebx
test eax, eax
push str.ArcWipe
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x533875], cl
call fcn.0045fbd0
test eax, eax
push ebx
push str.WipeIfPassword
lea ecx, [esp + 0x18]
setne al
push ecx
mov byte [0x533874], al
call fcn.0045fbd0
push 1
test eax, eax
push str.Solid
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x53524d], dl
call fcn.0045fbd0
push 1
push 0x4cb0fc
lea ecx, [esp + 0x18]
push ecx
mov dword [0x533824], eax
call fcn.0045fbd0
push ebx
test eax, eax
push str.Test
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x53382e], dl
call fcn.0045fbd0
push ebx
test eax, eax
push str.Recovery
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x53395a], cl
call fcn.0045fbd0
push ebx
mov dword [0x533818], eax
push str.EraseDest
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
push ebx
test eax, eax
push str.AddArcOnly
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x533873], cl
call fcn.0045fbd0
push ebx
test eax, eax
push str.ClearArc
lea ecx, [esp + 0x18]
setne al
push ecx
mov byte [0x53382d], al
call fcn.0045fbd0
push ebx
test eax, eax
push str.Lock
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x53382c], dl
call fcn.0045fbd0
mov edi, 3
push edi
test eax, eax
push str.Method
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x533959], cl
call fcn.0045fbd0
mov dword [0x533814], eax
call fcn.004817e0
push eax
push str.DictSizeLZ
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
push 0x100
lea edx, [esp + 0xb4]
xor ecx, ecx
push ebx
push edx
mov dword [0x52fef4], eax
mov word [esp + 0x270], cx
call fcn.004af620
add esp, 0xc
push 0x100
push ebx
lea eax, [esp + 0xb8]
push eax
push str.PasswordWide
lea ecx, [esp + 0x20]
push ecx
call fcn.0045fbf0
cmp eax, ebx
jne 0x484adf
push 0x100
push ebx
lea edx, [esp + 0xb8]
push edx
push str.Password
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0xc4], bl
call fcn.0045fbf0
xor ecx, ecx
cmp eax, ebx
jle 0x484ac3
mov edi, edi
mov dl, cl
add dl, 0x49
xor byte [esp + ecx + 0xb0], dl
je 0x484ac3
inc ecx
cmp ecx, eax
jl 0x484ab0
push 0x80
lea eax, [esp + 0x268]
push eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.00477960
jmp 0x484b1b
xor ecx, ecx
cmp eax, ebx
jle 0x484b01
jmp 0x484af0
mov dl, cl
add dl, 0x49
xor byte [esp + ecx + 0xb0], dl
inc ecx
cmp ecx, eax
jl 0x484af0
push 0x80
lea eax, [esp + 0x268]
push eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.004779e0
cmp byte [esp + 0xf], bl
je 0x484b32
cmp word [0x533304], bx
jne 0x484b71
cmp byte [0x533404], bl
jne 0x484b71
xor eax, eax
jmp 0x484b40
movzx ecx, word [esp + eax + 0x264]
mov word [eax + 0x533304], cx
add eax, 2
cmp cx, bx
jne 0x484b40
push ebx
push str.EncryptHeaders
lea edx, [esp + 0x18]
push edx
call fcn.0045fbd0
test eax, eax
setne al
mov byte [0x533404], al
push ebx
push str.OpenShared
lea ecx, [esp + 0x18]
push ecx
call fcn.0045fbd0
push ebx
test eax, eax
push str.ProcessOwners
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x533871], dl
call fcn.0045fbd0
push 1
test eax, eax
push str.SaveStreams
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x533864], cl
call fcn.0045fbd0
push ebx
test eax, eax
push str.Background
lea ecx, [esp + 0x18]
setne al
push ecx
mov byte [0x5338f9], al
call fcn.0045fbd0
push ebx
test eax, eax
push str.WaitForOther
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x535243], dl
call fcn.0045fbd0
push ebx
test eax, eax
push str.Shutdown
lea edx, [esp + 0x18]
setne cl
push edx
mov byte [0x535244], cl
call fcn.0045fbd0
push ebx
test eax, eax
push str.GenerateArcName
lea ecx, [esp + 0x18]
setne al
push ecx
mov byte [0x533e22], al
call fcn.0045fbd0
push ebx
test eax, eax
push str.VersionControl
lea eax, [esp + 0x18]
setne dl
push eax
mov byte [0x533876], dl
call fcn.0045fbd0
push 0x80
push str.yyyymmddhhmmss
push 0x533877
push str.GenerateMask
lea ecx, [esp + 0x20]
push ecx
mov dword [0x533e1c], eax
call fcn.00460060
cmp byte [0x533877], bl
je 0x484c9b
mov ecx, str.yyyymmddhhnnss
mov eax, 0x533877
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x484c92
cmp dl, bl
je 0x484c8e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x484c92
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x484c72
xor eax, eax
jmp 0x484c97
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x484cd5
mov edx, dword [str.yyyymmddhhmmss]
mov eax, dword [0x4c94b4]
mov ecx, dword [0x4c94b8]
mov dword [0x533877], edx
mov dx, word [0x4c94bc]
mov dword [0x53387b], eax
mov al, byte [0x4c94be]
mov dword [0x53387f], ecx
mov word [0x533883], dx
mov byte [0x533885], al
push ebx
push str.FileTimeMode
lea ecx, [esp + 0x18]
push ecx
call fcn.0045fbd0
push ebx
push str.FileDays
lea edx, [esp + 0x18]
push edx
mov dword [0x5629e4], eax
call fcn.0045fbd0
push ebx
mov dword [0x5629e8], eax
push str.FileHours
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
push ebx
push str.FileMinutes
lea ecx, [esp + 0x18]
push ecx
mov dword [0x5629ec], eax
call fcn.0045fbd0
mov ecx, dword [0x5629e4]
mov dword [0x5629f0], eax
mov dword [0x5338fc], ebx
mov dword [0x533920], ebx
cmp ecx, 1
je 0x484d45
cmp ecx, 2
jne 0x484d98
mov edx, dword [0x5629ec]
push eax
mov eax, dword [0x5629e8]
push edx
push eax
lea ecx, [esp + 0x1bc]
push str._dd_dh_dm
push ecx
call fcn.004aedca
add esp, 0x14
cmp dword [0x5629e4], 1
jne 0x484d80
lea edx, [esp + 0x1b0]
push edx
mov ecx, 0x5338fc
jmp 0x484d8d
lea eax, [esp + 0x1b0]
push eax
mov ecx, 0x533920
call fcn.00472680
mov ecx, dword [0x5629e4]
mov esi, 4
cmp ecx, edi
je 0x484da5
cmp ecx, esi
jne 0x484df3
push ebx
push str.FileTimeBefore
lea ecx, [esp + 0x18]
push ecx
call fcn.0045fbd0
cmp eax, ebx
je 0x484dcc
cmp dword [0x5629e4], edi
jne 0x484dcc
push eax
mov ecx, 0x5338fc
call fcn.004721f0
push ebx
push str.FileTimeAfter
lea edx, [esp + 0x18]
push edx
call fcn.0045fbd0
cmp eax, ebx
je 0x484df3
cmp dword [0x5629e4], esi
jne 0x484df3
push eax
mov ecx, 0x533920
call fcn.004721f0
push ebx
push str.ArcTimeOriginal
lea eax, [esp + 0x18]
push eax
mov dword [0x53385c], ebx
call fcn.0045fbd0
test eax, eax
je 0x484e17
mov dword [0x53385c], 1
push ebx
push str.ArcTimeLatest
lea ecx, [esp + 0x18]
push ecx
call fcn.0045fbd0
test eax, eax
je 0x484e35
mov dword [0x53385c], 2
push esi
push str.mtime
lea edx, [esp + 0x18]
push edx
call fcn.0045fbd0
push ebx
mov dword [0x533e24], eax
push str.ctime
lea eax, [esp + 0x18]
push eax
call fcn.0045fbd0
push ebx
push str.atime
lea ecx, [esp + 0x18]
push ecx
mov dword [0x533e28], eax
call fcn.0045fbd0
mov edx, dword [0x536aac]
mov dword [0x533e2c], eax
mov eax, dword [edx + 0x20]
neg eax
push ebx
sbb eax, eax
push str.PathsAbs
lea ecx, [esp + 0x18]
and eax, 5
push ecx
mov dword [0x533834], eax
call fcn.0045fbd0
test eax, eax
je 0x484ea3
mov dword [0x533834], edi
push ebx
push str.PathsNone
lea edx, [esp + 0x18]
push edx
call fcn.0045fbd0
pop edi
test eax, eax
je 0x484ec2
mov dword [0x533834], 1
push ebx
push str.PathsAbsDrive
lea eax, [esp + 0x14]
push eax
call fcn.0045fbd0
test eax, eax
je 0x484edc
mov dword [0x533834], esi
push ebx
push str.ImmExec
lea ecx, [esp + 0x14]
push ecx
call fcn.0045fbd0
push ebx
test eax, eax
push str.SeparateArc
lea eax, [esp + 0x14]
setne dl
push eax
mov byte [0x5629f4], dl
call fcn.0045fbd0
push 0x400
push 0x4c5a56
push 0x533a1c
test eax, eax
push str.EmailArcTo
lea edx, [esp + 0x1c]
setne cl
push edx
mov byte [0x5629f6], cl
call fcn.00460060
push 0xc0
push ebx
push 0x53395c
push str.PackDetails
lea eax, [esp + 0x1c]
push eax
call fcn.0045fbf0
mov ecx, dword [esp + 0x1360]
pop esi
pop ebx
xor ecx, esp
call fcn.004aedbb
add esp, 0x135c
ret 0xc