Function at 0x40e23b
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 0x40e2b0
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 0x40e294
cmp ax, bx
jne 0x40e27c
cmp ax, bx
mov ebx, dword [ebp - 0x210]
jne 0x40e2ab
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
movzx eax, cx
jmp 0x40e2d1
mov eax, edx
cmp dx, cx
jbe 0x40e2d1
push 0x20
pop ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
cmp ax, bx
ja 0x40e2ba
mov ebx, dword [ebp - 0x210]
test ax, ax
je 0x40e2fa
push 0x20
movzx ecx, ax
pop ebx
cmp cx, bx
ja 0x40e2f4
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x40e2dc
mov ebx, dword [ebp - 0x210]
movzx eax, word [esi]
push 0x20
pop edx
mov ecx, eax
cmp ax, dx
jne 0x40e322
push edx
pop ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
cmp ax, bx
je 0x40e309
mov ebx, dword [ebp - 0x210]
mov ecx, eax
cmp cx, 0x2f
je 0x40e332
cmp cx, 0x2d
jne 0x40e3e6
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
test ax, ax
je 0x40e2fa
mov ecx, eax
push 0x20
pop eax
cmp cx, ax
je 0x40e2fa
movzx eax, cx
cmp eax, 0x61
ja 0x40e3ca
je 0x40e3a3
sub eax, 0x41
je 0x40e3a3
sub eax, 4
je 0x40e3af
sub eax, 7
je 0x40e4c0
sub eax, 1
je 0x40e3db
sub eax, 5
je 0x40e4c0
sub eax, 1
je 0x40e3cf
dec eax
sub eax, 1
jne 0x40e3b2
push 0xb
push 0x401d6c
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e3b2
push eax
push 0x401d84
jmp 0x40e4db
mov eax, dword [0x45ef88]
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 0x40e345
jmp 0x40e2fa
sub eax, 0x65
jmp 0x40e35f
mov dword [ebp - 0x214], 1
jmp 0x40e3b2
mov eax, dword [0x45ef88]
and dword [eax + 0x50], 0
jmp 0x40e3b2
cmp ebx, 1
jne 0x40e401
cmp dword [ebp - 0x214], 0
je 0x40e48c
test cx, cx
je 0x40e48c
test edi, edi
jne 0x40e46d
test cx, cx
jne 0x40e411
xor eax, eax
jmp 0x40e4ea
mov ecx, esi
call fcn.0040eaeb
mov esi, eax
cmp ebx, 1
jne 0x40e425
test esi, esi
jne 0x40e429
jmp 0x40e48c
test esi, esi
je 0x40e468
mov edi, 0x104
push edi
lea eax, [ebp - 0x20c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x40e44b
cmp eax, edi
jae 0x40e44b
lea esi, [ebp - 0x20c]
push 0
push esi
push dword [ebp - 0x214]
push 0
call fcn.0040affa
xor ecx, ecx
call fcn.0040eaeb
mov esi, eax
test esi, esi
jne 0x40e42e
xor eax, eax
inc eax
jmp 0x40e4ea
mov ecx, esi
call fcn.0040eaeb
xor ecx, ecx
mov esi, eax
call fcn.0040eaeb
mov edi, eax
cmp ebx, 1
jne 0x40e4a4
test esi, esi
je 0x40e48c
test edi, edi
jne 0x40e4a4
push 0x10
push 0x10
push 0x28
push 0
push dword [0x41edf4]
call fcn.0040eb70
add esp, 0x14
jmp 0x40e4e7
xor ecx, ecx
call fcn.0040eaeb
test eax, eax
jne 0x40e4e7
push edi
push esi
push ecx
mov ecx, dword [0x45ef88]
push eax
call fcn.0040b586
jmp 0x40e4e7
push 9
push 0x401d48
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e4e7
push eax
push 0x401d5c
push dword [0x41edf4]
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.0041cc10
leave
ret