Function at 0x40b476
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x41b014]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x218], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x214], ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 0x20
mov esi, eax
pop ecx
push 0x22
pop eax
movzx edx, word [esi]
cmp dx, ax
jne 0x40b4eb
push eax
pop ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x40b4cf
cmp ax, bx
jne 0x40b4b7
cmp ax, bx
mov ebx, dword [ebp - 0x214]
jne 0x40b4e6
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
movzx eax, cx
jmp 0x40b50c
mov eax, edx
cmp dx, cx
jbe 0x40b50c
push 0x20
pop ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
cmp ax, bx
ja 0x40b4f5
mov ebx, dword [ebp - 0x214]
test ax, ax
je 0x40b535
push 0x20
movzx ecx, ax
pop ebx
cmp cx, bx
ja 0x40b52f
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x40b517
mov ebx, dword [ebp - 0x214]
movzx eax, word [esi]
push 0x20
pop edx
mov ecx, eax
cmp ax, dx
jne 0x40b55d
push edx
pop ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
cmp ax, bx
je 0x40b544
mov ebx, dword [ebp - 0x214]
mov ecx, eax
cmp cx, 0x2f
je 0x40b56d
cmp cx, 0x2d
jne 0x40b61d
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
test ax, ax
je 0x40b535
mov ecx, eax
push 0x20
pop eax
cmp cx, ax
je 0x40b535
movzx eax, cx
cmp eax, 0x61
ja 0x40b603
je 0x40b5de
sub eax, 0x41
je 0x40b5de
sub eax, 4
je 0x40b5e8
sub eax, 7
je 0x40b6f1
sub eax, 1
je 0x40b614
sub eax, 5
je 0x40b6f1
sub eax, 1
je 0x40b608
dec eax
sub eax, 1
jne 0x40b5eb
push 0xb
push 0x401a28
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40b5eb
push eax
push 0x401a40
jmp 0x40b70c
mov dword [0x41b0e0], 4
xor edi, edi
inc edi
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x40b580
jmp 0x40b535
sub eax, 0x65
jmp 0x40b59a
mov dword [ebp - 0x218], 1
jmp 0x40b5eb
and dword [0x41be20], 0
jmp 0x40b5eb
cmp ebx, 1
jne 0x40b638
cmp dword [ebp - 0x218], 0
je 0x40b6c3
test cx, cx
je 0x40b6c3
test edi, edi
jne 0x40b6a4
test cx, cx
jne 0x40b648
xor eax, eax
jmp 0x40b71b
mov ecx, esi
call fcn.0040bb25
mov esi, eax
cmp ebx, 1
jne 0x40b65c
test esi, esi
jne 0x40b660
jmp 0x40b6c3
test esi, esi
je 0x40b69f
mov edi, 0x104
push edi
lea eax, [ebp - 0x210]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x40b682
cmp eax, edi
jae 0x40b682
lea esi, [ebp - 0x210]
mov edx, dword [ebp - 0x218]
xor ecx, ecx
push 0
push esi
call fcn.0040810a
xor ecx, ecx
call fcn.0040bb25
mov esi, eax
test esi, esi
jne 0x40b665
xor eax, eax
inc eax
jmp 0x40b71b
mov ecx, esi
call fcn.0040bb25
xor ecx, ecx
mov esi, eax
call fcn.0040bb25
mov edi, eax
cmp ebx, 1
jne 0x40b6db
test esi, esi
je 0x40b6c3
test edi, edi
jne 0x40b6db
push 0x10
push 0x10
push 0x28
push 0
push dword [0x41be1c]
call fcn.0040bbba
add esp, 0x14
jmp 0x40b718
xor ecx, ecx
call fcn.0040bb25
test eax, eax
jne 0x40b718
push edi
push esi
xor ecx, ecx
call fcn.00408688
jmp 0x40b718
push 9
push 0x401a04
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40b718
push eax
push 0x401a18
push dword [0x41be1c]
call dword [sym.imp.ADVPACK.dll_RegInstallW]
push 2
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00419cc0
mov esp, ebp
pop ebp
ret