Function at 0x406c5c
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push esi
mov esi, dword [ebp + 8]
push edi
push 8
pop ecx
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 4]
push ecx
push eax
mov dword [ebp - 0x10], eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x406cc4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x406cab
and esi, 0xffff
or esi, 0x80070000
test esi, esi
js 0x406cb2
mov esi, 0x80004005
push 0x403df4
push esi
call fcn.0040854a
pop ecx
pop ecx
jmp 0x406ee8
push ebx
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 8], ebx
cmp dword [ebp - 4], ebx
jle 0x406e73
mov edi, dword [sym.imp.KERNEL32.dll_CompareStringW]
mov ecx, dword [ebp - 0xc]
lea esi, [ecx + eax*4]
mov eax, dword [esi]
movzx ecx, word [eax]
cmp ecx, 0x2d
je 0x406cf5
cmp ecx, 0x2f
jne 0x406e60
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x406d3e
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403e10
push 2
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406d3e
mov eax, dword [esi]
mov ecx, dword [ebp + 8]
add eax, 6
push eax
xor eax, eax
call fcn.00408889
mov esi, eax
test esi, esi
jns 0x406e60
push 0x403e18
jmp 0x406e8a
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x406d8e
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403e34
push 2
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406d8e
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], ebx
mov ecx, dword [esi]
add ecx, 6
push ecx
lea ecx, [eax + 8]
xor eax, eax
call fcn.00408889
mov esi, eax
test esi, esi
jns 0x406e60
push 0x403e3c
jmp 0x406e8a
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x406ddb
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403e64
push 2
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406ddb
mov eax, dword [esi]
mov ecx, dword [ebp + 8]
add eax, 6
push eax
add ecx, 4
xor eax, eax
call fcn.00408889
mov esi, eax
test esi, esi
jns 0x406e60
push 0x403760
jmp 0x406e8a
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x406e08
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403e6c
push ebx
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406e08
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], ebx
jmp 0x406e60
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x406e32
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403e70
push ebx
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406e32
mov eax, dword [ebp + 8]
jmp 0x406e5d
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x406e60
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403e74
push ebx
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406e60
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 4]
jl 0x406cdc
mov esi, dword [ebp + 8]
cmp dword [esi], 0
jne 0x406e97
mov eax, esi
call fcn.004099d2
mov esi, eax
test esi, esi
jns 0x406e94
push 0x403e78
push esi
call fcn.0040854a
pop ecx
pop ecx
jmp 0x406ede
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
xor edx, edx
movzx eax, word [ecx]
cmp eax, 0x22
jne 0x406eb5
xor eax, eax
test edx, edx
sete al
push 0x22
add ecx, 2
mov edx, eax
pop eax
jmp 0x406ebd
add ecx, 2
test ax, ax
je 0x406ed5
test edx, edx
jne 0x406e9c
cmp ax, 0x20
je 0x406ecd
cmp ax, 9
jne 0x406e9c
add ecx, 0xfffffffe
mov dword [esi + 0xc], ecx
jmp 0x406edc
mov dword [esi + 0xc], 0x403e9c
xor esi, esi
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop ebx
pop edi
mov eax, esi
pop esi
leave
ret 4