Function at 0x4116c9
Capabilities:
Accept command line arguments
Create process on windows
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push esi
push edi
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov eax, dword [ebp + 8]
push 0xf
pop edi
xor esi, esi
push edi
lea ecx, [ebp - 0x6c]
mov dword [0x4189d0], eax
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
call fcn.0040401e
push edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call fcn.0040401e
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0040af63
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040add9
push dword [ebp - 0x3c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov dword [ebp - 0x60], esi
push edi
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
call fcn.0040401e
lea eax, [ebp - 0x60]
push eax
push dword [0x4189d0]
call fcn.0040c248
push edi
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
call fcn.0040b6e6
lea eax, [ebp - 0x54]
push eax
push str.___InstallEnd__
push str.___Install__UTF_8_
push dword [ebp - 0x60]
call fcn.00411c8b
test al, al
jne 0x411792
push str.Cant_load_config_info
push esi
call fcn.0040e9ba
inc esi
jmp 0x411c10
push ebx
lea ecx, [ebp - 0x18]
call fcn.0040b1bf
lea ecx, [ebp - 0x18]
call fcn.0040b180
and byte [ebp + 0xb], 0
push 0x418520
lea ecx, [ebp - 0x3c]
call fcn.0040af63
mov ebx, eax
lea eax, [ebp - 0xc]
push 2
push eax
lea ecx, [ebp - 0x18]
call fcn.0040b0c4
mov ebx, dword [ebx]
mov eax, dword [eax]
push ebx
push eax
call fcn.0040b444
push dword [ebp - 0xc]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x3c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
test bl, bl
pop ecx
je 0x411821
lea eax, [ebp - 0xc]
push 2
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp + 0xb], 1
call fcn.0040afe6
push eax
lea ecx, [ebp - 0x18]
call fcn.0040afa8
push dword [ebp - 0xc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
lea ecx, [ebp - 0x18]
call fcn.0040b1bf
lea ecx, [ebp - 0x18]
call fcn.0040b180
push edi
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
call fcn.0040401e
cmp dword [ebp - 0x50], esi
je 0x411976
lea ecx, [ebp - 0xa8]
call fcn.00411e4b
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0040b739
test al, al
jne 0x411879
push str.Config_failed
push esi
call fcn.0040e9ba
lea ecx, [ebp - 0xa8]
call fcn.00411e66
xor esi, esi
inc esi
jmp 0x411c06
push str.Title
lea ecx, [ebp - 0xc]
call fcn.0040af63
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040bb72
push dword [ebp - 0xc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea ecx, [ebp - 0xc]
mov dword [esp], str.BeginPrompt
call fcn.0040af63
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.0040bb72
push dword [ebp - 0xc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
cmp dword [ebp - 0x90], esi
pop ecx
je 0x41191b
cmp byte [ebp + 0xb], 0
jne 0x41191b
push 0x24
push dword [ebp - 0x3c]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x41191b
push dword [ebp - 0x94]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x3c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
pop ecx
lea ecx, [ebp - 0xa8]
call fcn.00411e66
jmp 0x411c06
push str.RunProgram
lea ecx, [ebp - 0xc]
call fcn.0040af63
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040bb72
push eax
lea ecx, [ebp - 0x24]
call fcn.0040afa8
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x94]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x3c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x10
lea ecx, [ebp - 0xa8]
call fcn.00411e66
lea ecx, [ebp - 0x88]
call fcn.0040d02e
push dword [0x418404]
lea ecx, [ebp - 0x88]
call fcn.0040d05e
test al, al
jne 0x4119a9
push str.Can_not_create_temp_folder_archive
push esi
call fcn.0040e9ba
xor esi, esi
inc esi
jmp 0x411bfb
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xac], esi
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0xb0], 0x414804
call fcn.0040c499
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00410ef0
push dword [ebp - 0x30]
mov ebx, eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
cmp ebx, esi
pop ecx
je 0x411a06
cmp ebx, 1
jne 0x4119f5
push str.Can_not_open_archive
jmp 0x41199b
cmp ebx, 0x80004004
je 0x4119a1
push ebx
push esi
call fcn.0040e9d2
jmp 0x4119a1
lea ecx, [ebp - 0xd8]
call fcn.00411dfa
push dword [ebp - 0x84]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
jne 0x411a29
xor esi, esi
inc esi
jmp 0x411bf0
cmp dword [ebp - 0x20], esi
jne 0x411a64
push str.Setup.exe
lea ecx, [ebp - 0x24]
call fcn.0040c320
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00411c3b
push dword [eax]
call fcn.0040d72e
push dword [ebp - 0x30]
mov bl, al
neg bl
sbb bl, bl
inc bl
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
test bl, bl
pop ecx
jne 0x411a21
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x128], 0x44
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0xfc], esi
mov word [ebp - 0xf6], si
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
call fcn.0040b6e6
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x84]
call fcn.0040cb1a
test al, al
jne 0x411ac0
xor esi, esi
inc esi
jmp 0x411be7
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x78]
push eax
call fcn.0040739a
push 0x418434
lea ecx, [ebp - 0xc]
call fcn.0040af63
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040c499
push eax
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0041061b
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
pop ecx
push 0x20
lea ecx, [ebp - 0x78]
call fcn.00406f65
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x78]
push eax
call fcn.0040c03d
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0xe4]
push eax
call fcn.0040b6b0
lea eax, [ebp - 0x48]
push eax
call fcn.0040db09
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00411c3b
push eax
push 0x418430
lea ecx, [ebp - 0x30]
call fcn.0040d0b6
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040d268
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
lea eax, [ebp - 0xcc]
pop ecx
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x84]
push esi
push esi
push esi
push esi
push esi
push dword [ebp - 0xbc]
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x411ba2
push esi
call fcn.0040ea62
xor esi, esi
inc esi
jmp 0x411bc6
push 0xffffffffffffffff
push dword [ebp - 0xcc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 0xc8]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 0xcc]
call edi
push dword [ebp - 0xbc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xe4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0xc
push dword [ebp - 0x48]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
lea ecx, [ebp - 0xd8]
call fcn.00411e36
lea ecx, [ebp - 0x88]
call fcn.00411c57
push dword [ebp - 0x24]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
pop ebx
push dword [ebp - 0x54]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x60]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x18]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x6c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x10
mov eax, esi
pop edi
pop esi
leave
ret 0x10