Function at 0x44a220
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 [0x46ae74], eax
call fcn.00448ed0
mov byte [0x46ae70], al
call fcn.0043b8f0
mov byte [ebp - 4], al
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x44a252
xor eax, eax
jmp 0x44af41
call fcn.00404830
lea ecx, [ebp - 0x70]
call fcn.0040dc00
lea ecx, [ebp - 0x14]
call fcn.0040dc00
lea ecx, [ebp - 0x4c]
call fcn.0040dc00
lea ecx, [ebp - 0x34]
call fcn.0040dc00
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x178]
call fcn.0040dbb0
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x178]
push ecx
call fcn.0040d630
lea ecx, [ebp - 0x178]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040dc00
lea edx, [ebp - 0x58]
push edx
call fcn.00410e10
lea ecx, [ebp - 0x14]
call fcn.0040d730
mov byte [ebp - 1], 0
push 0x45e4f4
lea ecx, [ebp - 0x14]
call fcn.0040e640
movzx eax, al
test eax, eax
je 0x44a2f8
mov byte [ebp - 1], 1
push 2
lea ecx, [ebp - 0x14]
call fcn.0040d4f0
push eax
lea ecx, [ebp - 0x14]
call fcn.0040de70
lea ecx, [ebp - 0x14]
call fcn.0040d730
lea ecx, [ebp - 0x40]
call fcn.0040d970
lea ecx, [ebp - 0x40]
push ecx
push str.___InstallEnd__
push str.___Install__UTF_8_
lea ecx, [ebp - 0x58]
call fcn.0040d1b0
push eax
call fcn.00448f70
movzx edx, al
test edx, edx
jne 0x44a37a
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x44a335
push str.Cant_load_config_info
call fcn.00449440
mov dword [ebp - 0xb8], 1
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xb8]
jmp 0x44af41
push 0x45e528
lea ecx, [ebp - 0x7c]
call fcn.0040db40
lea ecx, [ebp - 0x20]
call fcn.0040dc00
mov byte [ebp - 2], 1
lea ecx, [ebp - 0x40]
call fcn.0040d450
movzx ecx, al
test ecx, ecx
jne 0x44a62e
lea ecx, [ebp - 0x64]
call fcn.0040d060
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.0040fab0
movzx ecx, al
test ecx, ecx
jne 0x44a431
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x44a3d4
push str.Config_failed
call fcn.00449440
mov dword [ebp - 0xbc], 1
lea ecx, [ebp - 0x64]
call fcn.0042cd10
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xbc]
jmp 0x44af41
push str.Title
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.0040feb0
push str.BeginPrompt
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0xfc]
push eax
call fcn.0040feb0
push 0x45e55c
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x154]
push edx
call fcn.0040feb0
push 0x45e568
lea ecx, [ebp - 0x154]
call fcn.00410670
movzx eax, al
test eax, eax
je 0x44a48b
mov byte [ebp - 2], 0
push str.Directory
lea ecx, [ebp - 0x64]
push ecx
call fcn.0040f980
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jl 0x44a4c3
mov edx, dword [ebp - 0x90]
push edx
lea ecx, [ebp - 0x64]
call fcn.0040d170
add eax, 0xc
push eax
lea ecx, [ebp - 0x7c]
call fcn.0040dcf0
lea ecx, [ebp - 0xfc]
call fcn.0040d450
movzx eax, al
test eax, eax
jne 0x44a58a
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x44a58a
push 0x24
lea ecx, [ebp - 0x160]
call fcn.0040d1b0
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040d1b0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x44a58a
mov dword [ebp - 0xc0], 0
lea ecx, [ebp - 0x154]
call fcn.0040d140
lea ecx, [ebp - 0xfc]
call fcn.0040d140
lea ecx, [ebp - 0x160]
call fcn.0040d140
lea ecx, [ebp - 0x64]
call fcn.0042cd10
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xc0]
jmp 0x44af41
push str.RunProgram
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x1dc]
push eax
call fcn.0040feb0
push eax
lea ecx, [ebp - 0x20]
call fcn.0040dcf0
lea ecx, [ebp - 0x1dc]
call fcn.0040d140
push str.ExecuteFile
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x1e8]
push edx
call fcn.0040feb0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040dcf0
lea ecx, [ebp - 0x1e8]
call fcn.0040d140
push str.ExecuteParameters
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.0040feb0
push eax
lea ecx, [ebp - 0x34]
call fcn.0040dcf0
lea ecx, [ebp - 0x1f4]
call fcn.0040d140
lea ecx, [ebp - 0x154]
call fcn.0040d140
lea ecx, [ebp - 0xfc]
call fcn.0040d140
lea ecx, [ebp - 0x160]
call fcn.0040d140
lea ecx, [ebp - 0x64]
call fcn.0042cd10
lea ecx, [ebp - 0xa8]
call fcn.00434550
mov edx, dword [0x45e4c0]
push edx
lea ecx, [ebp - 0xa8]
call fcn.00411430
movzx eax, al
test eax, eax
jne 0x44a6c4
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x44a664
push str.Cannot_create_temp_folder_archive
call fcn.00449440
mov dword [ebp - 0xc4], 1
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xc4]
jmp 0x44af41
push 0x18
call fcn.0044b171
add esp, 4
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x44a6f0
mov ecx, dword [ebp - 0x94]
call fcn.00434460
mov dword [ebp - 0x98], eax
jmp 0x44a6fa
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.00415e30
mov ecx, dword [ebp - 0x80]
call fcn.0042d150
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x44a7a4
push str.Cannot_load_codecs
call fcn.00449440
mov dword [ebp - 0xd0], 1
lea ecx, [ebp - 8]
call fcn.00416460
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xd0]
jmp 0x44af41
lea ecx, [ebp - 0xa8]
call fcn.004489a0
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040db00
mov byte [ebp - 3], 0
lea ecx, [ebp - 0xb4]
call fcn.0040dc00
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.00432fc0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x44a921
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x44a8a3
cmp dword [ebp - 0x24], 1
je 0x44a815
movzx eax, byte [ebp - 3]
test eax, eax
je 0x44a82a
lea ecx, [ebp - 0xb4]
push ecx
push 8
call fcn.00415850
mov dword [ebp - 0x24], 0x80004005
cmp dword [ebp - 0x24], 0x80004004
je 0x44a8a3
lea ecx, [ebp - 0xb4]
call fcn.0040d450
movzx edx, al
test edx, edx
je 0x44a86c
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x200]
push ecx
call fcn.00448f40
push eax
lea ecx, [ebp - 0xb4]
call fcn.0040dcf0
lea ecx, [ebp - 0x200]
call fcn.0040d140
push 0x10
push 7
lea edx, [ebp - 0x20c]
push edx
call fcn.004156a0
mov ecx, eax
call fcn.0040d1b0
push eax
lea ecx, [ebp - 0xb4]
call fcn.0040d1b0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x20c]
call fcn.0040d140
mov dword [ebp - 0xf0], 1
lea ecx, [ebp - 0xb4]
call fcn.0040d140
lea ecx, [ebp - 0x8c]
call fcn.0040d140
lea ecx, [ebp - 8]
call fcn.00416460
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xf0]
jmp 0x44af41
lea ecx, [ebp - 0xb4]
call fcn.0040d140
lea ecx, [ebp - 0x118]
call fcn.004344b0
lea ecx, [ebp - 0x8c]
call fcn.0040d1b0
push eax
call fcn.004126c0
movzx eax, al
test eax, eax
jne 0x44a9cd
mov dword [ebp - 0xe8], 1
lea ecx, [ebp - 0x118]
call fcn.00434760
lea ecx, [ebp - 0x8c]
call fcn.0040d140
lea ecx, [ebp - 8]
call fcn.00416460
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xe8]
jmp 0x44af41
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x4c]
call fcn.0040d450
movzx ecx, al
test ecx, ecx
jne 0x44aba0
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x124]
push eax
call fcn.00448b20
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.0040d1b0
mov dword [ebp - 0x1b0], eax
lea ecx, [ebp - 0x14]
call fcn.0040d450
movzx ecx, al
test ecx, ecx
jne 0x44aa53
lea ecx, [ebp - 0x34]
call fcn.0040e220
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x34]
call fcn.0040e070
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.00448b20
lea ecx, [ebp - 0x108]
call fcn.0040d450
movzx edx, al
test edx, edx
je 0x44aa81
mov dword [ebp - 0x1ac], 0
jmp 0x44aa92
lea ecx, [ebp - 0x108]
call fcn.0040d1b0
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 0x44ab7c
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x44aae8
push str.Cannot_open_file
call fcn.00449440
mov dword [ebp - 0xe0], 1
lea ecx, [ebp - 0x108]
call fcn.0040d140
lea ecx, [ebp - 0x124]
call fcn.0040d140
lea ecx, [ebp - 0x118]
call fcn.00434760
lea ecx, [ebp - 0x8c]
call fcn.0040d140
lea ecx, [ebp - 8]
call fcn.00416460
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xe0]
jmp 0x44af41
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x108]
call fcn.0040d140
lea ecx, [ebp - 0x124]
call fcn.0040d140
jmp 0x44aeac
lea ecx, [ebp - 0x20]
call fcn.0040d450
movzx ecx, al
test ecx, ecx
je 0x44ac69
push str.setup.exe
lea ecx, [ebp - 0x20]
call fcn.0040de70
lea ecx, [ebp - 0x20]
call fcn.0040d1b0
push eax
call fcn.00412c70
movzx edx, al
test edx, edx
jne 0x44ac69
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x44abeb
push str.Cannot_find_setup.exe
call fcn.00449440
mov dword [ebp - 0xec], 1
lea ecx, [ebp - 0x118]
call fcn.00434760
lea ecx, [ebp - 0x8c]
call fcn.0040d140
lea ecx, [ebp - 8]
call fcn.00416460
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xec]
jmp 0x44af41
lea ecx, [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0x130]
call fcn.0040db00
lea edx, [ebp - 0x130]
push edx
call fcn.00414f60
push str.__T_
lea ecx, [ebp - 0x184]
call fcn.0040dbb0
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x184]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0040eaf0
lea ecx, [ebp - 0x184]
call fcn.0040d140
lea ecx, [ebp - 0x130]
call fcn.0040d140
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x148]
call fcn.0040db00
push 0x45e684
lea ecx, [ebp - 0x16c]
call fcn.0040dbb0
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x16c]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0040eaf0
lea ecx, [ebp - 0x16c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d450
movzx edx, al
test edx, edx
jne 0x44ad26
lea ecx, [ebp - 0x20]
call fcn.0040e200
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x20]
call fcn.0040e070
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.0040df70
push eax
lea edx, [ebp - 0x13c]
push edx
call fcn.00448b20
lea ecx, [ebp - 0x218]
call fcn.0040d140
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.0040d1b0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x44ae80
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x44adec
lea eax, [ebp - 0x148]
push eax
call fcn.00449460
mov dword [ebp - 0xd8], 1
lea ecx, [ebp - 0x13c]
call fcn.0040d140
lea ecx, [ebp - 0x148]
call fcn.0040d140
lea ecx, [ebp - 0x118]
call fcn.00434760
lea ecx, [ebp - 0x8c]
call fcn.0040d140
lea ecx, [ebp - 8]
call fcn.00416460
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xd8]
jmp 0x44af41
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.0040d140
lea ecx, [ebp - 0x148]
call fcn.0040d140
cmp dword [ebp - 0x28], 0
je 0x44aec8
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.00434760
lea ecx, [ebp - 0x8c]
call fcn.0040d140
lea ecx, [ebp - 8]
call fcn.00416460
lea ecx, [ebp - 0xa8]
call fcn.004347f0
lea ecx, [ebp - 0x20]
call fcn.0040d140
lea ecx, [ebp - 0x7c]
call fcn.0040d140
lea ecx, [ebp - 0x40]
call fcn.0040d140
lea ecx, [ebp - 0x58]
call fcn.0040d140
lea ecx, [ebp - 0x34]
call fcn.0040d140
lea ecx, [ebp - 0x4c]
call fcn.0040d140
lea ecx, [ebp - 0x14]
call fcn.0040d140
lea ecx, [ebp - 0x70]
call fcn.0040d140
mov eax, dword [ebp - 0xd4]
mov esp, ebp
pop ebp
ret 0x10