Function at 0x40c228
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x66c
mov eax, dword [0x44f4e8]
xor eax, esp
mov dword [esp + 0x668], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [0x453bd0], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, eax
lea ebx, [esp + 0x2d8]
mov dword [esp + 0x1c], ecx
call fcn.004096c3
lea eax, [esp + 0xb0]
call fcn.00407af8
push 7
pop eax
xor esi, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0xac], eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x70], esi
mov word [esp + 0x60], si
mov dword [esp + 0x8c], esi
mov word [esp + 0x7c], si
mov dword [esp + 0xac], esi
mov word [esp + 0x9c], si
mov byte [esp + 0x94], 0
mov byte [esp + 0x95], 1
mov dword [esp + 0x1c], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
cmp ebx, esi
je 0x40c58e
xor eax, eax
inc eax
cmp dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jle 0x40c587
mov dword [esp + 0x10], 2
mov edi, dword [esp + 0x14]
shl edi, 2
mov eax, dword [edi + ebx]
lea ecx, [esp + 0x3c]
call fcn.0040118b
push 0x44451c
lea esi, [esp + 0x40]
call fcn.00409241
test al, al
pop ecx
jne 0x40c53f
push 0x444524
call fcn.00409241
test al, al
pop ecx
jne 0x40c53f
push 0x44452c
call fcn.00409241
test al, al
pop ecx
jne 0x40c53f
push 0x444534
call fcn.00409241
test al, al
pop ecx
jne 0x40c53f
push 0x44453c
call fcn.00409241
test al, al
pop ecx
jne 0x40c52b
push 0x444544
call fcn.00409241
test al, al
pop ecx
jne 0x40c52b
push 0x44454c
call fcn.00409241
test al, al
pop ecx
jne 0x40c52b
push 0x444554
call fcn.00409241
test al, al
pop ecx
jne 0x40c52b
push 0x44455c
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x444564
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x44456c
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x444574
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x44457c
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x444584
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x44458c
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x444594
call fcn.00409241
test al, al
pop ecx
jne 0x40c521
push 0x44459c
call fcn.00409241
test al, al
pop ecx
jne 0x40c517
push 0x4445a4
call fcn.00409241
test al, al
pop ecx
jne 0x40c517
push 0x4445ac
call fcn.00409241
test al, al
pop ecx
jne 0x40c517
push 0x4445b4
call fcn.00409241
test al, al
pop ecx
jne 0x40c517
push 0x4445bc
call fcn.00409241
test al, al
pop ecx
jne 0x40c500
push 0x4445c4
call fcn.00409241
test al, al
pop ecx
jne 0x40c500
push 0x4445cc
call fcn.00409241
test al, al
pop ecx
jne 0x40c500
push 0x4445d4
call fcn.00409241
test al, al
pop ecx
jne 0x40c500
push 0x4445dc
call fcn.00409241
test al, al
pop ecx
jne 0x40c500
push 0x4445e4
call fcn.00409241
test al, al
pop ecx
jne 0x40c500
push 0x4445ec
call fcn.00409241
test al, al
pop ecx
jne 0x40c500
push 0x4445f4
call fcn.00409241
test al, al
pop ecx
je 0x40c562
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40c5f8
lea esi, [esp + 0x94]
jmp 0x40c551
mov byte [esp + 0x91], 0
jmp 0x40c562
mov byte [esp + 0x90], 1
jmp 0x40c562
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40c641
lea esi, [esp + 0x74]
jmp 0x40c551
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40c641
lea esi, [esp + 0x58]
mov eax, dword [edi + ebx + 4]
call fcn.00401318
inc dword [esp + 0x14]
inc dword [esp + 0x10]
push 0
push 1
lea esi, [esp + 0x44]
call fcn.00401432
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jl 0x40c2f5
xor esi, esi
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea edi, [esp + 0x58]
lea eax, [esp + 0x2d8]
call fcn.0040bc41
cmp dword [esp + 0x200], esi
je 0x40c5e4
cmp dword [esp + 0x1e4], esi
jne 0x40c5e4
push 0x27ea
call fcn.00405106
lea ecx, [esp + 0x24]
call fcn.00410096
push 0xffffffffffffffff
lea eax, [esp + 0x1d4]
push eax
xor ebx, ebx
lea eax, [esp + 0x28]
call fcn.004016c9
push ebx
push 1
lea esi, [esp + 0x28]
call fcn.00401432
push dword [esp + 0x1c]
lea ecx, [esp + 0x2dc]
call fcn.0040bc7f
mov esi, eax
jmp 0x40c608
push 0
push 1
lea esi, [esp + 0x44]
call fcn.00401432
push 0xfffffffffffffffe
pop esi
lea edi, [esp + 0x58]
call fcn.00409836
lea edi, [esp + 0xb0]
call fcn.0040985c
lea eax, [esp + 0x2d8]
push eax
call fcn.0040994e
mov eax, esi
mov ecx, dword [esp + 0x674]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004327eb
mov esp, ebp
pop ebp
ret
push 0
push 1
lea esi, [esp + 0x44]
call fcn.00401432
lea edi, [esp + 0x58]
call fcn.00409836
lea edi, [esp + 0xb0]
call fcn.0040985c
lea eax, [esp + 0x2d8]
push eax
call fcn.0040994e
push 0xfffffffffffffffe
pop eax
jmp 0x40c62c