Function at 0x41ca92
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.00442470
mov eax, dword [0x4434f4]
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 0x41caff
cmp dword [eax + 0x4c], ebx
jne 0x41cb2f
cmp dword [eax + 0x40], 5
je 0x41cb2f
cmp dword [0x443534], 0xffffffff
push 2
pop edi
jne 0x41cb19
push ecx
mov edx, edi
call fcn.0041e530
mov edx, 0x403c3c
mov ecx, edi
call fcn.0041e988
mov eax, 0x8000ffff
jmp 0x41d0f8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x403c70
push 4
call fcn.0041ea5f
add esp, 0xc
push 0x403ca4
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
mov dword [ebp - 0x10e0], edi
test edi, edi
je 0x41cc4c
push 0x403cb4
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
mov dword [ebp - 0x10d4], eax
test ebx, ebx
jne 0x41cba2
push 0x403cc8
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
mov dword [ebp - 0x10d4], ebx
test ebx, ebx
jne 0x41cba2
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [ebp - 0x10e0], esi
jmp 0x41cc4c
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x41cc46
push 0x403cdc
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41cbce
mov dword [ebp - 0x10d8], 1
push 0x4022c0
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41cbe5
xor esi, esi
inc esi
jmp 0x41cc4c
push 0x403cfc
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x41cc1b
push 0x4023f0
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x41cc1b
push 0x401cd4
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x41cc46
cmp dword [0x443534], 0xffffffff
jne 0x41cc2d
push ecx
push 4
pop edx
call fcn.0041e530
push 4
mov edx, 0x403d2c
pop ecx
call fcn.0041e988
xor ebx, ebx
mov dword [ebp - 0x10d4], ebx
mov esi, ebx
jmp 0x41cc4c
mov esi, dword [ebp - 0x10d0]
xor eax, eax
lea ecx, [ebp - 0x48]
cmp dword [ebp - 0x10d8], eax
push 0x403d5c
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.0041c6b9
lea eax, [ebp - 0x258]
mov edi, 0x105
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x41cd6f
call fcn.0042d9f9
push ecx
test eax, eax
lea ecx, [ebp - 0x258]
lea eax, [ebp - 0x10d0]
mov edx, edi
push eax
je 0x41ccd1
call fcn.0040c131
test eax, eax
js 0x41cd6f
push ecx
push 0x403d6c
jmp 0x41cce4
call fcn.0040c131
test eax, eax
js 0x41cd6f
push ecx
push 0x403d88
mov eax, dword [ebp - 0x10d0]
mov edx, edi
push ecx
lea ecx, [ebp - 0x258]
sub edx, eax
lea ecx, [ecx + eax*2]
call fcn.0040c197
test eax, eax
js 0x41cd6f
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x41cd17
test al, 0x10
je 0x41cd2a
test esi, esi
jne 0x41cd2a
push edi
lea eax, [ebp - 0x468]
push eax
push 0x81
jmp 0x41cd59
call fcn.00422a0e
call fcn.00435675
test eax, eax
je 0x41cd4c
call fcn.0041fb3a
mov dword [0x443674], eax
mov dword [0x44367c], 1
push edi
lea eax, [ebp - 0x468]
push eax
push 0xd6
push dword [0x443af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
lea eax, [ebp - 0x468]
jg 0x41cd74
mov eax, 0x403da0
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x10b8]
push 0x3f
push eax
call fcn.0041c725
add esp, 0x10
push 2
pop edi
test ebx, ebx
je 0x41cf62
cmp dword [0x444f94], 0
je 0x41cdd9
push 0x100
lea eax, [ebp - 0x668]
push eax
push 0xb5
push dword [0x443af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x41cdd9
lea eax, [ebp - 0x668]
push eax
push 0
push 0x5d5
push dword [0x444f94]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x443534], 0xffffffff
jne 0x41cdef
push ecx
push 4
pop esi
mov edx, esi
call fcn.0041e530
jmp 0x41cdf2
push 4
pop esi
mov edx, 0x403dd0
mov ecx, esi
call fcn.0041e988
lea eax, [ebp - 0x1074]
mov ecx, ebx
push eax
lea eax, [ebp - 0x10c8]
push eax
call dword [0x446624]
call ebx
test eax, eax
jne 0x41cf45
mov eax, dword [ebp - 0x1074]
xor ebx, ebx
mov dword [ebp - 0x10d4], ebx
cmp eax, 0x78
jne 0x41ce4c
cmp dword [0x443534], 0xffffffff
jne 0x41ce42
push ecx
mov edx, esi
call fcn.0041e530
mov edx, 0x403e08
jmp 0x41cf5b
cmp eax, 0x422
je 0x41ceb2
cmp eax, 0x70
je 0x41ce9a
cmp eax, 0x50
jne 0x41ce7a
cmp dword [0x443534], 0xffffffff
jne 0x41ce6e
push ecx
mov edx, edi
call fcn.0041e530
mov edx, 0x403eb4
mov ecx, edi
jmp 0x41cf5d
test eax, eax
jle 0x41ce86
movzx eax, ax
or eax, 0x80070000
push eax
push 0x403ef0
push edi
call fcn.0041ea5f
add esp, 0xc
jmp 0x41cf62
cmp dword [0x443534], 0xffffffff
jne 0x41ceab
push ecx
mov edx, esi
call fcn.0041e530
mov edx, 0x403e70
jmp 0x41cec8
cmp dword [0x443534], 0xffffffff
jne 0x41cec3
push ecx
mov edx, esi
call fcn.0041e530
mov edx, 0x403e3c
mov ecx, esi
call fcn.0041e988
mov esi, dword [ebp - 0x10cc]
cmp dword [esi + 0x48], ebx
jne 0x41cf68
push 0x400
lea eax, [ebp - 0x1068]
push eax
push 0xa1
push dword [0x443af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x41cf3b
push 0x200
lea eax, [ebp - 0x868]
push eax
push 0x64
push dword [0x443af0]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x41cf3b
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 0x41cf68
mov eax, 0x80004005
jmp 0x41d0f8
cmp dword [0x443534], 0xffffffff
jne 0x41cf56
push ecx
mov edx, esi
call fcn.0041e530
mov edx, 0x403f2c
mov ecx, esi
call fcn.0041e988
mov esi, dword [ebp - 0x10cc]
cmp dword [esi + 0x40], 5
je 0x41cf79
lea ecx, [ebp - 0x10dc]
call fcn.0041c7d4
call fcn.0041fb8b
mov eax, dword [0x443678]
and eax, 8
push eax
push ecx
push ecx
mov ecx, dword [esi]
call fcn.0042ade7
mov ebx, eax
push ebx
push 0x403f48
push 4
call fcn.0041ea5f
add esp, 0xc
cmp dword [ebp - 0x10dc], 0
je 0x41cfb6
push ecx
mov edx, 0x403b04
call fcn.00433407
test ebx, ebx
js 0x41d04d
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x41d04d
mov esi, dword [ecx]
test esi, esi
jne 0x41cfda
call fcn.00430e7b
mov esi, eax
test esi, esi
je 0x41d04d
cmp dword [esi + 0xa0], 0
je 0x41d04d
cmp dword [esi + 0xa8], 0
je 0x41d04d
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x41cff8
mov eax, 0x4015c0
push eax
push 0x403f70
push 4
call fcn.0041ea5f
add esp, 0xc
mov ecx, esi
call fcn.0042e5d2
mov ecx, 0xd2af9
cmp eax, 0xbc2
je 0x41d02e
cmp eax, 0x80070bc2
je 0x41d02e
cmp eax, ecx
je 0x41d02e
test eax, eax
jns 0x41d030
mov ebx, eax
jmp 0x41d030
mov ebx, ecx
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x41d03c
mov ecx, 0x4015c0
push eax
push ecx
push 0x403f8c
push 4
call fcn.0041ea5f
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 0x41d0e5
lea eax, [ebp - 0x1074]
mov ecx, esi
push eax
lea eax, [ebp - 0x10c8]
push eax
call dword [0x446624]
call esi
test eax, eax
jne 0x41d0c6
mov eax, dword [ebp - 0x1074]
test eax, eax
jle 0x41d0b5
movzx eax, ax
or eax, 0x80070000
push eax
push 0x403fb4
push edi
call fcn.0041ea5f
add esp, 0xc
jmp 0x41d0e5
cmp dword [0x443534], 0xffffffff
jne 0x41d0d8
push ecx
push 4
pop edx
call fcn.0041e530
push 4
mov edx, 0x403fec
pop ecx
call fcn.0041e988
mov eax, dword [ebp - 0x10e0]
test eax, eax
je 0x41d0f6
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.00441b90
mov esp, ebp
pop ebp
ret