Function at 0x402d20
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40f0e0
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x41700c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edx, eax
mov dword [ebp - 0x18], 7
xor eax, eax
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
cmp word [edx], ax
jne 0x402d7a
xor ecx, ecx
jmp 0x402d8f
mov ecx, edx
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402d80
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.004013e0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x402dc2
xor eax, eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x402e22
inc ecx
push ecx
jmp 0x402e1a
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
mov ebx, dword [ebp - 0x2c]
cmp edi, 8
cmovae eax, ebx
cmp word [eax], 0x22
jne 0x402e42
mov edx, 1
cmp ecx, edx
jbe 0x402dfd
cmp ecx, edx
jbe 0x402eaa
cmp edi, 8
lea eax, [ebp - 0x2c]
cmovae eax, ebx
cmp word [eax + edx*2], 0x22
je 0x402e63
inc edx
cmp ecx, edx
ja 0x402de8
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x402e22
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.004014e0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040325c
mov esp, ebp
pop ebp
ret 4
xor edx, edx
test ecx, ecx
je 0x402dfd
cmp ecx, edx
jbe 0x402eaa
cmp edi, 8
lea eax, [ebp - 0x2c]
cmovae eax, ebx
cmp word [eax + edx*2], 0x20
je 0x402e63
inc edx
cmp ecx, edx
ja 0x402e4c
jmp 0x402dfd
inc edx
test edx, edx
je 0x402dfd
cmp edx, ecx
jae 0x402e85
cmp ecx, edx
jbe 0x402eaa
cmp edi, 8
lea eax, [ebp - 0x2c]
cmovae eax, ebx
cmp word [eax + edx*2], 0x20
jne 0x402e85
inc edx
cmp ecx, edx
ja 0x402e70
lea eax, [ecx - 4]
cmp edx, eax
ja 0x402dfd
push 0xffffffffffffffff
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00401d80
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x34]
test edx, edx
jne 0x402eb4
push str.invalid_string_position
call fcn.0040322f
mov edi, dword [ebp - 0x30]
lea eax, [ebp - 0x44]
mov ebx, dword [ebp - 0x44]
cmp edi, 8
cmovae eax, ebx
cmp word [eax], 0x22
jne 0x402f0f
mov ecx, 1
cmp edx, ecx
jbe 0x402eeb
cmp edx, ecx
jbe 0x402eaa
cmp edi, 8
lea eax, [ebp - 0x44]
cmovae eax, ebx
cmp word [eax + ecx*2], 0x22
je 0x402eeb
inc ecx
cmp edx, ecx
ja 0x402ed6
lea eax, [ecx - 1]
push eax
push 1
push esi
lea ecx, [ebp - 0x44]
call fcn.00401d80
lea ecx, [ebp - 0x44]
call fcn.004013a0
lea ecx, [ebp - 0x2c]
call fcn.004013a0
jmp 0x402e22
xor ecx, ecx
test edx, edx
je 0x402f2e
cmp edx, ecx
jbe 0x402eaa
cmp edi, 8
lea eax, [ebp - 0x44]
cmovae eax, ebx
cmp word [eax + ecx*2], 0x20
je 0x402f2e
inc ecx
cmp edx, ecx
ja 0x402f19
push ecx
push 0
push esi
lea ecx, [ebp - 0x44]
call fcn.00401d80
lea ecx, [ebp - 0x44]
call fcn.004013a0
lea ecx, [ebp - 0x2c]
call fcn.004013a0
jmp 0x402e22