Function at 0x40d2a0
Capabilities:
Create process on windows
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x454
mov eax, dword [0x47e064]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov dword [ebp - 0x454], eax
mov esi, ecx
push edi
lea eax, [ebp - 0x438]
mov dword [ebp - 0x450], esi
mov dword [ebp - 0x444], eax
xor eax, eax
push 0x208
push eax
mov word [ebp - 0x438], ax
lea eax, [ebp - 0x20c]
push eax
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 1
call fcn.0042f790
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x3e8
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x444]
call fcn.0040b360
mov ebx, dword [ebp - 0x440]
mov dword [ebp - 0x448], 0x20
test ebx, ebx
je 0x40d36e
cmp ebx, 1
jb 0x40d36e
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x44c], eax
mov ecx, ebx
test ebx, ebx
je 0x40d36e
nop dword [eax]
cmp word [eax], 0x20
je 0x40d394
add eax, 2
sub ecx, 1
jne 0x40d360
or eax, 0xffffffff
mov ebx, dword [ebp - 0x450]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
je 0x40d3e4
push 0x10
push 0
push str.Installation_path_should_not_contain_spaces_
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x40d5b2
test eax, eax
je 0x40d36e
lea edx, [ebp - 0x448]
mov edi, eax
mov ecx, edx
mov esi, 1
sub edi, ecx
nop dword [eax]
mov cx, word [edi + edx]
cmp cx, word [edx]
jne 0x40d3cb
add edx, 2
sub esi, 1
jne 0x40d3b0
sub eax, dword [ebp - 0x444]
sar eax, 1
jmp 0x40d371
mov edx, eax
or ecx, 0xffffffff
sub edx, dword [ebp - 0x44c]
sar edx, 1
sub ecx, edx
add ebx, ecx
add eax, 2
jmp 0x40d350
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 0
push 0xf0
push 0x3ec
push ecx
call esi
push 0
push 0
push 0xf0
push 0x3ee
push dword [ebx + 4]
and al, 1
mov byte [ebp - 0x418], al
call esi
push 0
push 0
push 0xf0
push 0x3ea
push dword [ebx + 4]
and al, 1
mov byte [ebp - 0x417], al
call esi
mov cl, byte [ebx + 0x29]
and al, 1
cmp byte [ebx + 0x28], 0
mov byte [ebp - 0x416], al
mov byte [ebp - 0x415], cl
je 0x40d4a1
test al, al
je 0x40d4a1
push 0x104
lea eax, [ebp - 0x414]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor ecx, ecx
mov eax, str._LOG
cmp byte [ebx + 0x29], cl
push 5
push 0
cmove eax, ecx
push eax
lea eax, [ebp - 0x414]
push eax
push str.runas
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jle 0x40d4a1
push 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x40d5b2
push 1
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
mov ecx, ebx
call fcn.0040cc30
mov edi, dword [ebx + 0x24]
lea eax, [ebx + 0x20]
neg ebx
push 0xffffffffffffffff
sbb ebx, ebx
and ebx, eax
lea ecx, [edi + 0x15c]
push 0
lea eax, [ebp - 0x444]
mov dword [edi + 0x158], ebx
push eax
call fcn.0040b2d0
movzx eax, byte [ebp - 0x418]
mov byte [edi + 0x188], al
movzx eax, byte [ebp - 0x417]
mov byte [edi + 0x189], al
movzx eax, byte [ebp - 0x416]
mov byte [edi + 0x18a], al
movzx eax, byte [ebp - 0x415]
mov byte [edi + 0x18b], al
mov esi, dword [edi + 0x148]
test esi, esi
je 0x40d558
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [esi + 4], eax
je 0x40d53f
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x40d54d
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x40d54d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x18
push esi
call fcn.0042cd4a
add esp, 8
push 0x18
call fcn.0042cd1a
mov esi, eax
add esp, 4
test esi, esi
je 0x40d581
mov dword [esi], 0xffffffff
mov dword [esi + 8], edi
mov dword [esi + 0x10], 0x407a40
mov dword [esi + 0xc], 0x4033a0
jmp 0x40d583
xor esi, esi
mov dword [edi + 0x148], esi
cmp dword [esi], 0xffffffff
jne 0x40d5a6
lea eax, [esi + 4]
push eax
push 0
push esi
push 0x409590
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi], eax
mov eax, dword [ebp - 0x454]
mov dword [eax], 1
mov eax, dword [ebp - 0x444]
pop edi
pop esi
pop ebx
test eax, eax
je 0x40d5d2
lea ecx, [ebp - 0x438]
cmp eax, ecx
je 0x40d5d2
push eax
call fcn.0043817b
add esp, 4
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.0042d480
mov esp, ebp
pop ebp
ret 0x10