Function at 0x445df0
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 [0x465e74], eax
call fcn.00444aa0
mov byte [0x465e70], al
call fcn.0043b470
mov byte [ebp - 4], al
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x445e22
xor eax, eax
jmp 0x446b11
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 0x4594f4
lea ecx, [ebp - 0x14]
call fcn.0040e640
movzx eax, al
test eax, eax
je 0x445ec8
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.00444b40
movzx edx, al
test edx, edx
jne 0x445f4a
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x445f05
push str.Cant_load_config_info
call fcn.00445010
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 0x446b11
push 0x459528
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 0x4461fe
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 0x446001
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x445fa4
push str.Config_failed
call fcn.00445010
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 0x446b11
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 0x45955c
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x154]
push edx
call fcn.0040feb0
push 0x459568
lea ecx, [ebp - 0x154]
call fcn.00410670
movzx eax, al
test eax, eax
je 0x44605b
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 0x446093
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 0x44615a
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x44615a
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 0x44615a
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 0x446b11
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 [0x4594c0]
push edx
lea ecx, [ebp - 0xa8]
call fcn.00411430
movzx eax, al
test eax, eax
jne 0x446294
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x446234
push str.Cannot_create_temp_folder_archive
call fcn.00445010
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 0x446b11
push 0x18
call fcn.00446d41
add esp, 4
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x4462c0
mov ecx, dword [ebp - 0x94]
call fcn.00434460
mov dword [ebp - 0x98], eax
jmp 0x4462ca
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 0x446374
push str.Cannot_load_codecs
call fcn.00445010
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 0x446b11
lea ecx, [ebp - 0xa8]
call fcn.00444570
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 0x4464f1
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x446473
cmp dword [ebp - 0x24], 1
je 0x4463e5
movzx eax, byte [ebp - 3]
test eax, eax
je 0x4463fa
lea ecx, [ebp - 0xb4]
push ecx
push 8
call fcn.00415850
mov dword [ebp - 0x24], 0x80004005
cmp dword [ebp - 0x24], 0x80004004
je 0x446473
lea ecx, [ebp - 0xb4]
call fcn.0040d450
movzx edx, al
test edx, edx
je 0x44643c
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x200]
push ecx
call fcn.00444b10
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 0x446b11
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 0x44659d
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 0x446b11
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x4c]
call fcn.0040d450
movzx ecx, al
test ecx, ecx
jne 0x446770
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x124]
push eax
call fcn.004446f0
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 0x446623
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.004446f0
lea ecx, [ebp - 0x108]
call fcn.0040d450
movzx edx, al
test edx, edx
je 0x446651
mov dword [ebp - 0x1ac], 0
jmp 0x446662
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 0x44674c
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x4466b8
push str.Cannot_open_file
call fcn.00445010
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 0x446b11
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 0x446a7c
lea ecx, [ebp - 0x20]
call fcn.0040d450
movzx ecx, al
test ecx, ecx
je 0x446839
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 0x446839
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x4467bb
push str.Cannot_find_setup.exe
call fcn.00445010
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 0x446b11
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 0x459684
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 0x4468f6
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.004446f0
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 0x446a50
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x4469bc
lea eax, [ebp - 0x148]
push eax
call fcn.00445030
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 0x446b11
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 0x446a98
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