Function at 0x447e50
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x25c
mov eax, dword [ebp + 8]
mov dword [0x467ed0], eax
call fcn.00446ac0
mov byte [0x467ed4], al
call fcn.00438c80
mov byte [ebp - 4], al
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x447e82
xor eax, eax
jmp 0x448b71
call fcn.00404830
lea ecx, [ebp - 0x70]
call fcn.0040dbc0
lea ecx, [ebp - 0x14]
call fcn.0040dbc0
lea ecx, [ebp - 0x4c]
call fcn.0040dbc0
lea ecx, [ebp - 0x34]
call fcn.0040dbc0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x178]
call fcn.0040db70
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x178]
push ecx
call fcn.0040d5f0
lea ecx, [ebp - 0x178]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040dbc0
lea edx, [ebp - 0x58]
push edx
call fcn.00410db0
lea ecx, [ebp - 0x14]
call fcn.0040d6f0
mov byte [ebp - 1], 0
push 0x45b540
lea ecx, [ebp - 0x14]
call fcn.0040e600
movzx eax, al
test eax, eax
je 0x447f28
mov byte [ebp - 1], 1
push 2
lea ecx, [ebp - 0x14]
call fcn.0040d4b0
push eax
lea ecx, [ebp - 0x14]
call fcn.0040de30
lea ecx, [ebp - 0x14]
call fcn.0040d6f0
lea ecx, [ebp - 0x40]
call fcn.0040d930
lea ecx, [ebp - 0x40]
push ecx
push str.___InstallEnd__
push 0x465094
lea ecx, [ebp - 0x58]
call fcn.0040d180
push eax
call fcn.00446b60
movzx edx, al
test edx, edx
jne 0x447faa
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x447f65
push str.Cant_load_config_info
call fcn.00447010
mov dword [ebp - 0xb8], 1
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xb8]
jmp 0x448b71
push 0x45b574
lea ecx, [ebp - 0x7c]
call fcn.0040db00
lea ecx, [ebp - 0x20]
call fcn.0040dbc0
mov byte [ebp - 2], 1
lea ecx, [ebp - 0x40]
call fcn.0040d410
movzx ecx, al
test ecx, ecx
jne 0x44825e
lea ecx, [ebp - 0x64]
call fcn.0040d030
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.0040fa60
movzx ecx, al
test ecx, ecx
jne 0x448061
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x448004
push str.Config_failed
call fcn.00447010
mov dword [ebp - 0xbc], 1
lea ecx, [ebp - 0x64]
call fcn.0042cba0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xbc]
jmp 0x448b71
push str.Title
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.0040fe60
push str.BeginPrompt
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0xfc]
push eax
call fcn.0040fe60
push 0x45b5a8
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x154]
push edx
call fcn.0040fe60
push 0x45b5b4
lea ecx, [ebp - 0x154]
call fcn.00410610
movzx eax, al
test eax, eax
je 0x4480bb
mov byte [ebp - 2], 0
push str.Directory
lea ecx, [ebp - 0x64]
push ecx
call fcn.0040f930
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jl 0x4480f3
mov edx, dword [ebp - 0x90]
push edx
lea ecx, [ebp - 0x64]
call fcn.0040d140
add eax, 0xc
push eax
lea ecx, [ebp - 0x7c]
call fcn.0040dcb0
lea ecx, [ebp - 0xfc]
call fcn.0040d410
movzx eax, al
test eax, eax
jne 0x4481ba
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x4481ba
push 0x24
lea ecx, [ebp - 0x160]
call fcn.0040d180
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040d180
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x4481ba
mov dword [ebp - 0xc0], 0
lea ecx, [ebp - 0x154]
call fcn.0040d110
lea ecx, [ebp - 0xfc]
call fcn.0040d110
lea ecx, [ebp - 0x160]
call fcn.0040d110
lea ecx, [ebp - 0x64]
call fcn.0042cba0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xc0]
jmp 0x448b71
push str.RunProgram
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x1dc]
push eax
call fcn.0040fe60
push eax
lea ecx, [ebp - 0x20]
call fcn.0040dcb0
lea ecx, [ebp - 0x1dc]
call fcn.0040d110
push str.ExecuteFile
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x1e8]
push edx
call fcn.0040fe60
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040dcb0
lea ecx, [ebp - 0x1e8]
call fcn.0040d110
push str.ExecuteParameters
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.0040fe60
push eax
lea ecx, [ebp - 0x34]
call fcn.0040dcb0
lea ecx, [ebp - 0x1f4]
call fcn.0040d110
lea ecx, [ebp - 0x154]
call fcn.0040d110
lea ecx, [ebp - 0xfc]
call fcn.0040d110
lea ecx, [ebp - 0x160]
call fcn.0040d110
lea ecx, [ebp - 0x64]
call fcn.0042cba0
lea ecx, [ebp - 0xa8]
call fcn.004343f0
mov edx, dword [0x45b0fc]
push edx
lea ecx, [ebp - 0xa8]
call fcn.004113d0
movzx eax, al
test eax, eax
jne 0x4482f4
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x448294
push str.Cannot_create_temp_folder_archive
call fcn.00447010
mov dword [ebp - 0xc4], 1
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xc4]
jmp 0x448b71
push 0x18
call fcn.00448db8
add esp, 4
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x448320
mov ecx, dword [ebp - 0x94]
call fcn.00434300
mov dword [ebp - 0x98], eax
jmp 0x44832a
mov dword [ebp - 0x98], 0
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
push ecx
lea ecx, [ebp - 8]
call fcn.00415dc0
mov ecx, dword [ebp - 0x80]
call fcn.0042cfd0
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x4483d4
push str.Cannot_load_codecs
call fcn.00447010
mov dword [ebp - 0xd0], 1
lea ecx, [ebp - 8]
call fcn.004163f0
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xd0]
jmp 0x448b71
lea ecx, [ebp - 0xa8]
call fcn.00446590
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040dac0
mov byte [ebp - 3], 0
lea ecx, [ebp - 0xb4]
call fcn.0040dbc0
lea edx, [ebp - 0xb4]
push edx
lea eax, [ebp - 3]
push eax
movzx ecx, byte [ebp - 2]
push ecx
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00432eb0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x448551
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x4484d3
cmp dword [ebp - 0x24], 1
je 0x448445
movzx eax, byte [ebp - 3]
test eax, eax
je 0x44845a
lea ecx, [ebp - 0xb4]
push ecx
push 8
call fcn.004157e0
mov dword [ebp - 0x24], 0x80004005
cmp dword [ebp - 0x24], 0x80004004
je 0x4484d3
lea ecx, [ebp - 0xb4]
call fcn.0040d410
movzx edx, al
test edx, edx
je 0x44849c
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x200]
push ecx
call fcn.00446b30
push eax
lea ecx, [ebp - 0xb4]
call fcn.0040dcb0
lea ecx, [ebp - 0x200]
call fcn.0040d110
push 0x10
push 7
lea edx, [ebp - 0x20c]
push edx
call fcn.00415630
mov ecx, eax
call fcn.0040d180
push eax
lea ecx, [ebp - 0xb4]
call fcn.0040d180
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x20c]
call fcn.0040d110
mov dword [ebp - 0xf0], 1
lea ecx, [ebp - 0xb4]
call fcn.0040d110
lea ecx, [ebp - 0x8c]
call fcn.0040d110
lea ecx, [ebp - 8]
call fcn.004163f0
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xf0]
jmp 0x448b71
lea ecx, [ebp - 0xb4]
call fcn.0040d110
lea ecx, [ebp - 0x118]
call fcn.00434350
lea ecx, [ebp - 0x8c]
call fcn.0040d180
push eax
call fcn.00412660
movzx eax, al
test eax, eax
jne 0x4485fd
mov dword [ebp - 0xe8], 1
lea ecx, [ebp - 0x118]
call fcn.00434700
lea ecx, [ebp - 0x8c]
call fcn.0040d110
lea ecx, [ebp - 8]
call fcn.004163f0
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xe8]
jmp 0x448b71
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x4c]
call fcn.0040d410
movzx ecx, al
test ecx, ecx
jne 0x4487d0
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x124]
push eax
call fcn.00446710
mov dword [ebp - 0x1c0], 0x3c
mov dword [ebp - 0x1bc], 0x140
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
lea ecx, [ebp - 0x124]
call fcn.0040d180
mov dword [ebp - 0x1b0], eax
lea ecx, [ebp - 0x14]
call fcn.0040d410
movzx ecx, al
test ecx, ecx
jne 0x448683
lea ecx, [ebp - 0x34]
call fcn.0040e1e0
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x34]
call fcn.0040e030
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.00446710
lea ecx, [ebp - 0x108]
call fcn.0040d410
movzx edx, al
test edx, edx
je 0x4486b1
mov dword [ebp - 0x1ac], 0
jmp 0x4486c2
lea ecx, [ebp - 0x108]
call fcn.0040d180
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 1
mov dword [ebp - 0x188], 0
lea eax, [ebp - 0x1c0]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 0x20
ja 0x4487ac
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x448718
push str.Cannot_open_file
call fcn.00447010
mov dword [ebp - 0xe0], 1
lea ecx, [ebp - 0x108]
call fcn.0040d110
lea ecx, [ebp - 0x124]
call fcn.0040d110
lea ecx, [ebp - 0x118]
call fcn.00434700
lea ecx, [ebp - 0x8c]
call fcn.0040d110
lea ecx, [ebp - 8]
call fcn.004163f0
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xe0]
jmp 0x448b71
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x108]
call fcn.0040d110
lea ecx, [ebp - 0x124]
call fcn.0040d110
jmp 0x448adc
lea ecx, [ebp - 0x20]
call fcn.0040d410
movzx ecx, al
test ecx, ecx
je 0x448899
push str.setup.exe
lea ecx, [ebp - 0x20]
call fcn.0040de30
lea ecx, [ebp - 0x20]
call fcn.0040d180
push eax
call fcn.00412c10
movzx edx, al
test edx, edx
jne 0x448899
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x44881b
push str.Cannot_find_setup.exe
call fcn.00447010
mov dword [ebp - 0xec], 1
lea ecx, [ebp - 0x118]
call fcn.00434700
lea ecx, [ebp - 0x8c]
call fcn.0040d110
lea ecx, [ebp - 8]
call fcn.004163f0
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xec]
jmp 0x448b71
lea ecx, [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0x130]
call fcn.0040dac0
lea edx, [ebp - 0x130]
push edx
call fcn.00414f00
push str.__T_
lea ecx, [ebp - 0x184]
call fcn.0040db70
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x184]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0040eab0
lea ecx, [ebp - 0x184]
call fcn.0040d110
lea ecx, [ebp - 0x130]
call fcn.0040d110
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x148]
call fcn.0040dac0
push 0x45b6cc
lea ecx, [ebp - 0x16c]
call fcn.0040db70
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x16c]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0040eab0
lea ecx, [ebp - 0x16c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d410
movzx edx, al
test edx, edx
jne 0x448956
lea ecx, [ebp - 0x20]
call fcn.0040e1c0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x20]
call fcn.0040e030
mov dword [ebp - 0x25c], 0x44
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x230], 0
xor ecx, ecx
mov word [ebp - 0x22a], cx
mov dword [ebp - 0x228], 0
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.0040df30
push eax
lea edx, [ebp - 0x13c]
push edx
call fcn.00446710
lea ecx, [ebp - 0x218]
call fcn.0040d110
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x25c]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x13c]
call fcn.0040d180
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x448ab0
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x448a1c
lea eax, [ebp - 0x148]
push eax
call fcn.00447030
mov dword [ebp - 0xd8], 1
lea ecx, [ebp - 0x13c]
call fcn.0040d110
lea ecx, [ebp - 0x148]
call fcn.0040d110
lea ecx, [ebp - 0x118]
call fcn.00434700
lea ecx, [ebp - 0x8c]
call fcn.0040d110
lea ecx, [ebp - 8]
call fcn.004163f0
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xd8]
jmp 0x448b71
mov ecx, dword [ebp - 0x1cc]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x28], edx
lea ecx, [ebp - 0x13c]
call fcn.0040d110
lea ecx, [ebp - 0x148]
call fcn.0040d110
cmp dword [ebp - 0x28], 0
je 0x448af8
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xd4], 0
lea ecx, [ebp - 0x118]
call fcn.00434700
lea ecx, [ebp - 0x8c]
call fcn.0040d110
lea ecx, [ebp - 8]
call fcn.004163f0
lea ecx, [ebp - 0xa8]
call fcn.004347a0
lea ecx, [ebp - 0x20]
call fcn.0040d110
lea ecx, [ebp - 0x7c]
call fcn.0040d110
lea ecx, [ebp - 0x40]
call fcn.0040d110
lea ecx, [ebp - 0x58]
call fcn.0040d110
lea ecx, [ebp - 0x34]
call fcn.0040d110
lea ecx, [ebp - 0x4c]
call fcn.0040d110
lea ecx, [ebp - 0x14]
call fcn.0040d110
lea ecx, [ebp - 0x70]
call fcn.0040d110
mov eax, dword [ebp - 0xd4]
mov esp, ebp
pop ebp
ret 0x10