Function at 0x401000
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
call fcn.00405b75
xor ebp, ebp
push ebp
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00404c57
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
call fcn.00401782
mov esi, eax
mov ebx, 0x40a44c
mov ax, word [esi]
cmp ax, bp
je 0x4010b4
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp ax, 0x20
jne 0x401046
inc esi
inc esi
jmp 0x4010ac
mov ecx, esi
call fcn.00401782
cmp word [0x40a020], 0x2f
push 1
mov esi, eax
pop eax
jne 0x401093
mov cx, word [0x40a022]
cmp cx, 0x53
jne 0x401079
cmp word [0x40a024], bp
jne 0x401093
mov dword [0x40a8b8], eax
jmp 0x401091
cmp cx, 0x44
jne 0x401093
cmp word [0x40a024], 0x3d
jne 0x401093
push 0x40a026
push ebx
call edi
xor eax, eax
cmp eax, ebp
je 0x4010ac
cmp word [0x40a234], bp
jne 0x4010ac
push 0x40a020
push 0x40a234
call edi
mov ax, word [esi]
cmp ax, bp
jne 0x40103c
cmp word [0x40a234], bp
je 0x4010d1
cmp dword [0x40a8b8], ebp
jne 0x40111a
mov edx, 0x40a234
mov ecx, str.Unsupported_command:
jmp 0x401115
push str.IsWow64Process
push str.kernel32.dll
mov dword [esp + 0x18], ebp
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebp
je 0x401100
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
cmp dword [esp + 0x10], ebp
jne 0x401122
cmp dword [0x40a8b8], ebp
jne 0x40111a
xor edx, edx
mov ecx, str.This_installation_requires_Windows_x86
call fcn.00401325
push 1
pop eax
jmp 0x401308
cmp word [0x40a44c], bp
jne 0x40119b
lea eax, [esp + 0x10]
mov dword [esp + 0x10], ebp
push eax
push 0x20119
push ebp
push dword [0x408154]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40116f
mov edx, dword [str.Path64]
mov ecx, dword [esp + 0x10]
push ebx
call fcn.004013c8
mov esi, eax
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, ebp
jne 0x40119b
push ebx
push str.ProgramFilesDir
mov edx, 0x40846c
mov ecx, 0x80000002
call fcn.00401404
test eax, eax
jne 0x401194
mov edx, 0x408468
mov ecx, ebx
call fcn.00401312
mov ecx, ebx
call fcn.00401484
mov ecx, ebx
call fcn.00401448
cmp dword [0x40a8b8], ebp
je 0x4011b4
call fcn.004017de
jmp 0x401308
push 1
pop esi
push ebp
push 0x401512
push ebp
push 0x64
push dword [esp + 0x44]
mov dword [esp + 0x24], esi
call dword [sym.imp.USER32.dll_CreateDialogParamW]
cmp eax, ebp
mov dword [0x40a8bc], eax
jne 0x4011de
mov eax, esi
jmp 0x401308
push esi
push dword [esp + 0x38]
call dword [sym.imp.USER32.dll_LoadIconW]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push esi
push 0x80
push dword [0x40a8bc]
call ebx
push ebp
push ebp
lea eax, [esp + 0x1c]
push ebp
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, ebp
je 0x4012ee
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, 0xffffffff
je 0x401304
mov eax, dword [0x40a8bc]
cmp eax, ebp
je 0x401304
lea ecx, [esp + 0x14]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x40125c
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [0x40a8bc], ebp
je 0x401304
cmp dword [0x40a444], ebp
je 0x4012d8
cmp dword [0x40a8b4], ebp
jne 0x4012d8
call fcn.004017de
push 1
cmp eax, ebp
pop ecx
mov dword [esp + 0x10], eax
mov dword [0x40a8b4], ecx
jne 0x4012ee
mov eax, dword [0x40a8bc]
cmp eax, ebp
je 0x401304
push str.Close
push ecx
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 1
push 1
push dword [0x40a8bc]
call esi
push eax
call edi
push ebp
push 2
push dword [0x40a8bc]
call esi
push eax
call edi
push 1
push 1
push dword [0x40a8bc]
call esi
push eax
push 0x28
push dword [0x40a8bc]
call ebx
push ebp
push ebp
lea eax, [esp + 0x1c]
push ebp
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, ebp
jne 0x401220
mov eax, dword [0x40a8bc]
cmp eax, ebp
je 0x401304
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x40a8bc], ebp
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0x10