Function at 0x42a1c0
Capabilities:
Accept command line arguments
Check if file exists
Get file attributes

Disassembly:
mov eax, 0x1468
call fcn.004b9d80
cmp dword [esp + 0x1470], 0
mov al, byte [esp + 0x1474]
push ebx
push ebp
mov ebp, dword [esp + 0x1474]
push esi
push edi
mov byte [ebp + 0xaf6], al
jne 0x42a368
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x106
lea ecx, [esp + 0x3c]
push ecx
push 0
call ebx
cmp eax, 0x104
ja 0x42a396
mov edi, dword [sym.imp.MSVCR100.dll_wcsrchr]
lea edx, [esp + 0x38]
push 0x5c
push edx
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42a396
push 0x2e
push esi
call edi
add esp, 8
test eax, eax
je 0x42a396
mov ecx, str..ahk
mov edx, eax
sub edx, ecx
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
test ax, ax
jne 0x42a244
cmp dword [0x4e7ebc], 0
lea eax, [esp + 0x38]
mov dword [esp + 0x1480], eax
jne 0x42a3ab
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
push ecx
call ebx
cmp eax, 0xffffffff
jne 0x42a368
lea edx, [esp + 0x268]
mov eax, edx
push 0x4bd2c4
push eax
mov dword [esp + 0x1488], edx
call fcn.0045f2b0
mov ecx, esi
add esp, 8
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x42a2a2
sub ecx, edi
sar ecx, 1
lea ecx, [ecx + eax + 1]
cmp ecx, 0x105
ja 0x42a396
lea edx, [eax + eax]
sub edx, esi
mov ecx, esi
lea edx, [esp + edx + 0x268]
nop
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
test ax, ax
jne 0x42a2d0
lea eax, [esp + 0x268]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x42a368
mov eax, 0x4d488c
mov edx, esi
sub edx, eax
jmp 0x42a300
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x42a300
lea ecx, [esp + 0x38]
push ecx
call ebx
cmp eax, 0xffffffff
je 0x42a368
lea edx, [esp + 0x38]
push edx
push str._ms_its:_s::_docs_Welcome.htm_
lea eax, [esp + 0x480]
push 0x800
push eax
call dword [sym.imp.MSVCR100.dll__snwprintf]
add esp, 0x10
push 0
push 0
push 0
push 0
push 0x4d48ec
push 0
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x494]
push edx
mov eax, ebp
push eax
mov edx, str.hh.exe
call fcn.0044ab30
test eax, eax
jne 0x42a396
cmp dword [0x4e7ebc], 0
jne 0x42a3a5
mov esi, dword [esp + 0x1480]
push 0
lea ecx, [esp + 0x47c]
push ecx
push 0x800
push esi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
jne 0x42a519
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1468
ret 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x800
lea edx, [esp + 0x47c]
push edx
push 0
call ebx
test eax, eax
jne 0x42a3d1
push 0x800
lea eax, [esp + 0x47c]
push eax
push 0
call ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
push str.NtQueryInformationProcess
mov esi, eax
push str.ntdll.dll
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x1c]
push ecx
push 0x18
lea edx, [esp + 0x28]
push edx
push 0
push esi
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
cmp word [ecx + 0x40], 0
je 0x42a50b
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov ecx, dword [ecx + 0x44]
push edx
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebp, eax
mov eax, dword [esp + 0x14]
cmp eax, 1
jle 0x42a4f9
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x10]
cmp word [ecx + 0x40], 0
je 0x42a4f9
mov ebx, 1
cmp eax, ebx
jle 0x42a4f9
mov edi, dword [sym.imp.MSVCR100.dll_wcsncmp]
mov esi, dword [ebp + ebx*4]
push 1
push 0x4d4904
push esi
call edi
add esp, 0xc
test eax, eax
je 0x42a496
push 1
push 0x4d4908
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x42a49f
inc ebx
cmp ebx, dword [esp + 0x14]
jl 0x42a470
jmp 0x42a4f9
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x42a4db
push 0x800
lea edx, [esp + 0x47c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x42a4f9
push 0x800
lea eax, [esp + 0x47c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
jmp 0x42a4f9
push 0
lea ecx, [esp + 0x47c]
push ecx
push 0x800
push esi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x42a396
push ebp
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x147c]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x1480]
cmp word [esi], 0x2a
jne 0x42a543
cmp word [esi + 2], 0
jne 0x42a543
mov byte [0x4e8013], 1
mov dword [0x4e8044], 4
mov dword [0x4e4a28], 1
jmp 0x42a556
lea ebx, [esp + 0x478]
mov byte [0x4e8013], 0
call fcn.0049f460
lea edx, [esp + 0x478]
push edx
or ecx, 0xffffffff
call fcn.0049b510
add esp, 4
mov dword [ebp + 0xadc], eax
test eax, eax
je 0x42a396
mov ebx, dword [sym.imp.MSVCR100.dll_wcsrchr]
lea eax, [esp + 0x478]
push 0x5c
push eax
call ebx
mov esi, eax
add esp, 8
test esi, esi
je 0x42a5bd
xor ecx, ecx
lea edx, [esp + 0x478]
mov word [esi], cx
push edx
or ecx, 0xffffffff
call fcn.0049b510
add esp, 4
mov dword [ebp + 0xae0], eax
test eax, eax
je 0x42a396
add esi, 2
jmp 0x42a5c4
lea esi, [esp + 0x478]
push esi
or ecx, 0xffffffff
call fcn.0049b510
add esp, 4
mov dword [ebp + 0xae4], eax
test eax, eax
je 0x42a396
push 0x4d490c
push eax
mov eax, dword [ebp + 0xae0]
push eax
push str._s_s____s
mov esi, 0x800
lea edi, [esp + 0x488]
call fcn.0049e5c0
mov ecx, edi
push ecx
or ecx, 0xffffffff
call fcn.0049b510
mov esi, dword [esp + 0x1490]
add esp, 0x14
mov dword [esi + 0xaf0], eax
test eax, eax
je 0x42a396
push 0x7fe
lea eax, [esp + 0x47e]
push eax
mov edx, 0x22
push 0
mov word [esp + 0x484], dx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x42a6dd
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42a653
sub eax, edx
sar eax, 1
mov ecx, 0x22
mov word [esp + eax*2 + 0x478], cx
xor edx, edx
mov word [esp + eax*2 + 0x47a], dx
lea eax, [esp + 0x478]
push eax
or ecx, 0xffffffff
call fcn.0049b510
add esp, 4
mov dword [esi + 0xae8], eax
test eax, eax
je 0x42a396
lea ecx, [esp + 0x478]
push 0x5c
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x42a6b7
mov dword [esi + 0xaec], 0x4bd2c4
xor edx, edx
mov word [eax], dx
lea eax, [esp + 0x47a]
push eax
or ecx, 0xffffffff
call fcn.0049b510
add esp, 4
mov dword [esi + 0xaec], eax
test eax, eax
je 0x42a396
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1468
ret 0xc