Function at 0x419eb1
Capabilities:
Accept command line arguments
Check if file exists
Create process on windows
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0x4424f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor edx, edx
mov dword [ebp - 0x23c], ecx
push esi
inc edx
lea ecx, [ebp - 0x234]
xor ebx, ebx
call fcn.0041fb21
test eax, eax
je 0x41a25f
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
push ecx
lea eax, [ebp - 0x238]
mov esi, 0x104
push eax
mov edx, esi
lea ecx, [ebp - 0x234]
call fcn.0040c15d
test eax, eax
js 0x41a25f
mov eax, dword [ebp - 0x238]
mov edx, esi
push ecx
push 0x402488
push ecx
lea ecx, [ebp - 0x234]
sub edx, eax
lea ecx, [ecx + eax*2]
call fcn.0040c1c3
test eax, eax
js 0x41a25f
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x41a25f
test al, 0x10
jne 0x41a25f
push edi
lea eax, [ebp - 0x234]
push 0x20
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
push 2
pop edi
push 0x22
pop ecx
test eax, eax
je 0x419ffa
cmp cx, word [ebp - 0x234]
je 0x419ffa
lea ecx, [ebp - 0x234]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x419f8c
sub ecx, edx
sar ecx, 1
push 2
pop edx
lea edi, [ecx + 5]
xor ecx, ecx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00440dea
mov esi, eax
pop ecx
test esi, esi
je 0x419fe3
lea eax, [ebp - 0x234]
push eax
push 0x4042c8
push edi
push esi
call fcn.0040c0e1
add esp, 0x10
lea ecx, [ebp - 0x234]
mov edx, 0x104
push esi
call fcn.0040c040
jmp 0x419fec
xor eax, eax
mov word [ebp - 0x234], ax
test esi, esi
je 0x419ff7
push esi
call fcn.00440db7
pop ecx
push 2
pop edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
mov dword [ebp - 0x238], esi
test esi, esi
je 0x41a249
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
ret
jne 0x41a015
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
xor ecx, ecx
mov dword [ebp - 0x240], eax
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00440dea
mov edi, eax
pop ecx
test edi, edi
je 0x41a0dd
mov edx, dword [ebp - 0x240]
mov ecx, edi
push esi
call fcn.0040c040
test eax, eax
js 0x41a0d6
push edi
call dword [sym.imp.msvcrt.dll__wcslwr]
mov dword [esp], 0x40390c
push edi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
mov ecx, eax
test eax, eax
je 0x41a087
add eax, 0x1a
push 0x22
pop edx
cmp dx, word [eax]
jne 0x41a0c1
lea eax, [ecx + 0x1c]
jmp 0x41a0c1
push 0x403928
push edi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41a0d0
add eax, 0x12
push 0x402488
push eax
mov dword [ebp - 0x240], eax
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41a0bb
sub eax, edi
add eax, 0x18
jmp 0x41a0c3
mov eax, dword [ebp - 0x240]
sub eax, edi
sar eax, 1
lea esi, [esi + eax*2]
mov dword [ebp - 0x238], esi
jmp 0x41a0d6
mov dword [ebp - 0x238], ebx
push edi
call fcn.00440db7
pop ecx
mov eax, dword [ebp - 0x23c]
lea edi, [ebp - 0x1c]
mov esi, 0x40393c
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
test eax, eax
je 0x41a19d
cmp word [eax], bx
je 0x41a19d
mov esi, 0x403954
lea edi, [ebp - 0x2c]
lea edx, [ebp - 0x1c]
push 2
lea ecx, [edx + 2]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
mov ax, word [edx]
add edx, edi
cmp ax, bx
jne 0x41a119
sub edx, ecx
lea ecx, [ebp - 0x2c]
sar edx, 1
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x41a12d
sub ecx, esi
mov esi, dword [ebp - 0x23c]
sar ecx, 1
lea edi, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x41a144
lea eax, [edx + 1]
sub esi, edi
add eax, ecx
sar esi, 1
add esi, eax
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00440dea
mov edi, eax
pop ecx
test edi, edi
je 0x41a23d
lea eax, [ebp - 0x1c]
mov edx, esi
push eax
mov ecx, edi
call fcn.0040c040
lea eax, [ebp - 0x2c]
mov edx, esi
push eax
mov ecx, edi
call fcn.0040c075
mov eax, dword [ebp - 0x23c]
jmp 0x41a215
mov esi, dword [ebp - 0x238]
test esi, esi
je 0x41a243
mov ecx, esi
push 2
pop edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x41a1b3
sub ecx, edx
lea edx, [ebp - 0x1c]
sar ecx, 1
lea edi, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x41a1c7
sub edx, edi
lea eax, [ecx + 1]
sar edx, 1
xor ecx, ecx
add eax, edx
push 2
pop edx
mov dword [ebp - 0x23c], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00440dea
mov edi, eax
pop ecx
test edi, edi
je 0x41a243
mov edx, dword [ebp - 0x23c]
lea eax, [ebp - 0x1c]
push eax
mov ecx, edi
call fcn.0040c040
mov eax, esi
mov esi, dword [ebp - 0x23c]
push eax
mov edx, esi
mov ecx, edi
call fcn.0040c075
push 0xa
push ebx
push edi
lea eax, [ebp - 0x234]
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push edi
mov ebx, eax
call fcn.00440db7
pop ecx
jmp 0x41a25e
mov esi, dword [ebp - 0x238]
push 0xa
push ebx
push esi
jmp 0x41a24d
push 0xa
push ebx
push ebx
lea eax, [ebp - 0x234]
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ebx, eax
pop edi
mov ecx, dword [ebp - 4]
push 0x20
pop eax
cmp eax, ebx
pop esi
sbb eax, eax
xor ecx, ebp
neg eax
pop ebx
call fcn.00441130
leave
ret