Function at 0x4406e0
Capabilities:
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a34fd
mov eax, dword fs:[0]
push eax
sub esp, 0x188
mov eax, dword [0x778400]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x13c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x88]
call eax
mov byte [ebp - 0x13f], al
mov ecx, dword [ebp - 0x13c]
add ecx, 0x11c
push ecx
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [eax + 0x80]
call edx
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00414450
add esp, 4
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call fcn.00419670
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xfc]
call fcn.00515070
lea ecx, [ebp - 0xa4]
push ecx
lea ecx, [ebp - 0x5c]
call fcn.004188e0
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041af60
push eax
lea ecx, [ebp - 0xfc]
call fcn.00515120
lea edx, [ebp - 0xa4]
push edx
lea ecx, [ebp - 0x5c]
call fcn.004195f0
lea ecx, [ebp - 0x8c]
call fcn.00419520
mov byte [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x164], esp
lea eax, [ebp - 0x5c]
push eax
call fcn.004190c0
mov dword [ebp - 0x170], eax
lea ecx, [ebp - 0x8c]
push ecx
call fcn.004e65b0
add esp, 0x1c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x190], esp
lea edx, [ebp - 0x8c]
push edx
call fcn.00417770
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x13c]
call fcn.0042f8a0
mov byte [ebp - 0x140], al
mov al, byte [ebp - 0x140]
mov byte [ebp - 0x13e], al
push str._start_mode_online__very_silent__output_progress:
lea ecx, [ebp - 0x28]
call fcn.00418f80
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0041a240
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x8c]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x8c]
mov eax, dword [edx + 0x7c]
call eax
test eax, eax
je 0x440878
push str.__desktop
lea ecx, [ebp - 0x28]
call fcn.0041a260
push str.__install_path
lea ecx, [ebp - 0x28]
call fcn.0041a260
push 0x741afc
lea ecx, [ebp - 0x28]
call fcn.0041a260
mov ecx, dword [ebp - 0x13c]
add ecx, 0x11c
push ecx
lea ecx, [ebp - 0x28]
call fcn.0041a240
push 0x741b00
lea ecx, [ebp - 0x28]
call fcn.0041a260
lea ecx, [ebp - 0x74]
call fcn.00419670
mov byte [ebp - 4], 4
lea edx, [ebp - 0x74]
push edx
call fcn.004f42f0
add esp, 4
lea ecx, [ebp - 0x74]
call fcn.00419090
movzx eax, al
test eax, eax
jne 0x440901
mov ecx, dword [ebp - 0x13c]
add ecx, 0x132c
push ecx
mov edx, dword [ebp - 0x13c]
add edx, 0x1314
push edx
lea eax, [ebp - 0x74]
push eax
call fcn.004f4020
add esp, 0xc
mov ecx, dword [ebp - 0x13c]
add ecx, 0x1314
call fcn.0041af60
push eax
push str.Option:__s._n
call fcn.004e64c0
add esp, 8
mov ecx, dword [ebp - 0x13c]
add ecx, 0x132c
call fcn.0041af60
push eax
push str.Source:__s._n
call fcn.004e64c0
add esp, 8
mov ecx, dword [ebp - 0x13c]
add ecx, 0x1314
call fcn.00419090
movzx ecx, al
test ecx, ecx
jne 0x4409c3
push 0x741b24
lea ecx, [ebp - 0x28]
call fcn.0041a260
lea ecx, [ebp - 0xec]
call fcn.00419520
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x13c]
add edx, 0x1314
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x188], esp
push edx
call fcn.004190c0
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0xec]
push eax
call fcn.004e65b0
add esp, 0x1c
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0041a240
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xec]
call fcn.00419320
mov ecx, dword [ebp - 0x13c]
add ecx, 0x132c
call fcn.00419090
movzx edx, al
test edx, edx
jne 0x440a46
push 0x741b38
lea ecx, [ebp - 0x28]
call fcn.0041a260
lea ecx, [ebp - 0xbc]
call fcn.00419520
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x13c]
add eax, 0x132c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x16c], esp
push eax
call fcn.004190c0
mov dword [ebp - 0x174], eax
lea ecx, [ebp - 0xbc]
push ecx
call fcn.004e65b0
add esp, 0x1c
lea edx, [ebp - 0xbc]
push edx
lea ecx, [ebp - 0x28]
call fcn.0041a240
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xbc]
call fcn.00419320
mov dword [ebp - 0x138], 0
push 0x38
push 0
lea eax, [ebp - 0x134]
push eax
call fcn.0066eb10
add esp, 0xc
mov dword [ebp - 0x138], 0x3c
mov dword [ebp - 0x134], 0x40
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0x741b4c
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x13c]
add ecx, 0x104
call fcn.0041b040
mov dword [ebp - 0x128], eax
lea ecx, [ebp - 0x28]
call fcn.0041b040
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x13c]
cmp dword [ecx + 0x1310], 0
je 0x440af5
mov edx, dword [ebp - 0x13c]
mov ecx, dword [edx + 0x1310]
call fcn.004fbb00
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x13b2], 1
lea ecx, [ebp - 0x138]
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov dword [ebp - 0x144], eax
mov edx, dword [ebp - 0x13c]
mov byte [edx + 0x13b5], 1
cmp dword [ebp - 0x144], 0
jne 0x440dda
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0x4c7
jne 0x440cef
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x13b6], 1
mov ecx, dword [ebp - 0x13c]
mov byte [ecx + 0x13b4], 0
lea edx, [ebp - 0xd4]
push edx
call fcn.004143b0
add esp, 4
mov byte [ebp - 4], 7
push 0x58
call fcn.004f50a0
add esp, 4
push eax
lea ecx, [ebp - 0x44]
call fcn.00418f80
mov byte [ebp - 4], 8
push 0x741b58
lea ecx, [ebp - 0x44]
call fcn.0041a260
push 0x59
call fcn.004f50a0
add esp, 4
push eax
lea ecx, [ebp - 0x44]
call fcn.0041a260
push 0x741b5c
lea ecx, [ebp - 0x44]
call fcn.0041a260
push 0x5a
call fcn.004f50a0
add esp, 4
push eax
lea ecx, [ebp - 0x44]
call fcn.0041a260
push 0x104
push 0x258
push 0x16
call fcn.004f50a0
add esp, 4
push eax
push 0x3a
call fcn.004f50a0
add esp, 4
push eax
lea ecx, [ebp - 0x44]
call fcn.0041b040
push eax
lea ecx, [ebp - 0xd4]
call fcn.0041b040
push eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 4]
push ecx
call fcn.004536c0
add esp, 0x1c
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0x65c
je 0x440c34
cmp dword [ebp - 0x148], 0x65d
jne 0x440c61
mov edx, dword [ebp - 0x13c]
mov byte [edx + 0x13b3], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00419320
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd4]
call fcn.00419320
jmp 0x440f4b
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x13b3], 0
mov ecx, dword [ebp - 0x13c]
mov byte [ecx + 0x12a6], 0
push 2
mov ecx, dword [ebp - 0x13c]
call fcn.00443120
mov edx, dword [ebp - 0x13c]
mov dword [edx + 0xf8], 2
push 0x741b64
mov ecx, dword [ebp - 0x13c]
add ecx, 0x104
call fcn.00415810
movzx eax, byte [ebp - 0x13e]
test eax, eax
je 0x440cc4
mov ecx, dword [ebp - 0x13c]
call fcn.0042f950
mov ecx, dword [ebp - 0x13c]
call fcn.004428c0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00419320
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd4]
call fcn.00419320
jmp 0x440d8b
push 2
mov ecx, dword [ebp - 0x13c]
call fcn.00443120
mov ecx, dword [ebp - 0x13c]
mov dword [ecx + 0xf8], 2
call fcn.004e83f0
push eax
mov edx, dword [ebp - 0x144]
push edx
push str.Install_File_FAILED_error_code___0X__last_error___d._n
call fcn.004e64c0
add esp, 0xc
push 2
mov ecx, dword [ebp - 0x13c]
call fcn.00443120
mov eax, dword [ebp - 0x13c]
cmp dword [eax + 0x1310], 0
je 0x440d8b
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x17c], esp
push ecx
call fcn.004e8400
add esp, 4
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0x184], edx
mov byte [ebp - 4], 9
call fcn.004e83f0
push eax
push 0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x1310]
call fcn.004fbb30
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x74]
call fcn.00419eb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00419320
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8c]
call fcn.00419320
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call fcn.00419eb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.00419eb0
jmp 0x441050
mov ecx, dword [ebp - 0x13c]
mov byte [ecx + 0x13b4], 1
cmp dword [ebp - 0x118], 0x20
jle 0x440e69
push 0
push 0x1f4
push 0x65
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x100]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0x102
jne 0x440e39
push 0
mov edx, dword [ebp - 0x100]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0x65
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x100]
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [ebp - 0x100]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movzx edx, byte [ebp - 0x13f]
push edx
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x74]
call eax
test eax, eax
je 0x440e98
mov byte [ebp - 0x13d], 1
jmp 0x440e9f
mov byte [ebp - 0x13d], 0
mov ecx, dword [ebp - 0x13c]
mov dl, byte [ebp - 0x13d]
mov byte [ecx + 0x12a8], dl
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x12a6], 1
mov ecx, dword [ebp - 0x13c]
cmp dword [ecx + 0x1310], 0
je 0x440f22
mov edx, dword [ebp - 0x13c]
movzx eax, byte [edx + 0x12a8]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18c], esp
push ecx
call fcn.004e8400
add esp, 4
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x194], edx
mov byte [ebp - 4], 0xa
call fcn.004e83f0
push eax
push 1
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x1310]
call fcn.004fbb30
push 0
push 0x64
push 1
mov ecx, dword [ebp - 0x13c]
call fcn.0043bdd0
movzx ecx, byte [ebp - 0x13e]
test ecx, ecx
je 0x440f49
mov ecx, dword [ebp - 0x13c]
call fcn.0042f950
jmp 0x440f58
mov edx, 1
test edx, edx
jne 0x440ad5
mov eax, dword [ebp - 0x13c]
mov dword [eax + 0xf4], 3
mov ecx, dword [ebp - 0x13c]
mov dword [ecx + 0xf8], 2
push 2
mov ecx, dword [ebp - 0x13c]
call fcn.00443120
push 2
mov ecx, dword [ebp - 0x13c]
call fcn.00443120
push 2
mov ecx, dword [ebp - 0x13c]
call fcn.00443120
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x90]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x90]
mov eax, dword [edx + 0x7c]
call eax
test eax, eax
je 0x441004
mov byte [0x7797c4], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x168], esp
push str.___installmode___runapp
call fcn.00418f80
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x78]
call eax
mov ecx, dword [ebp - 0x13c]
call fcn.004428c0
jmp 0x44100b
mov byte [0x7797c4], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x74]
call fcn.00419eb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00419320
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8c]
call fcn.00419320
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call fcn.00419eb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.00419eb0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0066c98d
mov esp, ebp
pop ebp
ret