Function at 0x40c568
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44432c
mov eax, dword fs:[0]
push eax
sub esp, 0x658
mov eax, dword [0x456220]
xor eax, esp
mov dword [esp + 0x650], eax
push ebx
push esi
push edi
mov eax, dword [0x456220]
xor eax, esp
push eax
lea eax, [esp + 0x668]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [0x45aaf0], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, eax
lea eax, [esp + 0x2dc]
push eax
mov dword [esp + 0x24], ecx
call fcn.004096c1
lea eax, [esp + 0xb4]
xor esi, esi
push eax
mov dword [esp + 0x674], esi
call fcn.0040762f
push 7
pop eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
mov word [esp + 0x60], si
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], esi
mov word [esp + 0x7c], si
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], esi
mov word [esp + 0x9c], si
mov byte [esp + 0x670], 2
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x98], 0
mov byte [esp + 0x99], 1
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
cmp ebx, esi
je 0x40c912
xor eax, eax
inc eax
cmp dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
jle 0x40c90b
mov dword [esp + 0x14], 2
mov edi, dword [esp + 0x18]
shl edi, 2
mov eax, dword [edi + ebx]
lea ecx, [esp + 0x40]
call fcn.0040161d
push 0x447434
lea esi, [esp + 0x44]
mov byte [esp + 0x674], 3
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8bb
push 0x44743c
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8bb
push 0x447444
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8bb
push 0x44744c
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8bb
push 0x447454
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8a7
push 0x44745c
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8a7
push 0x447464
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8a7
push 0x44746c
call fcn.004092fe
test al, al
pop ecx
jne 0x40c8a7
push 0x447474
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x44747c
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x447484
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x44748c
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x447494
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x44749c
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x4474a4
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x4474ac
call fcn.004092fe
test al, al
pop ecx
jne 0x40c89d
push 0x4474b4
call fcn.004092fe
test al, al
pop ecx
jne 0x40c893
push 0x4474bc
call fcn.004092fe
test al, al
pop ecx
jne 0x40c893
push 0x4474c4
call fcn.004092fe
test al, al
pop ecx
jne 0x40c893
push 0x4474cc
call fcn.004092fe
test al, al
pop ecx
jne 0x40c893
push 0x4474d4
call fcn.004092fe
test al, al
pop ecx
jne 0x40c87c
push 0x4474dc
call fcn.004092fe
test al, al
pop ecx
jne 0x40c87c
push 0x4474e4
call fcn.004092fe
test al, al
pop ecx
jne 0x40c87c
push 0x4474ec
call fcn.004092fe
test al, al
pop ecx
jne 0x40c87c
push 0x4474f4
call fcn.004092fe
test al, al
pop ecx
jne 0x40c87c
push 0x4474fc
call fcn.004092fe
test al, al
pop ecx
jne 0x40c87c
push 0x447504
call fcn.004092fe
test al, al
pop ecx
jne 0x40c87c
push 0x44750c
call fcn.004092fe
test al, al
pop ecx
je 0x40c8de
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge 0x40c986
lea esi, [esp + 0x98]
jmp 0x40c8cd
mov byte [esp + 0x95], 0
jmp 0x40c8de
mov byte [esp + 0x94], 1
jmp 0x40c8de
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge 0x40c9e6
lea esi, [esp + 0x78]
jmp 0x40c8cd
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge 0x40c9e6
lea esi, [esp + 0x5c]
mov eax, dword [edi + ebx + 4]
call fcn.00401639
inc dword [esp + 0x18]
inc dword [esp + 0x14]
push 0
push 1
lea esi, [esp + 0x48]
mov byte [esp + 0x678], 2
call fcn.0040117c
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
inc dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jl 0x40c669
xor esi, esi
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea edi, [esp + 0x5c]
lea eax, [esp + 0x2dc]
call fcn.0040bf27
cmp dword [esp + 0x204], esi
je 0x40c972
cmp dword [esp + 0x1e8], esi
jne 0x40c972
lea eax, [esp + 0x24]
push 0x27ea
push eax
call fcn.00403ac3
pop ecx
pop ecx
push 0xffffffffffffffff
lea ecx, [esp + 0x1d8]
push ecx
xor ebx, ebx
mov byte [esp + 0x678], 4
call fcn.004010f4
push ebx
push 1
lea esi, [esp + 0x2c]
mov byte [esp + 0x678], 2
call fcn.0040117c
push dword [esp + 0x20]
lea ecx, [esp + 0x2e0]
call fcn.0040bf65
mov esi, eax
jmp 0x40c996
push 0
push 1
lea esi, [esp + 0x48]
call fcn.0040117c
push 0xfffffffffffffffe
pop esi
lea edi, [esp + 0x5c]
call fcn.00409857
lea edi, [esp + 0xb4]
call fcn.0040987d
or dword [esp + 0x670], 0xffffffff
lea eax, [esp + 0x2dc]
push eax
call fcn.0040996f
mov eax, esi
mov ecx, dword [esp + 0x668]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x650]
xor ecx, esp
call fcn.0043253e
mov esp, ebp
pop ebp
ret
push 0
push 1
lea esi, [esp + 0x48]
call fcn.0040117c
lea edi, [esp + 0x5c]
call fcn.00409857
lea edi, [esp + 0xb4]
call fcn.0040987d
or dword [esp + 0x670], 0xffffffff
lea eax, [esp + 0x2dc]
push eax
call fcn.0040996f
push 0xfffffffffffffffe
pop eax
jmp 0x40c9c2