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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x10060
call fcn.1400d8050
sub rsp, rax
mov eax, dword [0x140124d38]
test rdx, rdx
mov rbx, rdx
mov word [0x140124d3c], 0
cmove rbx, qword [0x140124d00]
test eax, eax
jne 0x140046e23
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140046e1d
cmp byte [0x140124d3f], 0
jne 0x140046ddb
lea r9, str.Script_file_not_found.
mov qword [rsp + 0x20], rbx
lea r8, str._s_n_s
mov edx, 0x8018
lea rcx, [rsp + 0x30]
call fcn.14009abe0
xor esi, esi
lea rcx, [rsp + 0x30]
xorps xmm3, xmm3
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea edx, [rsi + 0x10]
call fcn.1400a1a40
jmp 0x140046e03
lea rax, [0x140124d00]
mov qword [0x140122f78], rax
lea r8, [0x1400f9b70]
lea rdx, str.Script_file_not_found.
lea rcx, [0x1401245b0]
call fcn.140010930
mov eax, 0xffffffff
lea r11, [rsp + 0x10060]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov eax, dword [0x140124d38]
cmp eax, 2
mov qword [rsp + 0x10078], rbp
mov ebp, dword [0x140122f80]
lea rcx, [0x1400fdccc]
cmove rbx, rcx
lea rdx, [rsp + 0x10070]
xor esi, esi
lea rcx, [0x1401245b0]
mov r8, rbx
mov qword [rsp + 0x10070], rsi
xor r9d, r9d
mov byte [rsp + 0x20], sil
call fcn.140047480
mov rbx, qword [rsp + 0x10070]
mov edi, eax
cmp eax, 3
jne 0x140046e8b
mov r8d, ebp
lea rcx, [0x1401245b0]
mov rdx, rbx
call fcn.140047a20
mov edi, eax
mov rbp, qword [rsp + 0x10078]
test rbx, rbx
je 0x140046ea5
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
test edi, edi
je 0x140046e03
xor ecx, ecx
mov byte [0x140122ceb], sil
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
lea rcx, [0x1401245b0]
test eax, eax
jne 0x140046eda
lea r8, [0x1400f9b70]
lea rdx, str.An_internal_function_call_failed.
jmp 0x140046dfe
mov rdx, qword [0x1401245b0]
call fcn.1400548e0
test eax, eax
je 0x140046e03
lea rdx, [0x1401245f0]
lea rcx, [0x1401245b0]
call fcn.1400549d0
test eax, eax
je 0x140046e03
lea rdx, [0x1401245d0]
lea rcx, [0x1401245b0]
call fcn.1400549d0
test eax, eax
je 0x140046e03
lea rcx, [0x1401245b0]
call fcn.14005e7b0
test eax, eax
je 0x140046e03
cmp dword [0x1401245f8], esi
mov ebx, esi
jle 0x140046f76
mov rdi, rsi
nop word [rax + rax]
mov rax, qword [0x1401245f0]
mov rdx, qword [rdi + rax]
call fcn.14005e440
test eax, eax
je 0x140046e03
inc ebx
add rdi, 8
cmp ebx, dword [0x1401245f8]
jl 0x140046f50
cmp dword [0x1401245d8], esi
mov ebx, esi
jle 0x140046fb6
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x1401245d0]
mov rdx, qword [rdi + rax]
call fcn.14005e440
test eax, eax
je 0x140046e03
inc ebx
add rdi, 8
cmp ebx, dword [0x1401245d8]
jl 0x140046f90
mov rcx, qword [0x1401245f0]
call fcn.1400beb90
mov rcx, qword [0x140124868]
test rcx, rcx
je 0x1400470bf
mov rax, qword [rcx + 0x18]
cmp dword [rax + 4], esi
je 0x1400470b2
mov r8, qword [rax + 8]
mov rbx, qword [rax + 0x18]
test r8, r8
je 0x1400470b2
lea rdx, str.Line
mov rcx, r8
call fcn.140005630
lea rcx, [0x1400f9b70]
test rax, rax
je 0x14004703d
mov edx, dword [rax + 8]
test edx, edx
je 0x140047021
cmp edx, 6
je 0x14004701c
mov rdx, qword [rax]
jmp 0x140047028
mov rdx, rcx
jmp 0x140047028
mov rdx, qword [rax]
add rdx, 0x10
mov rax, rdx
mov dword [0x140124884], edx
sar rax, 0x20
mov dword [0x140124880], eax
jmp 0x140047043
mov edx, dword [0x140124884]
test rbx, rbx
mov qword [0x140124c60], rsi
cmovne rcx, rbx
cmp byte [0x140124d3f], sil
je 0x14004708a
cmp byte [0x140124d3c], sil
jne 0x14004708a
movzx r9d, word [0x140124880]
mov r8, rcx
mov dword [rsp + 0x20], edx
lea rcx, [0x1401245b0]
lea rdx, str.Unknown_class.
call fcn.14000f5a0
jmp 0x140046e03
mov r9, rcx
mov qword [rsp + 0x28], rsi
lea rcx, [0x1401245b0]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea rdx, str.Unknown_class.
call fcn.1400106f0
jmp 0x140046e03
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140124868], rsi
mov rcx, qword [0x140124d08]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [0x140124d08]
lea rcx, [0x14011eaf8]
call fcn.14005f930
xor r9d, r9d
mov byte [rsp + 0x28], sil
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 7
lea rcx, [0x1401245b0]
call fcn.14004f190
test eax, eax
je 0x140046e03
mov rdx, qword [0x1401245b0]
lea rcx, [0x1401245b0]
call fcn.140054a50
test rax, rax
je 0x140046e03
cmp byte [0x140124d44], sil
sete sil
mov eax, esi
jmp 0x140046e08