Function at 0x401610
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4cc0
call fcn.0040cf00
push ebx
push esi
push edi
mov dword [0x41cf98], 0
mov dword [0x41cfc0], 0
push 0x415a7c
push 0x415a80
call dword [0x4192bc]
push 0x415a7c
push str.TOTALEXTFILE
call dword [0x4192bc]
push 0x415a7c
push str.NEEDREBOOT
call dword [0x4192bc]
push 0x415a7c
push str.SILENT
call dword [0x4192bc]
push 0x415c94
push str.ARCFILEVER
call dword [0x4192bc]
push 0x415c94
push str.ARCPRODVER
call dword [0x4192bc]
push str.USERPROFILE
push str.USERPROFILE
call fcn.00414820
push dword [0x418004]
push str.SELLANG
call dword [0x4192bc]
push 0xa
lea eax, [ebp - 0x42]
push eax
movzx eax, word [0x418008]
push eax
call fcn.0040cda0
add esp, 0xc
lea eax, [ebp - 0x42]
push eax
push str.PBLANGID
call dword [0x4192bc]
push 0x4159c4
push str.DESTPATH
call dword [0x4192bc]
push str._COMPROGMENUDIR_RC_Monte_Carlo
push str.SHORTCUTPATH
call dword [0x4192bc]
push 0x415952
push str.VCOMPMAIN
call dword [0x4192bc]
push 0x415952
push str.VCOMPDESKTOPSHORTCUT
call dword [0x4192bc]
mov eax, dword [0x41cfa4]
mov edx, dword [0x41cfa8]
cmp edx, dword [0x41cfa0]
jne 0x4017a7
cmp eax, dword [0x41cf9c]
jne 0x4017a7
push 0x415952
push str.PBDLGWIZLOOK
call dword [0x4192bc]
push str.RC_Monte_Carlo
push str.PBWIZLABEL
call dword [0x4192bc]
push str.Next
push str.PBDLGNEXTC
call dword [0x4192bc]
mov dword [0x41cd8c], 0
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallRC_Monte_Carlo755849
push str.PBUNINSTREGKEY
call dword [0x4192bc]
mov byte [0x41cfbc], 1
push str.C:RC_Monte_Carlo
push str.DESTPATH
call dword [0x4192bc]
push str._PBSFXPATH_pbwaterm.png
push str.PBWIZWATERM
call dword [0x4192bc]
jmp 0x4017c7
push str.CorruptedPack
call dword [0x4192c8]
push 0x10
push 0x41cd90
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x401fdf
push str._PBSFXPATH_pbwelc_SELLANG_.md
push str.PBWELCRTF
call dword [0x4192bc]
push str._SILENT_
call dword [0x4192c8]
mov edx, eax
xor ecx, ecx
mov ax, word [edx + ecx]
cmp ax, word [ecx + 0x4157a4]
jne 0x4017ff
add ecx, 2
test ax, ax
jne 0x4017e6
xor eax, eax
jmp 0x401804
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40181c
push section..text
push str.dlgwizwelc
call dword [0x4192cc]
mov esi, eax
jmp 0x40181e
xor esi, esi
cmp esi, 2
je 0x401fd0
cmp esi, 4
je 0x401fdf
inc dword [0x41cd8c]
push str._PBSFXPATH_pblic_SELLANG_.md
push str.PBDLGLICTXT
call dword [0x4192bc]
push str._PBSFXPATH_pbheader.png
push str.PBWIZHEADER
call dword [0x4192bc]
push str.LicIntro
push str.PBDLGLICINTRO
call dword [0x4192bc]
push str.WizLicAgTitle
push str.PBDLGLICCAPT
call dword [0x4192bc]
push str.LicEnd
push str.PBDLGLICEND
call dword [0x4192bc]
push str._SILENT_
call dword [0x4192c8]
mov edx, eax
xor ecx, ecx
mov ax, word [edx + ecx]
cmp ax, word [ecx + 0x4157a4]
jne 0x4018ae
add ecx, 2
test ax, ax
jne 0x401895
xor eax, eax
jmp 0x4018b3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4018cb
push 0x401060
push str.dlgwizlicag
call dword [0x4192cc]
mov esi, eax
jmp 0x4018cd
xor esi, esi
mov eax, esi
cmp eax, 2
je 0x401fd0
cmp eax, 3
je 0x4018ee
cmp eax, 4
je 0x401fdf
inc dword [0x41cd8c]
jmp 0x4018f9
dec dword [0x41cd8c]
jmp 0x4017c7
push str._PBSFXPATH_pbsread_SELLANG_.md
push str.GPBDLGREADTXT
call dword [0x4192bc]
push str.WizReadmeTitle
push str.PBDLGREADCAPT
call dword [0x4192bc]
push str.WizReadmeDesc
push str.PBDLGREADINTRO
call dword [0x4192bc]
push str.Next
push str.PBDLGNEXT
call dword [0x4192bc]
push str._SILENT_
call dword [0x4192c8]
mov edx, eax
xor ecx, ecx
mov ax, word [edx + ecx]
cmp ax, word [ecx + 0x4157a4]
jne 0x401961
add ecx, 2
test ax, ax
jne 0x401948
xor eax, eax
jmp 0x401966
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40197e
push 0x4010d0
push str.dlgwizreadme
call dword [0x4192cc]
mov esi, eax
jmp 0x401980
xor esi, esi
mov eax, esi
cmp eax, 2
je 0x401fd0
cmp eax, 3
je 0x401a96
cmp eax, 4
je 0x401fdf
inc dword [0x41cd8c]
push 0
call dword [0x4192d0]
push str._SILENT_
call dword [0x4192c8]
mov edx, eax
xor ecx, ecx
mov ax, word [edx + ecx]
cmp ax, word [ecx + 0x4157a4]
jne 0x4019d3
add ecx, 2
test ax, ax
jne 0x4019ba
xor eax, eax
jmp 0x4019d8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete bl
push str.Extracting
push str.PBEXTTEXT
call dword [0x4192bc]
push 0x415a7c
push str.PBEXTHC
call dword [0x4192bc]
push 0x61c
lea eax, [ebp - 0x6a0]
push eax
push str._DESTPATH_
call dword [0x4192b8]
mov eax, dword [0x41cfac]
add eax, 0x12
mov dword [ebp - 0x4cc0], eax
push 0x401460
push 0x401140
movzx ebx, bl
push ebx
lea eax, [ebp - 0x4cc0]
push eax
lea eax, [ebp - 0x6a0]
push eax
push 0x41d5e8
call fcn.00402a20
mov edi, eax
push 0xa
lea eax, [ebp - 0x84]
push eax
push dword [0x41cf98]
call fcn.0040cda0
add esp, 0xc
lea eax, [ebp - 0x84]
push eax
push str.TOTALEXTFILE
call dword [0x4192bc]
cmp byte [0x41e22c], 0
jne 0x401fd0
test edi, edi
jne 0x401aa1
cmp dword [0x41cd8c], 0xffffec78
je 0x4018f9
jmp 0x401aea
dec dword [0x41cd8c]
jmp 0x401856
push 0xa
lea eax, [ebp - 0xcfe]
push eax
push edi
call fcn.0040cda0
add esp, 0xc
lea eax, [ebp - 0xcfe]
push eax
push str.PBEXTERR
call dword [0x4192bc]
push str.ErrorUnpacking__PBEXTERR_
call dword [0x4192c8]
push 0x10
push 0x41cd90
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, 1
jmp 0x401fec
mov dword [0x41cd8c], 0
push 0
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.00414660
test al, al
jne 0x401b3b
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push 0x415424
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x14
lea eax, [ebp - 0x4cbc]
push eax
push 2
call dword [0x4192c4]
push 0
push 0
push 1
push str.False
push str.Metric
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.004146b0
test eax, eax
jne 0x401b95
push str.Metric
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push str.__ls_ls____ls_
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x18
lea eax, [ebp - 0x4cbc]
push eax
push 3
call dword [0x4192c4]
push 0
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.00414660
test al, al
jne 0x401bdc
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push 0x415424
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x14
lea eax, [ebp - 0x4cbc]
push eax
push 2
call dword [0x4192c4]
push 0
push 0
push 1
push str.True
push str.AutoRecalc
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.004146b0
test eax, eax
jne 0x401c36
push str.AutoRecalc
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push str.__ls_ls____ls_
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x18
lea eax, [ebp - 0x4cbc]
push eax
push 3
call dword [0x4192c4]
push 0
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.00414660
test al, al
jne 0x401c7d
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push 0x415424
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x14
lea eax, [ebp - 0x4cbc]
push eax
push 2
call dword [0x4192c4]
push 0
push 0
push 1
push str.False
push str.History
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.004146b0
test eax, eax
jne 0x401cd7
push str.History
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push str.__ls_ls____ls_
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x18
lea eax, [ebp - 0x4cbc]
push eax
push 3
call dword [0x4192c4]
push 0
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.00414660
test al, al
jne 0x401d1e
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push 0x415424
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x14
lea eax, [ebp - 0x4cbc]
push eax
push 2
call dword [0x4192c4]
push 0
push 0
push 1
push str.True
push str.AutoRecalc
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push 0x80000001
call fcn.004146b0
test eax, eax
jne 0x401d78
push str.AutoRecalc
push str.SOFTWAREVB_and_VBA_Program_SettingsRC_Monte_CarloOptions
push str.HKEY_CURRENT_USER
push str.__ls_ls____ls_
push 0x2000
lea eax, [ebp - 0x4cbc]
push eax
call fcn.0040cf70
add esp, 0x18
lea eax, [ebp - 0x4cbc]
push eax
push 3
call dword [0x4192c4]
push str._SHORTCUTPATH_
call dword [0x4192c8]
mov edi, eax
push edi
call fcn.00414ee0
test eax, eax
jne 0x401d9e
push edi
call fcn.00414de0
push edi
push 1
call dword [0x4192c4]
push 0
push str._DESTPATH_RC_Icon_2024.ico
push 0x4159c4
push 1
push 0x4159c4
push str._STARTMENUDIR_RC_Monte_Carlo_2024.lnk
push 0x4159c4
push str._DESTPATH_RCMLoader_2024.xlsm
call fcn.00402ac0
push str._STARTMENUDIR_RC_Monte_Carlo_2024.lnk
push 0
call dword [0x4192c4]
push 0
push str._DESTPATH_RC_Icon_2024.ico
push 0x4159c4
push 1
push 0x4159c4
push str._DESKTOPDIR_RC_Monte_Carlo_2024.lnk
push 0x4159c4
push str._DESTPATH_RCMLoader_2024.xlsm
call fcn.00402ac0
push str._DESKTOPDIR_RC_Monte_Carlo_2024.lnk
push 0
call dword [0x4192c4]
push 0
push 0x4159c4
push 0x4159c4
push 1
push 0x4159c4
push str._STARTMENUDIR_uninst.lnk
push 0x4159c4
push str._DESTPATH_Uninst.exe
call fcn.00402ac0
push str._STARTMENUDIR_uninst.lnk
push 0
call dword [0x4192c4]
push str._DESTPATH_Uninst.exe
push str.UNINSTFNAME
call dword [0x4192bc]
push str.RC_Monte_Carlo755849
push str.UNINSTKEY
call dword [0x4192bc]
push str.RC_Monte_Carlo_2024
push str.UNINSTDESC
call dword [0x4192bc]
push 0x415952
push str.PBUNINSTADD
call dword [0x4192bc]
call fcn.00401510
push 1
call dword [0x4192d0]
mov esi, eax
push str._SILENT_
call dword [0x4192c8]
mov edx, eax
xor ecx, ecx
mov ax, word [edx + ecx]
cmp ax, word [ecx + 0x4157a4]
jne 0x401eb1
add ecx, 2
test ax, ax
jne 0x401e98
xor eax, eax
jmp 0x401eb6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401efa
test esi, esi
je 0x401efa
push 0xa
lea eax, [ebp - 0x84]
push eax
push esi
call fcn.0040cda0
add esp, 0xc
lea eax, [ebp - 0x84]
push eax
push str.PBEXTERR
call dword [0x4192bc]
push str.ErrorGUFailed__PBEXTERR_
call dword [0x4192c8]
push 0
push 0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push str._PBSFXPATH_pbfin_SELLANG_.md
push str.PBDLGRICHTEXT
call dword [0x4192bc]
push str._SILENT_
call dword [0x4192c8]
mov edx, eax
xor ecx, ecx
mov ax, word [edx + ecx]
cmp ax, word [ecx + 0x4157a4]
jne 0x401f32
add ecx, 2
test ax, ax
jne 0x401f19
xor eax, eax
jmp 0x401f37
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401f4f
push 0x401220
push str.dlgwizfinal
call dword [0x4192cc]
mov esi, eax
jmp 0x401f51
xor esi, esi
mov eax, esi
cmp eax, 3
je 0x401fc5
cmp eax, 4
je 0x401fdf
inc dword [0x41cd8c]
push 0x61c
lea eax, [ebp - 0xcbc]
push eax
push str._DESTPATH__
call dword [0x4192b8]
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [0x41cd8c], 0xffffec78
je 0x401efa
cmp esi, 0xffffec78
je 0x401fab
cmp esi, 0xffffec77
je 0x401fdf
push str._EXITCODE_
call dword [0x4192c8]
push 0xa
push 0
push eax
call fcn.0040cff0
add esp, 0xc
jmp 0x401fec
dec dword [0x41cd8c]
jmp 0x401aea
push 2
call dword [0x4192d0]
mov eax, 2
jmp 0x401fec
push 2
call dword [0x4192d0]
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret