Function at 0x1400015a0
Capabilities:
Check if file exists
Get file attributes
Read file on windows
Terminate process

Disassembly:
push rbx
push rsi
push rdi
push r12
sub rsp, 0x208
mov rax, qword [0x1403e8040]
xor rax, rsp
mov qword [rsp + 0x1f0], rax
mov edx, 1
mov ecx, 0x101
call fcn.140005b94
movdqa xmm2, xmmword [0x14001a430]
lea rdx, [0x1403f03d4]
movdqa xmm3, xmmword [0x14001a440]
mov ecx, 8
mov qword [0x1403e8b40], rax
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 8]
movd xmm0, eax
lea rdx, [rdx + 0x10]
pshufd xmm0, xmm0, 0
lea eax, [rcx - 4]
paddd xmm0, xmm2
movd xmm1, eax
pshufd xmm1, xmm1, 0
lea eax, [rcx + 4]
paddd xmm1, xmm2
andps xmm0, xmm3
andps xmm1, xmm3
packuswb xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm0, xmm0
movd dword [rdx - 0x14], xmm0
packuswb xmm1, xmm1
movd dword [rdx - 0x10], xmm1
movd xmm0, ecx
add ecx, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movd xmm1, eax
pshufd xmm1, xmm1, 0
andps xmm0, xmm3
paddd xmm1, xmm2
packuswb xmm0, xmm0
andps xmm1, xmm3
packuswb xmm0, xmm0
movd dword [rdx - 0xc], xmm0
lea eax, [rcx - 8]
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [rdx - 8], xmm1
cmp eax, 0x100
jl 0x140001600
lea rbx, [0x1403f03d0]
mov byte [0x1403f03d0], 1
mov rcx, rbx
mov byte [0x1403f04d0], 0
call qword [sym.imp.USER32.dll_CharUpperA]
mov edx, 1
mov byte [0x1403f03d0], 0
mov ecx, 0x1420
mov qword [0x1403e8b40], rbx
mov dword [0x1403e8b48], 0x282
mov qword [rsp + 0x70], 0x282
mov qword [rsp + 0x78], 0x800
call fcn.140005b94
xor r12d, r12d
mov rdi, rax
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdi + rbx*8]
lea rax, [rsp + 0x78]
mov r9d, 1
mov qword [rsp + 0x20], rax
mov edx, r9d
xor r8d, r8d
call fcn.1400010d0
mov qword [rdi + rbx*8], rax
inc rbx
cmp rbx, 0x282
jb 0x140001700
mov qword [0x1403e8b50], rdi
mov edx, 1
movsxd rdi, dword [0x1403e8b48]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0x800
lea rcx, [rdi*8 + 0x10]
call fcn.140005b94
mov rsi, rax
mov rbx, r12
test rdi, rdi
je 0x14000179b
nop dword [rax + rax]
mov rcx, qword [rsi + rbx*8]
lea rax, [rsp + 0x78]
mov r9d, 1
mov qword [rsp + 0x20], rax
mov edx, r9d
xor r8d, r8d
call fcn.1400010d0
mov qword [rsi + rbx*8], rax
inc rbx
cmp rbx, rdi
jb 0x140001770
mov ecx, 0xffffffff
mov qword [0x1403e8b58], rsi
mov dword [0x1403e8b64], 0xffffffff
call fcn.1400012e0
lea rdx, [0x1403eb390]
sub rdx, rax
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x1400017c0
mov ecx, 2
call fcn.1400012e0
lea rdx, [0x1403ebb90]
sub rdx, rax
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x1400017e2
cmp byte [0x1403eb390], r12b
je 0x14000203b
cmp byte [0x1403ebb90], r12b
je 0x14000203b
mov qword [rsp + 0x230], rbp
mov ecx, 1
mov qword [rsp + 0x238], r13
mov qword [rsp + 0x240], r14
mov qword [rsp + 0x200], r15
call fcn.1400012e0
lea rdx, [0x1403e8b90]
sub rdx, rax
nop
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x140001840
lea r8, [rsp + 0x88]
xor edx, edx
lea rcx, [0x1403e8b90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
jne 0x14000186e
mov rcx, r12
jmp 0x140001883
mov ecx, dword [rsp + 0xa4]
mov eax, dword [rsp + 0xa8]
shl rcx, 0x20
or rcx, rax
mov edx, 1
mov qword [0x1403e8b68], rcx
call fcn.140005b94
mov edx, 0x2a
mov qword [0x1403e8b70], rax
lea rcx, [0x1403e8b90]
call fcn.140002f80
test rax, rax
jne 0x1400018df
mov edx, 0x3f
lea rcx, [0x1403e8b90]
call fcn.140002f80
test rax, rax
jne 0x1400018df
lea rcx, [0x1403e8b90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
mov ecx, r12d
setne cl
jmp 0x14000190d
lea rdx, [rsp + 0xb0]
lea rcx, [0x1403e8b90]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp rax, 0xffffffffffffffff
jne 0x1400018ff
mov ecx, r12d
jmp 0x14000190d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, 1
test ecx, ecx
je 0x1400019c0
lea r8, [rsp + 0x88]
xor edx, edx
lea rcx, [0x1403e8b90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
jne 0x140001935
mov rcx, r12
jmp 0x14000194a
mov ecx, dword [rsp + 0xa4]
mov eax, dword [rsp + 0xa8]
shl rcx, 0x20
or rcx, rax
inc rcx
call section..text
lea rdx, [0x14001a370]
mov rbx, rax
lea rcx, [0x1403e8b90]
call fcn.1400067f8
mov rdi, rax
test rax, rax
je 0x1400019b6
lea r8, [rsp + 0x88]
xor edx, edx
lea rcx, [0x1403e8b90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
jne 0x140001990
mov r8, r12
jmp 0x1400019a6
mov r8d, dword [rsp + 0xa4]
mov eax, dword [rsp + 0xa8]
shl r8, 0x20
or r8, rax
mov r9, rdi
mov edx, 1
mov rcx, rbx
call fcn.140006a64
mov rcx, rdi
call fcn.140006200
jmp 0x1400019f7
mov ecx, 0x80
call section..text
movups xmm0, xmmword [str.Error:_Cannot_Access_File_or_File_Not_Found.__s_n]
mov rbx, rax
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14001a388]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14001a398]
movups xmmword [rax + 0x20], xmm0
movzx eax, byte [0x14001a3a8]
mov byte [rbx + 0x30], al
mov rcx, qword [0x1403e8b70]
sub rcx, rbx
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140001a01
mov ecx, 2
call fcn.1400012e0
lea rdx, [0x1403e9390]
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x140001a30
mov rax, qword [0x1403e8b68]
lea rdi, str._SCANERROR_
mov rbx, qword [0x1403e8b70]
lea r15, section..data
mov qword [0x1403e8b78], rax
lea r13, [0x1403e9b90]
mov rsi, r12
lea rbp, [0x1403ea390]
lea r14, [0x1403eab90]
nop dword [rax]
test rbx, rbx
je 0x140001cf9
test rdi, rdi
je 0x140001cf9
cmp byte [rdi], r12b
je 0x140001cf9
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r12b
jne 0x140001aa2
test eax, eax
js 0x140001cf9
mov rdx, rdi
mov rcx, rbx
call fcn.140002ffc
mov edx, eax
mov ecx, r12d
sub edx, ebx
inc edx
test rax, rax
cmovne ecx, edx
mov dword [0x1403e8b80], ecx
test ecx, ecx
je 0x140001cf0
inc dword [0x1403e8b64]
lea rcx, [0x14001a3e0]
mov qword [rsp + 0x50], rcx
lea rax, [rdi + 0x800]
mov qword [rsp + 0x48], r15
lea r9, [0x14001a3f0]
mov qword [rsp + 0x40], rax
lea rdx, str._a_class
lea rax, [0x14001a3e4]
mov r8, r15
mov qword [rsp + 0x38], rax
mov ecx, 0xa
lea rax, str._href
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call fcn.140001480
mov rdx, r13
sub rdx, rax
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x140001b41
lea rax, str._span_
mov r8, r15
mov qword [rsp + 0x30], rax
lea r9, [rdi + 0x1000]
mov qword [rsp + 0x28], rdi
lea rdx, str._span_class
mov ecx, 6
mov qword [rsp + 0x20], r15
call fcn.140001480
mov rdx, rbp
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x140001b90
lea r9, str.__a_
mov r8, rbp
mov rdx, r13
mov ecx, 3
call fcn.140001480
mov rdx, r14
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x140001bc0
movsxd rax, dword [0x1403e8b64]
mov rcx, rbp
lea r8, [rax*8]
mov rax, qword [0x1403e8b50]
mov rdx, qword [r8 + rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140001bf0
mov rax, qword [0x1403e8b58]
mov rcx, r14
mov rdx, qword [r8 + rax]
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140001c10
mov rdx, rbp
lea rcx, [0x14001a3dc]
call fcn.1400020a0
mov rdx, r14
lea rcx, [0x14001a3dc]
call fcn.1400020a0
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rdx + rbp], r12b
jne 0x140001c46
mov dword [0x1403e8b4c], edx
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r14 + rax], r12b
jne 0x140001c60
mov dword [0x1403e8b60], eax
movsxd rcx, eax
movsxd rax, edx
mov edx, dword [0x1403e8b80]
mov rbx, qword [0x1403e8b70]
sub rcx, rax
add qword [0x1403e8b78], rcx
inc edx
test rbx, rbx
je 0x140001cf9
cmp byte [rdi], r12b
je 0x140001cf9
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rbx + rax], r12b
jne 0x140001ca0
cmp edx, eax
jg 0x140001cf9
test edx, edx
jle 0x140001cbc
movsxd rcx, edx
dec rcx
add rcx, rbx
jmp 0x140001cbf
mov rcx, rbx
mov rdx, rdi
call fcn.140002ffc
mov ecx, eax
mov edx, r12d
sub ecx, ebx
inc ecx
test rax, rax
cmovne edx, ecx
mov dword [0x1403e8b80], edx
test edx, edx
je 0x140001cf0
movsxd rcx, dword [0x1403e8b60]
movsxd rax, dword [0x1403e8b4c]
jmp 0x140001c7b
mov rbx, qword [0x1403e8b70]
jmp 0x140001d00
mov dword [0x1403e8b80], r12d
movsxd rax, dword [0x1403e8b48]
inc rsi
add rdi, 0x1800
cmp rsi, rax
jbe 0x140001a80
mov rdx, qword [0x1403e8b78]
mov rcx, rbx
call fcn.140005bb0
cmp dword [0x1403e8b64], r12d
mov rdi, rax
mov qword [0x1403e8b70], rax
mov r8d, r12d
mov dword [rsp + 0x60], r12d
jl 0x140001efe
mov rdx, r12
mov qword [rsp + 0x68], rdx
mov rax, qword [0x1403e8b58]
mov rcx, qword [rdx + rax]
mov rax, qword [0x1403e8b50]
mov qword [rsp + 0x80], rcx
mov r13, qword [rdx + rax]
test r13, r13
je 0x140001ec6
cmp byte [r13], 0
je 0x140001ec6
mov rbp, 0xffffffffffffffff
nop dword [rax]
inc rbp
cmp byte [rcx + rbp], 0
jne 0x140001d90
mov r15, 0xffffffffffffffff
cmp byte [r15 + r13 + 1], 0
lea r15, [r15 + 1]
jne 0x140001da0
mov rdx, r13
mov rcx, rdi
mov rsi, r12
call fcn.140002ffc
mov rbx, rdi
test rax, rax
je 0x140001de3
mov ecx, eax
sub ecx, ebx
lea rbx, [rax + r15]
movsxd rdx, ecx
mov rcx, rbx
add rdx, rbp
add rsi, rdx
mov rdx, r13
call fcn.140002ffc
test rax, rax
jne 0x140001dc2
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [rbx + rax + 1], 0
lea rax, [rax + 1]
jne 0x140001df0
lea rcx, [rax + rsi]
call section..text
mov qword [rsp + 0x70], rax
mov r14, rax
test rax, rax
jne 0x140001e2a
mov rdi, qword [0x1403e8b70]
mov r14, r12
mov rdx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x60]
jmp 0x140001ec9
mov rdx, r13
mov rcx, rdi
mov rsi, rax
call fcn.140002ffc
mov r12, rax
test rax, rax
je 0x140001e9f
mov r14, qword [rsp + 0x80]
nop dword [rax + rax]
mov ecx, r12d
mov rdx, rdi
sub ecx, edi
movsxd rbx, ecx
mov rcx, rsi
mov r8, rbx
call fcn.140018570
add rsi, rbx
mov rcx, r14
mov rdx, rsi
sub rdx, r14
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140001e72
lea rdi, [r12 + r15]
mov rdx, r13
mov rcx, rdi
add rsi, rbp
call fcn.140002ffc
mov r12, rax
test rax, rax
jne 0x140001e50
mov r14, qword [rsp + 0x70]
sub rsi, rdi
movzx eax, byte [rdi]
mov byte [rsi + rdi], al
lea rdi, [rdi + 1]
test al, al
jne 0x140001ea2
mov rdi, qword [0x1403e8b70]
xor r12d, r12d
mov rdx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x60]
jmp 0x140001ec9
mov r14, rdi
mov rcx, rdi
sub rcx, r14
nop
movzx eax, byte [r14]
mov byte [rcx + r14], al
lea r14, [r14 + 1]
test al, al
jne 0x140001ed0
inc r8d
add rdx, 8
cmp r8d, dword [0x1403e8b64]
mov dword [rsp + 0x60], r8d
mov qword [rsp + 0x68], rdx
jle 0x140001d50
lea rdx, [0x14001a428]
lea rcx, [0x1403e9390]
call fcn.1400067f8
mov r15, qword [rsp + 0x200]
mov r14, qword [rsp + 0x240]
mov r13, qword [rsp + 0x238]
mov rbp, qword [rsp + 0x230]
mov qword [0x1403e8b88], rax
test rax, rax
je 0x140002069
mov r8, qword [0x1403e8b70]
lea rdx, [0x14001a3dc]
mov rcx, rax
call fcn.140001550
call fcn.140006298
mov rsi, qword [0x1403e8b50]
test rsi, rsi
je 0x140001fbc
inc dword [0x1403f04d4]
cmp qword [rsi], 0
je 0x140001fa4
mov rax, qword [rsi]
mov rbx, r12
mov rdi, rsi
nop dword [rax]
mov edx, 1
mov rcx, rax
mov r8d, edx
call fcn.140001230
mov qword [rdi], r12
lea rbx, [rbx + 1]
mov rax, qword [rsi + rbx*8]
lea rdi, [rsi + rbx*8]
test rax, rax
jne 0x140001f80
sub dword [0x1403f04d4], 1
jne 0x140001fb5
mov rcx, rsi
call fcn.140005b9c
mov qword [0x1403e8b50], r12
mov rsi, qword [0x1403e8b58]
test rsi, rsi
je 0x14000201c
inc dword [0x1403f04d4]
cmp qword [rsi], 0
je 0x140002004
mov rax, qword [rsi]
mov rbx, r12
mov rdi, rsi
nop dword [rax]
mov edx, 1
mov rcx, rax
mov r8d, edx
call fcn.140001230
mov qword [rdi], r12
lea rbx, [rbx + 1]
mov rax, qword [rsi + rbx*8]
lea rdi, [rsi + rbx*8]
test rax, rax
jne 0x140001fe0
sub dword [0x1403f04d4], 1
jne 0x140002015
mov rcx, rsi
call fcn.140005b9c
mov qword [0x1403e8b58], r12
xor eax, eax
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.140002180
add rsp, 0x208
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rdx, str.Usage:_HTMLInkeyD_FileInName_FileOutName
lea rcx, [0x14001a3dc]
call fcn.1400020a0
mov ecx, 1
call fcn.140005fec
mov rcx, rax
call fcn.1400066d4
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 2
call fcn.140005fec
mov rcx, rax
lea r8, [0x1403e9390]
lea rdx, str.Error:_Cannot_Access_File_or_File_Not_Found.__s_n
call fcn.140001550
mov ecx, 1
call fcn.140005ec0
int3