Function at 0x406e8d
Capabilities:
Accept command line arguments

Disassembly:
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 0x406ef3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x406eda
and esi, 0xffff
or esi, 0x80070000
test esi, esi
js 0x406ee1
mov esi, 0x80004005
push 0x403cc8
push esi
call fcn.00408ad3
pop ecx
pop ecx
jmp 0x407170
push ebx
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 8], ebx
cmp dword [ebp - 4], ebx
jle 0x4070fb
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 0x406f24
cmp ecx, 0x2f
jne 0x4070e8
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x406f6d
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403ce4
push 2
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406f6d
mov eax, dword [esi]
mov ecx, dword [ebp + 8]
add eax, 6
push eax
xor eax, eax
call fcn.00408def
mov esi, eax
test esi, esi
jns 0x4070e8
push 0x403cec
jmp 0x407112
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x406fa0
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403d08
push 2
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406fa0
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], ebx
mov ecx, dword [esi]
add ecx, 6
jmp 0x406fd1
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 9
jle 0x406ff0
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403d38
push 8
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x406ff0
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], ebx
mov ecx, dword [esi]
add ecx, 0x12
push ecx
lea ecx, [eax + 8]
xor eax, eax
call fcn.00408def
mov esi, eax
test esi, esi
jns 0x4070e8
push 0x403d10
jmp 0x407112
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x40703d
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403d4c
push 2
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x40703d
mov eax, dword [esi]
mov ecx, dword [ebp + 8]
add eax, 6
push eax
add ecx, 4
xor eax, eax
call fcn.00408def
mov esi, eax
test esi, esi
jns 0x4070e8
push 0x4035b4
jmp 0x407112
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x407062
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403d54
push ebx
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
je 0x407088
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 8
jne 0x407090
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403d58
push 7
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x407090
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], ebx
jmp 0x4070e8
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x4070ba
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403d68
push ebx
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x4070ba
mov eax, dword [ebp + 8]
jmp 0x4070e5
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x4070e8
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x403d6c
push ebx
add eax, 2
push eax
push ebx
push 0x7f
call edi
cmp eax, 2
jne 0x4070e8
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 0x406f0b
mov esi, dword [ebp + 8]
cmp dword [esi], 0
jne 0x40711f
mov eax, esi
call fcn.00409f0c
mov esi, eax
test esi, esi
jns 0x40711c
push 0x403d70
push esi
call fcn.00408ad3
pop ecx
pop ecx
jmp 0x407166
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
xor edx, edx
movzx eax, word [ecx]
cmp eax, 0x22
jne 0x40713d
xor eax, eax
test edx, edx
sete al
push 0x22
add ecx, 2
mov edx, eax
pop eax
jmp 0x407145
add ecx, 2
test ax, ax
je 0x40715d
test edx, edx
jne 0x407124
cmp ax, 0x20
je 0x407155
cmp ax, 9
jne 0x407124
add ecx, 0xfffffffe
mov dword [esi + 0xc], ecx
jmp 0x407164
mov dword [esi + 0xc], 0x403d94
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