Function at 0x40e960
Capabilities:
Accept command line arguments

Disassembly:
push ecx
push esi
push edi
lea eax, [esp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, 1
cmp dword [esp + 8], esi
mov edi, eax
mov dword [0x459f8c], 0
jle 0x40ed1f
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push ebp
lea ebp, [edi + 0xc]
jmp 0x40e9a0
mov eax, dword [edi + esi*4]
movzx ecx, word [eax]
cmp cx, 0x2f
je 0x40e9b6
cmp cx, 0x2d
jne 0x40ed6e
push str.nocheckver
add eax, 2
push eax
call ebx
test eax, eax
jne 0x40e9d4
or dword [0x459f8c], 0x10000
jmp 0x40ed6e
mov ecx, dword [edi + esi*4]
push str.nocheckrun
add ecx, 2
push ecx
call ebx
test eax, eax
jne 0x40e9f5
or dword [0x459f8c], 0x400000
jmp 0x40ed6e
mov edx, dword [edi + esi*4]
push str.startup
add edx, 2
push edx
call ebx
test eax, eax
je 0x40ed64
mov eax, dword [edi + esi*4]
push str.minimized
add eax, 2
push eax
call ebx
test eax, eax
je 0x40ed64
mov ecx, dword [edi + esi*4]
push 0x447f40
add ecx, 2
push ecx
call ebx
test eax, eax
je 0x40ed64
mov edx, dword [edi + esi*4]
push 0x447f44
add edx, 2
push edx
call ebx
test eax, eax
je 0x40ed58
mov eax, dword [edi + esi*4]
push 0x447f50
add eax, 2
push eax
call ebx
test eax, eax
je 0x40ed58
mov ecx, dword [edi + esi*4]
push 0x447f54
add ecx, 2
push ecx
call ebx
test eax, eax
je 0x40ed4c
mov edx, dword [edi + esi*4]
push 0x447f60
add edx, 2
push edx
call ebx
test eax, eax
je 0x40ed4c
mov eax, dword [edi + esi*4]
push 0x447f64
add eax, 2
push eax
call ebx
test eax, eax
jne 0x40eab0
or dword [0x459f8c], 0x40000
jmp 0x40ed6e
mov ecx, dword [edi + esi*4]
push str.fullscreen
add ecx, 2
push ecx
call ebx
test eax, eax
je 0x40ed43
mov edx, dword [edi + esi*4]
push str.desktop
add edx, 2
push edx
call ebx
test eax, eax
je 0x40ed43
mov eax, dword [edi + esi*4]
push str.application
add eax, 2
push eax
call ebx
test eax, eax
jne 0x40eafa
or dword [0x459f8c], 2
jmp 0x40ed6e
mov ecx, dword [edi + esi*4]
push str.window
add ecx, 2
push ecx
call ebx
test eax, eax
jne 0x40eb18
or dword [0x459f8c], 3
jmp 0x40ed6e
mov edx, dword [edi + esi*4]
push str.object
add edx, 2
push edx
call ebx
test eax, eax
jne 0x40eb36
or dword [0x459f8c], 4
jmp 0x40ed6e
mov eax, dword [edi + esi*4]
push str.region
add eax, 2
push eax
call ebx
test eax, eax
jne 0x40eb54
or dword [0x459f8c], 5
jmp 0x40ed6e
mov ecx, dword [edi + esi*4]
push str.tbswitch
add ecx, 2
push ecx
call ebx
test eax, eax
jne 0x40eb75
or dword [0x459f8c], 0x400
jmp 0x40ed6e
mov edx, dword [edi + esi*4]
push str.no_fixed_pos
add edx, 2
push edx
call ebx
test eax, eax
jne 0x40eb96
or dword [0x459f8c], 0x8000000
jmp 0x40ed6e
mov eax, dword [edi + esi*4]
push str.no_fixed_size
add eax, 2
push eax
call ebx
test eax, eax
jne 0x40ebb7
or dword [0x459f8c], 0x4000000
jmp 0x40ed6e
mov ecx, dword [edi + esi*4]
push str.fixed_pos
add ecx, 2
push ecx
call ebx
test eax, eax
jne 0x40ec1c
mov edx, dword [esp + 0x10]
or dword [0x459f8c], 0x2000000
mov eax, 0x88ca6c00
add edx, 0xfffffffe
cmp esi, edx
mov dword [0x452438], eax
mov dword [0x452434], eax
jge 0x40ed6e
mov eax, dword [edi + esi*4 + 4]
push eax
call fcn.00434b9b
mov dword [0x452434], eax
mov ecx, dword [ebp]
push ecx
call fcn.00434b9b
add esp, 8
add esi, 2
mov dword [0x452438], eax
add ebp, 8
jmp 0x40ed6e
mov edx, dword [edi + esi*4]
push str.fixed_size
add edx, 2
push edx
call ebx
test eax, eax
jne 0x40ec7c
or dword [0x459f8c], 0x1000000
mov dword [0x45a250], eax
mov dword [0x45a24c], eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
cmp esi, eax
jge 0x40ed6e
mov ecx, dword [edi + esi*4 + 4]
push ecx
call fcn.00434b9b
mov dword [0x45a24c], eax
mov edx, dword [ebp]
push edx
call fcn.00434b9b
add esp, 8
add esi, 2
mov dword [0x45a250], eax
add ebp, 8
jmp 0x40ed6e
mov eax, dword [edi + esi*4]
push str.license
add eax, 2
push eax
call ebx
test eax, eax
jne 0x40ecb3
mov ecx, dword [esp + 0x10]
dec ecx
cmp esi, ecx
jge 0x40ed6e
cmp dword [0x458768], eax
jbe 0x40ed1d
mov edx, dword [edi + esi*4 + 4]
push edx
push eax
call fcn.0040e2f0
add esp, 8
jmp 0x40ed13
mov edx, dword [edi + esi*4]
push str.register
add edx, 2
push edx
call ebx
test eax, eax
jne 0x40ed33
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
cmp esi, eax
jge 0x40ed6e
cmp dword [0x458768], 0
jbe 0x40ed13
mov eax, dword [edi + esi*4 + 4]
mov ecx, dword [edi + esi*4 + 8]
push eax
call fcn.0040e5a0
add esp, 4
test eax, eax
jne 0x40ed13
mov ecx, dword [edi + esi*4 + 4]
push ecx
mov ecx, dword [edi + esi*4 + 8]
call fcn.0040e5a0
add esp, 4
test eax, eax
jne 0x40ed13
mov ecx, 0x7d36
xor esi, esi
call fcn.00408930
or dword [0x459f8c], 0x100000
pop ebp
pop ebx
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
pop esi
pop ecx
ret
mov ecx, dword [edi + esi*4]
push str.hostCleanUp
add ecx, 2
push ecx
call ebx
jmp 0x40ed6e
or dword [0x459f8c], 1
jmp 0x40ed6e
or dword [0x459f8c], 0x200000
jmp 0x40ed6e
or dword [0x459f8c], 0x80000
jmp 0x40ed6e
or dword [0x459f8c], 0x20000
inc esi
add ebp, 4
cmp esi, dword [esp + 0x10]
jl 0x40e9a0
jmp 0x40ed1d