Function at 0x40e1ab
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x41e024]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x214], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x210], 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 0x40e220
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 0x40e204
cmp ax, bx
jne 0x40e1ec
cmp ax, bx
mov ebx, dword [ebp - 0x210]
jne 0x40e21b
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
movzx eax, cx
jmp 0x40e241
mov eax, edx
cmp dx, cx
jbe 0x40e241
push 0x20
pop ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
cmp ax, bx
ja 0x40e22a
mov ebx, dword [ebp - 0x210]
test ax, ax
je 0x40e26a
push 0x20
movzx ecx, ax
pop ebx
cmp cx, bx
ja 0x40e264
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x40e24c
mov ebx, dword [ebp - 0x210]
movzx eax, word [esi]
push 0x20
pop edx
mov ecx, eax
cmp ax, dx
jne 0x40e292
push edx
pop ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
cmp ax, bx
je 0x40e279
mov ebx, dword [ebp - 0x210]
mov ecx, eax
cmp cx, 0x2f
je 0x40e2a2
cmp cx, 0x2d
jne 0x40e356
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
test ax, ax
je 0x40e26a
mov ecx, eax
push 0x20
pop eax
cmp cx, ax
je 0x40e26a
movzx eax, cx
cmp eax, 0x61
ja 0x40e33a
je 0x40e313
sub eax, 0x41
je 0x40e313
sub eax, 4
je 0x40e31f
sub eax, 7
je 0x40e430
sub eax, 1
je 0x40e34b
sub eax, 5
je 0x40e430
sub eax, 1
je 0x40e33f
dec eax
sub eax, 1
jne 0x40e322
push 0xb
push 0x401d9c
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e322
push eax
push 0x401db4
jmp 0x40e44b
mov eax, dword [0x45ef80]
mov dword [eax + 0x68], 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 0x40e2b5
jmp 0x40e26a
sub eax, 0x65
jmp 0x40e2cf
mov dword [ebp - 0x214], 1
jmp 0x40e322
mov eax, dword [0x45ef80]
and dword [eax + 0x50], 0
jmp 0x40e322
cmp ebx, 1
jne 0x40e371
cmp dword [ebp - 0x214], 0
je 0x40e3fc
test cx, cx
je 0x40e3fc
test edi, edi
jne 0x40e3dd
test cx, cx
jne 0x40e381
xor eax, eax
jmp 0x40e45a
mov ecx, esi
call fcn.0040ea5b
mov esi, eax
cmp ebx, 1
jne 0x40e395
test esi, esi
jne 0x40e399
jmp 0x40e3fc
test esi, esi
je 0x40e3d8
mov edi, 0x104
push edi
lea eax, [ebp - 0x20c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x40e3bb
cmp eax, edi
jae 0x40e3bb
lea esi, [ebp - 0x20c]
push 0
push esi
push dword [ebp - 0x214]
push 0
call fcn.0040af6a
xor ecx, ecx
call fcn.0040ea5b
mov esi, eax
test esi, esi
jne 0x40e39e
xor eax, eax
inc eax
jmp 0x40e45a
mov ecx, esi
call fcn.0040ea5b
xor ecx, ecx
mov esi, eax
call fcn.0040ea5b
mov edi, eax
cmp ebx, 1
jne 0x40e414
test esi, esi
je 0x40e3fc
test edi, edi
jne 0x40e414
push 0x10
push 0x10
push 0x28
push 0
push dword [0x41edec]
call fcn.0040eae0
add esp, 0x14
jmp 0x40e457
xor ecx, ecx
call fcn.0040ea5b
test eax, eax
jne 0x40e457
push edi
push esi
push ecx
mov ecx, dword [0x45ef80]
push eax
call fcn.0040b4f6
jmp 0x40e457
push 9
push 0x401d78
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e457
push eax
push 0x401d8c
push dword [0x41edec]
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.0041ca70
leave
ret