Function at 0x41c8f8
Capabilities:
Accept command line arguments
Check if file exists
Get common file path
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x10e4
call fcn.004419d0
mov eax, dword [0x4424f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x10cc], ecx
push edi
push 0x50
mov ebx, eax
mov dword [ebp - 0x10d8], eax
mov esi, eax
mov dword [ebp - 0x10dc], eax
push eax
lea eax, [ebp - 0x10c8]
mov dword [ebp - 0x10d4], ebx
push eax
mov dword [ebp - 0x10d0], esi
call sub.msvcrt.dll_memset
xor eax, eax
lea edi, [ebp - 0x1074]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10cc]
cmp dword [eax + 0xc], ebx
je 0x41c965
cmp dword [eax + 0x4c], ebx
jne 0x41c995
cmp dword [eax + 0x40], 5
je 0x41c995
cmp dword [0x442534], 0xffffffff
push 2
pop edi
jne 0x41c97f
push ecx
mov edx, edi
call fcn.0041e30f
mov edx, 0x403c4c
mov ecx, edi
call fcn.0041e767
mov eax, 0x8000ffff
jmp 0x41cf5e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x403c80
push 4
call fcn.0041e83a
add esp, 0xc
push 0x403cb4
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
mov dword [ebp - 0x10e0], edi
test edi, edi
je 0x41cab2
push 0x403cc4
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
mov dword [ebp - 0x10d4], eax
test ebx, ebx
jne 0x41ca08
push 0x403cd8
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
mov dword [ebp - 0x10d4], ebx
test ebx, ebx
jne 0x41ca08
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [ebp - 0x10e0], esi
jmp 0x41cab2
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x41caac
push 0x403cec
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41ca34
mov dword [ebp - 0x10d8], 1
push 0x4022d0
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41ca4b
xor esi, esi
inc esi
jmp 0x41cab2
push 0x403d0c
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x41ca81
push 0x402400
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x41ca81
push 0x401ce4
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41caac
cmp dword [0x442534], 0xffffffff
jne 0x41ca93
push ecx
push 4
pop edx
call fcn.0041e30f
push 4
mov edx, 0x403d3c
pop ecx
call fcn.0041e767
xor ebx, ebx
mov dword [ebp - 0x10d4], ebx
mov esi, ebx
jmp 0x41cab2
mov esi, dword [ebp - 0x10d0]
xor eax, eax
lea ecx, [ebp - 0x48]
cmp dword [ebp - 0x10d8], eax
push 0x403d6c
setne al
push 0x40
pop edx
lea eax, [eax*2 + 0x64]
mov dword [ebp - 0x10c8], eax
xor eax, eax
mov dword [ebp - 0x10c4], eax
mov dword [ebp - 0x10c0], eax
mov dword [ebp - 0x10bc], eax
call fcn.0041c519
lea eax, [ebp - 0x258]
mov edi, 0x105
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x41cbd5
call fcn.0042d4bd
push ecx
test eax, eax
lea ecx, [ebp - 0x258]
lea eax, [ebp - 0x10d0]
mov edx, edi
push eax
je 0x41cb37
call fcn.0040c15d
test eax, eax
js 0x41cbd5
push ecx
push 0x403d7c
jmp 0x41cb4a
call fcn.0040c15d
test eax, eax
js 0x41cbd5
push ecx
push 0x403d98
mov eax, dword [ebp - 0x10d0]
mov edx, edi
push ecx
lea ecx, [ebp - 0x258]
sub edx, eax
lea ecx, [ecx + eax*2]
call fcn.0040c1c3
test eax, eax
js 0x41cbd5
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x41cb7d
test al, 0x10
je 0x41cb90
test esi, esi
jne 0x41cb90
push edi
lea eax, [ebp - 0x468]
push eax
push 0x81
jmp 0x41cbbf
call fcn.00422722
call fcn.0043502b
test eax, eax
je 0x41cbb2
call fcn.0041f8bf
mov dword [0x442674], eax
mov dword [0x44267c], 1
push edi
lea eax, [ebp - 0x468]
push eax
push 0xd6
push dword [0x442af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
lea eax, [ebp - 0x468]
jg 0x41cbda
mov eax, 0x403db0
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x10b8]
push 0x3f
push eax
call fcn.0041c585
add esp, 0x10
push 2
pop edi
test ebx, ebx
je 0x41cdc8
cmp dword [0x443f94], 0
je 0x41cc3f
push 0x100
lea eax, [ebp - 0x668]
push eax
push 0xb5
push dword [0x442af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x41cc3f
lea eax, [ebp - 0x668]
push eax
push 0
push 0x5d5
push dword [0x443f94]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x442534], 0xffffffff
jne 0x41cc55
push ecx
push 4
pop esi
mov edx, esi
call fcn.0041e30f
jmp 0x41cc58
push 4
pop esi
mov edx, 0x403de0
mov ecx, esi
call fcn.0041e767
lea eax, [ebp - 0x1074]
mov ecx, ebx
push eax
lea eax, [ebp - 0x10c8]
push eax
call dword [0x445628]
call ebx
test eax, eax
jne 0x41cdab
mov eax, dword [ebp - 0x1074]
xor ebx, ebx
mov dword [ebp - 0x10d4], ebx
cmp eax, 0x78
jne 0x41ccb2
cmp dword [0x442534], 0xffffffff
jne 0x41cca8
push ecx
mov edx, esi
call fcn.0041e30f
mov edx, 0x403e18
jmp 0x41cdc1
cmp eax, 0x422
je 0x41cd18
cmp eax, 0x70
je 0x41cd00
cmp eax, 0x50
jne 0x41cce0
cmp dword [0x442534], 0xffffffff
jne 0x41ccd4
push ecx
mov edx, edi
call fcn.0041e30f
mov edx, 0x403ec4
mov ecx, edi
jmp 0x41cdc3
test eax, eax
jle 0x41ccec
movzx eax, ax
or eax, 0x80070000
push eax
push 0x403f00
push edi
call fcn.0041e83a
add esp, 0xc
jmp 0x41cdc8
cmp dword [0x442534], 0xffffffff
jne 0x41cd11
push ecx
mov edx, esi
call fcn.0041e30f
mov edx, 0x403e80
jmp 0x41cd2e
cmp dword [0x442534], 0xffffffff
jne 0x41cd29
push ecx
mov edx, esi
call fcn.0041e30f
mov edx, 0x403e4c
mov ecx, esi
call fcn.0041e767
mov esi, dword [ebp - 0x10cc]
cmp dword [esi + 0x48], ebx
jne 0x41cdce
push 0x400
lea eax, [ebp - 0x1068]
push eax
push 0xa1
push dword [0x442af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x41cda1
push 0x200
lea eax, [ebp - 0x868]
push eax
push 0x64
push dword [0x442af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x41cda1
push 0x1011
lea eax, [ebp - 0x868]
push eax
lea eax, [ebp - 0x1068]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, edi
jne 0x41cdce
mov eax, 0x80004005
jmp 0x41cf5e
cmp dword [0x442534], 0xffffffff
jne 0x41cdbc
push ecx
mov edx, esi
call fcn.0041e30f
mov edx, 0x403f3c
mov ecx, esi
call fcn.0041e767
mov esi, dword [ebp - 0x10cc]
cmp dword [esi + 0x40], 5
je 0x41cddf
lea ecx, [ebp - 0x10dc]
call fcn.0041c634
call fcn.0041f90e
mov eax, dword [0x442678]
and eax, 8
push eax
push ecx
push ecx
mov ecx, dword [esi]
call fcn.0042a97a
mov ebx, eax
push ebx
push 0x403f58
push 4
call fcn.0041e83a
add esp, 0xc
cmp dword [ebp - 0x10dc], 0
je 0x41ce1c
push ecx
mov edx, 0x403b14
call fcn.00432def
test ebx, ebx
js 0x41ceb3
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x41ceb3
mov esi, dword [ecx]
test esi, esi
jne 0x41ce40
call fcn.00430888
mov esi, eax
test esi, esi
je 0x41ceb3
cmp dword [esi + 0xa0], 0
je 0x41ceb3
cmp dword [esi + 0xa8], 0
je 0x41ceb3
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x41ce5e
mov eax, 0x4015d0
push eax
push 0x403f80
push 4
call fcn.0041e83a
add esp, 0xc
mov ecx, esi
call fcn.0042e040
mov ecx, 0xd2af9
cmp eax, 0xbc2
je 0x41ce94
cmp eax, 0x80070bc2
je 0x41ce94
cmp eax, ecx
je 0x41ce94
test eax, eax
jns 0x41ce96
mov ebx, eax
jmp 0x41ce96
mov ebx, ecx
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x41cea2
mov ecx, 0x4015d0
push eax
push ecx
push 0x403f9c
push 4
call fcn.0041e83a
add esp, 0x10
mov esi, dword [ebp - 0x10d4]
xor eax, eax
cmp dword [ebp - 0x10d8], eax
setne al
lea eax, [eax*2 + 0x65]
mov dword [ebp - 0x10c8], eax
mov eax, dword [ebp - 0x1070]
mov dword [ebp - 0x10c0], eax
mov eax, dword [ebp - 0x106c]
mov dword [ebp - 0x10bc], eax
test esi, esi
je 0x41cf4b
lea eax, [ebp - 0x1074]
mov ecx, esi
push eax
lea eax, [ebp - 0x10c8]
push eax
call dword [0x445628]
call esi
test eax, eax
jne 0x41cf2c
mov eax, dword [ebp - 0x1074]
test eax, eax
jle 0x41cf1b
movzx eax, ax
or eax, 0x80070000
push eax
push 0x403fc4
push edi
call fcn.0041e83a
add esp, 0xc
jmp 0x41cf4b
cmp dword [0x442534], 0xffffffff
jne 0x41cf3e
push ecx
push 4
pop edx
call fcn.0041e30f
push 4
mov edx, 0x403ffc
pop ecx
call fcn.0041e767
mov eax, dword [ebp - 0x10e0]
test eax, eax
je 0x41cf5c
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00441130
leave
ret