Function at 0x416bd0
Capabilities:
Accept command line arguments
Check if file exists
Copy file
Create directory
Query environment variable
Set current directory
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46104d
mov eax, dword fs:[0]
push eax
sub esp, 0xd9c
mov eax, dword [0x47a4a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0xce0]
call fcn.0041e8c0
xor ebx, ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0xcf4]
push eax
mov dword [ebp - 0xcf4], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push 0x104
lea ecx, [ebp - 0x420]
push ecx
push str._TEMP_907A1104_E812_4b5c_959B_E4DAB37A96AB
mov dword [ebp - 0xce8], eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push ebx
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x420]
push eax
call edi
test eax, eax
jne 0x416c78
push 0x3ea
push ebx
call fcn.0042a320
push 2
call fcn.00416330
cmp dword [ebp - 0xcf4], 1
mov dword [ebp - 0xcec], ebx
mov esi, 8
jle 0x416ea6
mov ecx, dword [ebp - 0xce8]
mov edx, dword [ecx + 4]
push 0x466de8
push edx
call fcn.00441493
add esp, 8
test eax, eax
jne 0x416ea6
cmp dword [ebp - 0xcf4], 1
jg 0x416ce1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xcec], esp
push str.Missing_target_path_for_administrative_install.
call fcn.00409040
mov byte [ebp - 4], 1
push ebx
mov byte [ebp - 4], bl
call fcn.0042a3e0
push 1
call fcn.00416330
mov eax, dword [ebp - 0xce8]
mov ecx, dword [eax + 8]
push ecx
lea ecx, [ebp - 0x660]
call fcn.00409040
mov byte [ebp - 4], 2
push str.InstallFiles
lea ecx, [ebp - 0x660]
call fcn.00407c60
push str.HEADER
lea ecx, [ebp - 0x67c]
call fcn.00409040
mov byte [ebp - 4], 3
lea edx, [ebp - 0x660]
push edx
lea eax, [ebp - 0xd2c]
push str.This_is_an_administartive_install__extracting_installation_files_to
push eax
call fcn.00409700
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x67c]
push ecx
push eax
call fcn.0041ceb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd2c]
call fcn.004052b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x67c]
call fcn.004052b0
mov eax, dword [ebp - 0x65c]
cmp dword [ebp - 0x648], esi
jae 0x416d7c
lea eax, [ebp - 0x65c]
push eax
call edi
test eax, eax
jne 0x416da0
mov eax, dword [ebp - 0x65c]
cmp dword [ebp - 0x648], esi
jae 0x416d97
lea eax, [ebp - 0x65c]
push ebx
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov eax, dword [ebp - 0x65c]
cmp dword [ebp - 0x648], esi
jae 0x416db4
lea eax, [ebp - 0x65c]
push eax
call edi
test eax, eax
jne 0x416e77
push str.HEADER
lea ecx, [ebp - 0x67c]
call fcn.00409040
mov byte [ebp - 4], 5
lea edx, [ebp - 0x660]
push edx
lea eax, [ebp - 0xd2c]
push str.Unable_to_create
push eax
call fcn.00409700
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x67c]
push ecx
push eax
call fcn.0041ceb0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xd2c]
call fcn.004052b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x67c]
call fcn.004052b0
lea edx, [ebp - 0x660]
push edx
lea eax, [ebp - 0x67c]
push str.Unable_to_create
push eax
call fcn.00409700
mov byte [ebp - 4], 7
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0xcec], esp
push 0x4669d8
push eax
push ecx
call fcn.00408820
add esp, 0xc
mov byte [ebp - 4], 8
push ebx
mov byte [ebp - 4], 7
call fcn.0042a3e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x67c]
call fcn.004052b0
push 1
call fcn.00416330
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x660]
push edx
lea ecx, [ebp - 0xb24]
mov dword [ebp - 0xcec], 1
call fcn.004071e0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x660]
call fcn.004052b0
jmp 0x416ed2
lea eax, [ebp - 0x420]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x416eb0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xb24]
call fcn.004073d0
mov ecx, dword [0x466c90]
mov edx, dword [str.stall.log]
mov eax, dword [0x466c98]
mov dword [ebp - 0x218], ecx
mov ecx, dword [0x466c9c]
push 0x1f0
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x214], edx
mov edx, dword [0x466ca0]
mov dword [ebp - 0x210], eax
mov eax, dword [0x466ca4]
lea ecx, [ebp - 0x200]
push ebx
push ecx
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x204], eax
call fcn.00440910
add esp, 0xc
xor edx, edx
mov edi, 7
lea eax, [ebp - 0x420]
mov word [ebp - 0x65c], dx
mov dword [ebp - 0x648], edi
mov dword [ebp - 0x64c], ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x416f50
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x660]
call fcn.004073d0
mov byte [ebp - 4], 9
push 0x466c8c
lea ecx, [ebp - 0x660]
push ecx
lea edx, [ebp - 0xd10]
push edx
call fcn.00408820
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x218]
push ecx
push eax
lea edx, [ebp - 0x644]
push edx
call fcn.00408820
add esp, 0x18
mov byte [ebp - 4], 0xb
push eax
call fcn.0041cb00
cmp eax, 1
setne byte [ebp - 0xce1]
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x62c], esi
jb 0x416fd8
mov eax, dword [ebp - 0x640]
push eax
call fcn.0043ff5a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x630], ebx
mov word [ebp - 0x640], cx
mov byte [ebp - 4], 9
cmp dword [ebp - 0xcf8], esi
jb 0x417008
mov edx, dword [ebp - 0xd0c]
push edx
call fcn.0043ff5a
add esp, 4
xor eax, eax
mov dword [ebp - 0xcf8], edi
mov dword [ebp - 0xcfc], ebx
mov word [ebp - 0xd0c], ax
mov byte [ebp - 4], bl
cmp dword [ebp - 0x648], esi
jb 0x417037
mov ecx, dword [ebp - 0x65c]
push ecx
call fcn.0043ff5a
add esp, 4
xor edx, edx
mov dword [ebp - 0x648], edi
mov dword [ebp - 0x64c], ebx
mov word [ebp - 0x65c], dx
cmp byte [ebp - 0xce1], bl
je 0x417066
push 0x3eb
push ebx
call fcn.0042a320
push 2
call fcn.00416330
push 0x4669cc
lea ecx, [ebp - 0x644]
call fcn.00409040
mov byte [ebp - 4], 0xc
push 0x466c4c
lea ecx, [ebp - 0x660]
call fcn.00409040
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x644]
push eax
lea ecx, [ebp - 0x660]
push ecx
call fcn.0041ceb0
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x648], esi
jb 0x4170bc
mov edx, dword [ebp - 0x65c]
push edx
call fcn.0043ff5a
add esp, 4
xor eax, eax
mov dword [ebp - 0x648], edi
mov dword [ebp - 0x64c], ebx
mov word [ebp - 0x65c], ax
mov byte [ebp - 4], bl
cmp dword [ebp - 0x62c], esi
jb 0x4170eb
mov ecx, dword [ebp - 0x640]
push ecx
call fcn.0043ff5a
add esp, 4
mov eax, dword [ebp - 0xce8]
mov ecx, dword [ebp - 0xcf4]
push ebx
push 1
push eax
xor edx, edx
push ecx
lea ecx, [ebp - 0xda8]
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x630], ebx
mov word [ebp - 0x640], dx
call fcn.00412660
mov byte [ebp - 4], 0xe
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xce8], esp
push 0x466c48
call fcn.00409040
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xda8]
call fcn.0040e710
xor edx, edx
mov byte [ebp - 0xce1], al
mov dword [ebp - 0x680], edi
mov dword [ebp - 0x684], ebx
mov word [ebp - 0x694], dx
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x698]
push eax
call fcn.00422980
push str.HEADER
lea ecx, [ebp - 0x644]
call fcn.00409040
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x698]
push ecx
lea edx, [ebp - 0xd10]
push 0x466c40
push edx
call fcn.00409700
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x644]
push ecx
push eax
call fcn.0041ceb0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0xcf8], esi
jb 0x4171ce
mov edx, dword [ebp - 0xd0c]
push edx
call fcn.0043ff5a
add esp, 4
xor eax, eax
mov dword [ebp - 0xcf8], edi
mov dword [ebp - 0xcfc], ebx
mov word [ebp - 0xd0c], ax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x62c], esi
jb 0x4171fe
mov ecx, dword [ebp - 0x640]
push ecx
call fcn.0043ff5a
add esp, 4
xor edx, edx
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x630], ebx
mov word [ebp - 0x640], dx
call fcn.00428ee0
push str.ZA_INSTALL
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x47b894], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x47b894], ebx
je 0x417252
cmp eax, 0xb7
jne 0x417252
push 0x3e9
push ebx
call fcn.0042a210
push 2
call fcn.00416330
push 0x104
lea eax, [ebp - 0x628]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x628]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x417270
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x628]
push ecx
lea ecx, [ebp - 0xbe8]
call fcn.004073d0
lea edx, [ebp - 0xbb0]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xce8], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0xbe8]
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push edx
mov word [ecx + 4], ax
call fcn.004071e0
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0x10
call fcn.00428d60
mov eax, dword [ebp - 0xbac]
cmp dword [ebp - 0xb98], esi
jae 0x4172e0
lea eax, [ebp - 0xbac]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.MAIN
lea ecx, [ebp - 0x644]
call fcn.00409040
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0xbb0]
push eax
lea ecx, [ebp - 0xd10]
push str.Installation_Directory:
push ecx
call fcn.00409700
add esp, 0xc
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x644]
push edx
push eax
call fcn.0041ceb0
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0xcf8], esi
jb 0x417342
mov eax, dword [ebp - 0xd0c]
push eax
call fcn.0043ff5a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xcf8], edi
mov dword [ebp - 0xcfc], ebx
mov word [ebp - 0xd0c], cx
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x62c], esi
jb 0x417372
mov edx, dword [ebp - 0x640]
push edx
call fcn.0043ff5a
add esp, 4
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xce8], esp
xor eax, eax
push 0xffffffffffffffff
mov word [ebp - 0x640], ax
push ebx
lea eax, [ebp - 0xbe8]
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x630], ebx
mov word [ecx + 4], dx
call fcn.004071e0
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x750]
call fcn.00427a10
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x6c4]
push ecx
sub esp, 0xb8
lea edx, [ebp - 0x750]
mov ecx, esp
mov dword [ebp - 0xce8], esp
push edx
call fcn.00415e80
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 0x17
call fcn.00421f10
push 0x4669cc
lea ecx, [ebp - 0x644]
call fcn.00409040
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x6a8]
push eax
lea ecx, [ebp - 0x67c]
push ecx
call fcn.00416190
mov esi, eax
mov byte [ebp - 4], 0x1a
lea edx, [ebp - 0xbe8]
push edx
lea eax, [ebp - 0xd2c]
push str.Package_file
push eax
call fcn.00409700
mov byte [ebp - 4], 0x1b
push str.__Size
push eax
lea ecx, [ebp - 0xd48]
push ecx
call fcn.00408820
mov byte [ebp - 4], 0x1c
push esi
push eax
lea edx, [ebp - 0xd64]
push edx
call fcn.00415120
mov byte [ebp - 4], 0x1d
push str._bytes__MD5
push eax
lea eax, [ebp - 0xd80]
push eax
call fcn.00408820
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x6c4]
push ecx
push eax
lea edx, [ebp - 0x660]
push edx
call fcn.00415120
mov byte [ebp - 4], 0x1f
push 0x466968
push eax
lea eax, [ebp - 0xd10]
push eax
call fcn.00408820
add esp, 0x48
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x644]
push ecx
push eax
call fcn.0041ceb0
mov byte [ebp - 4], 0x1f
cmp dword [ebp - 0xcf8], 8
jb 0x4174d4
mov edx, dword [ebp - 0xd0c]
push edx
call fcn.0043ff5a
add esp, 4
xor eax, eax
mov dword [ebp - 0xcf8], edi
mov dword [ebp - 0xcfc], ebx
mov word [ebp - 0xd0c], ax
mov byte [ebp - 4], 0x1e
mov esi, 8
cmp dword [ebp - 0x648], esi
jb 0x417509
mov ecx, dword [ebp - 0x65c]
push ecx
call fcn.0043ff5a
add esp, 4
xor edx, edx
mov dword [ebp - 0x648], edi
mov dword [ebp - 0x64c], ebx
mov word [ebp - 0x65c], dx
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0xd68], esi
jb 0x417539
mov eax, dword [ebp - 0xd7c]
push eax
call fcn.0043ff5a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xd68], edi
mov dword [ebp - 0xd6c], ebx
mov word [ebp - 0xd7c], cx
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0xd4c], esi
jb 0x417569
mov edx, dword [ebp - 0xd60]
push edx
call fcn.0043ff5a
add esp, 4
xor eax, eax
mov dword [ebp - 0xd4c], edi
mov dword [ebp - 0xd50], ebx
mov word [ebp - 0xd60], ax
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0xd30], esi
jb 0x417599
mov ecx, dword [ebp - 0xd44]
push ecx
call fcn.0043ff5a
add esp, 4
xor edx, edx
mov dword [ebp - 0xd30], edi
mov dword [ebp - 0xd34], ebx
mov word [ebp - 0xd44], dx
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0xd14], esi
jb 0x4175c9
mov eax, dword [ebp - 0xd28]
push eax
call fcn.0043ff5a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xd14], edi
mov dword [ebp - 0xd18], ebx
mov word [ebp - 0xd28], cx
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x664], esi
jb 0x4175f9
mov edx, dword [ebp - 0x678]
push edx
call fcn.0043ff5a
add esp, 4
xor eax, eax
mov dword [ebp - 0x664], edi
mov dword [ebp - 0x668], ebx
mov word [ebp - 0x678], ax
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x62c], esi
jb 0x417629
mov ecx, dword [ebp - 0x640]
push ecx
call fcn.0043ff5a
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xce8], esp
xor edx, edx
push 0xffffffffffffffff
mov word [ebp - 0x640], dx
push ebx
lea edx, [ebp - 0xbe8]
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push edx
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x630], ebx
mov word [ecx + 4], ax
call fcn.004071e0
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x17
call fcn.00420970
mov esi, eax
sub eax, 1
je 0x41779f
sub eax, 1
jne 0x417877
push str.HEADER
lea ecx, [ebp - 0x67c]
call fcn.00409040
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0xb24]
push eax
lea ecx, [ebp - 0xd80]
push str.Clean
push ecx
call fcn.00409700
add esp, 0xc
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x67c]
push edx
push eax
call fcn.0041ceb0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xd80]
call fcn.004052b0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x67c]
call fcn.004052b0
lea ecx, [ebp - 0xce0]
call fcn.0041e0b0
push str.HEADER
lea ecx, [ebp - 0xd48]
mov dword [ebp - 0xa20], 1
call fcn.00409040
mov byte [ebp - 4], 0x24
push str.Enabled_download_from_the_web.
lea ecx, [ebp - 0xd2c]
call fcn.00409040
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0xd48]
push eax
lea ecx, [ebp - 0xd2c]
push ecx
call fcn.0041ceb0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xd2c]
call fcn.004052b0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xd48]
call fcn.004052b0
push ebx
sub esp, 0x1c
lea edx, [ebp - 0xb24]
mov ecx, esp
mov dword [ebp - 0xce8], esp
push edx
call fcn.00407ba0
mov byte [ebp - 4], 0x26
sub esp, 0x1c
lea eax, [ebp - 0xbe8]
mov ecx, esp
mov dword [ebp - 0xcf0], esp
push eax
call fcn.00407ba0
mov byte [ebp - 4], 0x27
jmp 0x41784a
push 0x400
push ebx
call fcn.0042a320
push 2
call fcn.00416330
push str.HEADER
lea ecx, [ebp - 0xd64]
call fcn.00409040
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xb24]
push ecx
lea edx, [ebp - 0xd10]
push str.Clean
push edx
call fcn.00409700
add esp, 0xc
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd64]
push ecx
push eax
call fcn.0041ceb0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xd10]
call fcn.004052b0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xd64]
call fcn.004052b0
lea ecx, [ebp - 0xce0]
call fcn.0041e0b0
xor edx, edx
cmp byte [ebp - 0xce1], bl
lea eax, [ebp - 0xb24]
sete dl
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xcf0], esp
push eax
call fcn.00407ba0
mov byte [ebp - 4], 0x2a
sub esp, 0x1c
lea edx, [ebp - 0xbe8]
mov ecx, esp
mov dword [ebp - 0xce8], esp
push edx
call fcn.00407ba0
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x17
call fcn.00420d40
cmp eax, ebx
je 0x41778d
cmp dword [ebp - 0xb0c], 8
mov eax, dword [ebp - 0xb20]
jae 0x417870
lea eax, [ebp - 0xb20]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [ebp - 0xcec], ebx
je 0x41799e
push 0x4669cc
lea ecx, [ebp - 0x67c]
call fcn.00409040
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x67c]
push eax
sub esp, 0x1c
lea edx, [ebp - 0xb24]
mov ecx, esp
mov dword [ebp - 0xcf0], esp
push edx
call fcn.00407ba0
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x2c
call fcn.00428c60
push 0x466b34
lea eax, [ebp - 0x67c]
push eax
lea ecx, [ebp - 0xd48]
push ecx
call fcn.00408820
mov edi, eax
mov byte [ebp - 4], 0x2e
push str.Header.exe
lea edx, [ebp - 0xb24]
push edx
lea eax, [ebp - 0xd2c]
push eax
call fcn.00408820
add esp, 0x18
mov byte [ebp - 4], 0x2f
mov ecx, 8
cmp dword [edi + 0x18], ecx
jb 0x41790e
mov edi, dword [edi + 4]
jmp 0x417911
add edi, 4
cmp dword [eax + 0x18], ecx
jb 0x41791b
mov eax, dword [eax + 4]
jmp 0x41791e
add eax, 4
push ebx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xd2c]
call fcn.004052b0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xd48]
call fcn.004052b0
lea ecx, [ebp - 0x67c]
push ecx
lea edx, [ebp - 0xd2c]
push str.Installation_files_extracted_to
push edx
call fcn.00409700
mov byte [ebp - 4], 0x30
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0xcf0], esp
push 0x4669d8
push eax
push ecx
call fcn.00408820
add esp, 0xc
mov byte [ebp - 4], 0x31
push ebx
mov byte [ebp - 4], 0x30
call fcn.0042a340
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xd2c]
call fcn.004052b0
push ebx
call fcn.00416330
cmp esi, ebx
jbe 0x417998
cmp esi, 2
ja 0x417998
push 0x466ac0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41778d
mov edx, dword [0x47b894]
push edx
mov dword [ebp - 0xcec], ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [0x47b894]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movzx esi, byte [ebp - 0xce1]
neg esi
mov dword [ebp - 0xce8], 5
sbb esi, esi
mov edi, edi
dec dword [ebp - 0xce8]
cmp dword [ebp - 0xa20], ebx
je 0x417a26
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xcf0], esp
push 0x466abc
call fcn.00409040
mov byte [ebp - 4], 0x32
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xda8]
call fcn.00410af0
xor ecx, ecx
mov dword [ebp - 0x62c], edi
mov dword [ebp - 0x630], ebx
mov word [ebp - 0x640], cx
mov byte [ebp - 4], 0x33
push ebx
lea edx, [ebp - 0x644]
push edx
lea ecx, [ebp - 0xda8]
call fcn.0040d060
lea eax, [ebp - 0xcec]
push eax
push 1
push 1
push esi
sub esp, 0x1c
lea edx, [ebp - 0x644]
mov ecx, esp
mov dword [ebp - 0xcf0], esp
push edx
call fcn.00407ba0
mov byte [ebp - 4], 0x34
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd88], esp
push 0x466ac0
call fcn.00409040
mov byte [ebp - 4], 0x35
sub esp, 0x1c
lea eax, [ebp - 0xb24]
mov ecx, esp
mov dword [ebp - 0xd84], esp
push eax
call fcn.00407ba0
mov byte [ebp - 4], 0x36
mov byte [ebp - 4], 0x33
call fcn.00429240
cmp eax, 0xfffffffe
jne 0x417ad8
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x644]
call fcn.004052b0
cmp dword [ebp - 0xce8], ebx
ja 0x4179f0
jmp 0x417ae7
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x644]
call fcn.004052b0
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]