Function at 0x401850
Capabilities:
Accept command line arguments
Create directory
Set current directory

Disassembly:
mov eax, 0x3224
call fcn.00402890
push esi
push edi
push 0x200
lea eax, [esp + 0xe18]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0xe14]
push eax
lea ecx, [esp + 0x210]
call fcn.00401e60
push dword [esp + 0x610]
call fcn.00401c30
mov edi, dword [esp + 0x614]
add esp, 4
or eax, 0xffffffff
test edi, edi
jne 0x4018a6
xor esi, esi
jmp 0x4018cd
mov esi, edi
cmp byte [esi], 0
je 0x4018cb
inc esi
cmp byte [esi], 0
je 0x4018cb
inc esi
cmp byte [esi], 0
je 0x4018cb
inc esi
cmp byte [esi], 0
je 0x4018cb
inc esi
cmp byte [esi], 0
je 0x4018cb
inc esi
sub eax, 5
jne 0x4018a8
sub esi, edi
push 0xffffffffffffffff
push str.MTUNERINJECT_DEBUG
push esi
push edi
call section..text
add esp, 0x10
test eax, eax
jne 0x4018fb
push 0xffffffffffffffff
push str.MTUNERINJECT
push esi
push edi
call section..text
add esp, 0x10
test eax, eax
je 0x401beb
vmovdqu xmm0, xmmword [str.MTunerDLL32.dll]
vmovdqu xmmword [eax], xmm0
lea eax, [esp + 0xc]
push eax
call fcn.004011c0
lea ecx, [esp + 0x10]
add esp, 4
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x401920
mov eax, dword [str.MTuner]
mov dword [ecx], eax
mov eax, dword [0x418284]
mov dword [ecx + 4], eax
lea eax, [esp + 0xc]
push 1
push eax
lea ecx, [esp + 0x1a2c]
call fcn.00401d60
push 0
push dword [eax + 0x804]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [esp + 0x1a24]
call fcn.00401ee0
cmp dword [esp + 0x3230], 1
je 0x401be4
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push str.23
push eax
call fcn.00403324
add esp, 8
test eax, eax
je 0x401be4
lea esi, [eax + 8]
xor ecx, ecx
push str.23
push esi
mov word [eax - 2], cx
call fcn.00403324
xor ecx, ecx
lea edx, [esp + 0x2234]
add esp, 8
sub edx, esi
mov word [eax], cx
movzx ecx, word [esi]
lea esi, [esi + 2]
mov word [edx + esi - 2], cx
test cx, cx
jne 0x4019b5
push 4
lea esi, [eax + 0xa]
push str.23
push esi
call fcn.00407c51
add esp, 0xc
test eax, eax
jne 0x401be4
add esi, 8
push str.23
push esi
call fcn.00403324
mov edx, eax
add esp, 8
test edx, edx
je 0x401be4
xor eax, eax
lea ecx, [esp + 0x2a2c]
mov word [edx], ax
sub ecx, esi
nop dword [eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [ecx + esi - 2], ax
test ax, ax
jne 0x401a10
push 4
lea esi, [edx + 0xa]
push str.23
push esi
call fcn.00407c51
add esp, 0xc
test eax, eax
jne 0x401be4
add esi, 8
push str.23
push esi
call fcn.00403324
xor ecx, ecx
add esp, 8
mov word [eax], cx
lea ecx, [esp + 0x614]
sub ecx, esi
nop word [eax + eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [ecx + esi - 2], ax
test ax, ax
jne 0x401a60
lea ecx, [esp + 0x614]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x401a80
sub ecx, edx
sar ecx, 1
jne 0x401af3
xor ecx, ecx
movzx eax, word [esp + ecx + 0x222c]
lea ecx, [ecx + 2]
mov word [esp + ecx + 0x612], ax
test ax, ax
jne 0x401a93
lea ecx, [esp + 0x614]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x401ab5
sub ecx, edx
sar ecx, 1
movzx eax, word [esp + ecx*2 + 0x614]
mov edx, eax
cmp eax, 0x2f
je 0x401ae9
cmp dx, 0x5c
je 0x401ae9
movzx eax, word [esp + ecx*2 + 0x612]
dec ecx
mov edx, eax
cmp eax, 0x2f
jne 0x401ad3
xor eax, eax
mov word [esp + ecx*2 + 0x616], ax
lea eax, [esp + 0x614]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
je 0x401bf5
lea eax, [esp + 0x222c]
push 0x4182b8
push eax
call fcn.00405e59
add esp, 8
test eax, eax
je 0x401bff
push ebx
push eax
call fcn.0040607c
add esp, 4
mov dword [esp + 0xc], 0
lea eax, [esp + 0x618]
lea ecx, [esp + 0x1a28]
push eax
call fcn.00401e60
lea ecx, [esp + 0x1620]
mov ebx, dword [eax + 0x404]
lea eax, [esp + 0x2a30]
push eax
call fcn.00401e60
mov edi, dword [esp + 0x614]
lea ecx, [esp + 0x1218]
mov esi, dword [eax + 0x404]
lea eax, [esp + 0x2230]
push eax
call fcn.00401e60
lea ecx, [esp + 0xc]
push ecx
push ebx
mov eax, dword [eax + 0x404]
push esi
push edi
push eax
call fcn.004022c0
add esp, 0x14
lea ecx, [esp + 0x1218]
mov bl, al
call fcn.00401f00
lea ecx, [esp + 0x1620]
call fcn.00401f00
lea ecx, [esp + 0x1a28]
call fcn.00401f00
test bl, bl
pop ebx
je 0x401be4
mov esi, dword [esp + 8]
lea ecx, [esp + 0x20c]
call fcn.00401f00
pop edi
mov eax, esi
pop esi
add esp, 0x3224
ret
push 0
call fcn.00401170
push str.Could_not_locate_executable_
call fcn.00401170
push str.Could_not_change_working_directory_
call fcn.00401170
push str.Executable_doesnt_exist_
call fcn.00401170
int3