Function at 0x140028bc0
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
push rbp
push rbx
push r12
lea rbp, [rsp - 0x10370]
mov eax, 0x10470
call fcn.1400e0960
sub rsp, rax
mov r12, rdx
mov rbx, rcx
lea rdx, [rbp + 0x360]
mov r8d, 0x8000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, eax
mov qword [rbp + 0x103a0], rdx
test eax, eax
je 0x140028c6f
cmp rdx, 0x8000
jne 0x140028c19
xor eax, eax
add rsp, 0x10470
pop r12
pop rbx
pop rbp
ret
lea rcx, [rbp + 0x360]
call fcn.1400b5e60
mov qword [rbx + 0xb98], rax
test rax, rax
je 0x140028c0b
lea rcx, [rbp + 0x360]
mov edx, 0x5c
call fcn.1400d763c
test rax, rax
je 0x140028c6f
lea rcx, [rbp + 0x360]
sub rax, rcx
lea rcx, [rbp + 0x360]
sar rax, 1
mov rdx, rax
call fcn.1400b5e60
mov qword [rbx + 0xba0], rax
test rax, rax
je 0x140028c0b
mov qword [rsp + 0x10490], rsi
mov qword [rsp + 0x10498], rdi
mov qword [rsp + 0x10468], r13
xor r13d, r13d
mov qword [rsp + 0x10460], r14
lea r14, [0x1400f1524]
test r12, r12
jne 0x140028df6
lea edx, [r13 + 0x5c]
lea rcx, [rbp + 0x360]
call fcn.1400d763c
mov rsi, rax
test rax, rax
je 0x140028f95
lea edx, [r13 + 0x2e]
mov rcx, rax
call fcn.1400d763c
mov rdx, rax
test rax, rax
je 0x140028f95
lea rax, [rbp + 0x360]
mov rcx, rdx
sub rcx, rax
sar rcx, 1
add rcx, 5
cmp rcx, 0x8000
jae 0x140028f95
lea rcx, str..qwe
sub rdx, rcx
movzx eax, word [rcx]
add rcx, 2
mov word [rdx + rcx - 2], ax
test ax, ax
jne 0x140028d01
lea rcx, [rbp + 0x360]
lea r12, [rbp + 0x360]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140028df6
lea rcx, [rsp + 0x50]
mov rdx, r14
lea r12, [rsp + 0x50]
call fcn.140076940
or rcx, 0xffffffffffffffff
mov rdi, rsi
mov r11, rax
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rdx, [rcx + r11]
cmp rdx, 0x201
ja 0x140028ffb
lea rax, [r11 + r11]
sub rax, rsi
lea rcx, [rsp + rax + 0x50]
movzx eax, word [rsi]
add rsi, 2
mov word [rcx + rsi - 2], ax
test ax, ax
jne 0x140028d70
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140028df6
mov rcx, qword [rbx + 0xba0]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea rcx, str.AutoHotkey.chm
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140028df6
mov qword [rsp + 0x48], r13
mov byte [rsp + 0x40], r13b
mov byte [rsp + 0x38], r13b
lea rax, [0x1400f86d8]
mov qword [rsp + 0x30], r13
lea r8, str._ms_its:AutoHotkey.chm::_docs_Welcome.htm_
mov qword [rsp + 0x28], rax
lea rdx, str.hh.exe
xor r9d, r9d
mov rcx, rbx
mov byte [rsp + 0x20], r13b
call fcn.14004f8e0
test eax, eax
jne 0x140028f95
cmp word [r12], 0x2a
jne 0x140028e43
cmp word [r12 + 2], r13w
jne 0x140028e30
mov dword [rbx + 0xbb0], 2
mov dword [rbp + 0x360], gethostbyaddr
mov dword [0x14012ac34], 4
mov dword [0x14012ac48], 1
jmp 0x140028e4a
mov dword [rbx + 0xbb0], 1
mov byte [0x140124b22], r13b
jmp 0x140028e4a
mov dword [rbx + 0xbb0], r13d
lea rax, [rbp + 0x360]
cmp r12, rax
je 0x140028e95
cmp dword [rbx + 0xbb0], 1
je 0x140028e95
lea r8, [rbp + 0x360]
xor r9d, r9d
mov edx, 0x8000
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov edx, eax
mov qword [rbp + 0x103a0], rdx
test eax, eax
je 0x140028f95
cmp rdx, 0x8000
jae 0x140028f95
cmp dword [rbx + 0xbb0], 2
je 0x140028eb1
lea rdx, [rbp + 0x103a0]
lea rcx, [rbp + 0x360]
call fcn.1400ba3f0
cmp word [rbp + 0x360], r13w
je 0x140028f23
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x360]
repne scasw ax, word [rdi]
not rcx
lea rdi, [rcx + rcx - 2]
lea rsi, [rcx - 1]
lea rcx, [rdi + 2]
call fcn.1400b5f20
mov r14, rax
test rax, rax
jne 0x140028f07
lea r8, [rbp + 0x360]
lea rdx, str.Out_of_memory.
lea rcx, [0x14012c5c0]
call fcn.14004e450
mov r14, r13
jmp 0x140028f23
test rsi, rsi
je 0x140028f1e
lea rdx, [rbp + 0x360]
mov r8, rdi
mov rcx, rax
call fcn.1400d78b0
mov word [rdi + r14], r13w
mov qword [rbx + 0xb80], r14
test r14, r14
je 0x140028f95
lea rcx, [rbp + 0x360]
mov edx, 0x5c
call fcn.1400d763c
mov rdi, rax
test rax, rax
je 0x140028f76
lea rax, [rbp + 0x360]
mov rdx, rdi
lea rcx, [rbp + 0x360]
sub rdx, rax
sar rdx, 1
call fcn.1400b5e60
mov qword [rbx + 0xb88], rax
test rax, rax
je 0x140028f95
add rdi, 2
jmp 0x140028f7d
lea rdi, [rbp + 0x360]
or rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.1400b5e60
mov qword [rbx + 0xb90], rax
test rax, rax
jne 0x140028f99
xor eax, eax
jmp 0x140028ffb
lea rdi, [0x1400f1618]
mov rsi, r12
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x140028fda
cmp dword [rbx + 0xbb0], 1
lea rax, str.AutoHotkey_v1.1.37.00
lea r8, str.____s
cmovne r12, rax
lea rcx, [rbp + 0x360]
mov edx, 0x8000
mov r9, r12
call fcn.1400b9200
lea rcx, [rbp + 0x360]
or rdx, 0xffffffffffffffff
call fcn.1400b5e60
test rax, rax
mov qword [rbx + 0xba8], rax
setne r13b
mov eax, r13d
mov r13, qword [rsp + 0x10468]
mov rdi, qword [rsp + 0x10498]
mov rsi, qword [rsp + 0x10490]
mov r14, qword [rsp + 0x10460]
add rsp, 0x10470
pop r12
pop rbx
pop rbp
ret