Function at 0x40270e
Capabilities:
Accept command line arguments
Inspect load icon resource

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
push edi
call fcn.00405e8b
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00407686
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
call fcn.0040131b
mov esi, eax
mov ebp, 0x40c500
mov ebx, 0x40c2f0
movzx eax, word [esi]
test ax, ax
je 0x4027ab
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp ax, 0x20
jne 0x402759
add esi, 2
jmp 0x4027a3
mov ecx, esi
call fcn.0040131b
xor ecx, ecx
mov esi, eax
inc ecx
cmp word [0x40c0e0], 0x2f
jne 0x40278d
mov ax, word [0x40c0e2]
cmp ax, 0x53
jne 0x4027d3
cmp word [0x40c0e4], 0
jne 0x40278d
mov dword [0x40c0c8], ecx
xor ecx, ecx
test ecx, ecx
je 0x4027a3
cmp word [0x40c2f0], 0
jne 0x4027a3
push 0x40c0e0
push ebx
call edi
movzx eax, word [esi]
test ax, ax
jne 0x40274e
cmp word [0x40c2f0], 0
je 0x4027eb
cmp dword [0x40c0c8], 0
jne 0x4028d6
mov edx, ebx
mov ecx, str.Unsupported_command:
call fcn.00401f40
jmp 0x4028d6
cmp ax, 0x44
jne 0x40278d
cmp word [0x40c0e4], 0x3d
jne 0x40278d
push 0x40c0e6
push ebp
jmp 0x4027a1
cmp word [0x40c500], 0
jne 0x40289b
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push eax
push 0x20019
push 0
push str.Software7_Zip
push 0x80000001
call edi
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x402841
mov ecx, dword [esp + 0x10]
mov edx, str.Path32
push ebp
call fcn.00401e59
push dword [esp + 0x10]
mov esi, eax
call ebx
test esi, esi
jne 0x40289b
and dword [esp + 0x14], 0
lea eax, [esp + 0x14]
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftWindowsCurrentVersion
push 0x80000002
call edi
test eax, eax
jne 0x40287d
mov ecx, dword [esp + 0x14]
mov edx, str.ProgramFilesDir
push ebp
call fcn.00401e59
push dword [esp + 0x14]
mov esi, eax
call ebx
test esi, esi
jne 0x402894
mov esi, 0x40a9bc
mov edi, ebp
mov dl, byte [esi]
inc esi
movzx eax, dl
mov word [edi], ax
lea edi, [edi + 2]
test dl, dl
jne 0x402884
mov ecx, ebp
call fcn.00401ff0
mov ecx, ebp
call fcn.00401ebe
cmp dword [0x40c0c8], 0
je 0x4028b5
call fcn.00401526
jmp 0x402a0f
push 0
push 0x40253a
push 0
push 0x64
push dword [esp + 0x48]
xor esi, esi
inc esi
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [0x40c0cc], eax
test eax, eax
jne 0x4028de
xor eax, eax
inc eax
jmp 0x402a0f
push 1
push dword [esp + 0x3c]
call dword [sym.imp.USER32.dll_LoadIconW]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 1
push 0x80
push dword [0x40c0cc]
call ebp
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [esp + 0x18]
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x4029f6
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, 0xffffffff
je 0x402a0d
mov eax, dword [0x40c0cc]
test eax, eax
je 0x402a0d
lea ecx, [esp + 0x18]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x40295d
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [0x40c0cc], 0
je 0x402a0d
cmp dword [0x40c0c0], 0
je 0x4029e2
cmp dword [0x40c0c4], 0
jne 0x4029e2
call fcn.00401526
xor ecx, ecx
mov esi, eax
inc ecx
mov dword [0x40c0c4], ecx
test esi, esi
jne 0x4029f6
mov eax, dword [0x40c0cc]
test eax, eax
je 0x402a0d
push 0x40a9c0
push ecx
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 1
push 1
push dword [0x40c0cc]
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push esi
push 2
push dword [0x40c0cc]
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
push 1
push dword [0x40c0cc]
call ebx
push eax
push 0x28
push dword [0x40c0cc]
call ebp
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x24]
push eax
call edi
test eax, eax
jne 0x402921
mov eax, dword [0x40c0cc]
test eax, eax
je 0x402a0d
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
and dword [0x40c0cc], 0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0x10