Function at 0x140047990
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.1400d9a90
sub rsp, rax
mov eax, dword [0x140127db8]
test rdx, rdx
mov rbx, rdx
mov word [0x140127dbc], 0
cmove rbx, qword [0x140127d80]
test eax, eax
jne 0x140047a73
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140047a6d
cmp byte [0x140127dbf], 0
jne 0x140047a2b
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.14009c850
xor esi, esi
lea rcx, [rsp + 0x30]
xorps xmm3, xmm3
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea edx, [rsi + 0x10]
call fcn.1400a34c0
jmp 0x140047a53
lea rax, [0x140127d80]
mov qword [0x140125fc0], rax
lea r8, [0x1400fbbd0]
lea rdx, str.Script_file_not_found.
lea rcx, [0x140127620]
call fcn.140010a90
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 [0x140127db8]
cmp eax, 2
mov qword [rsp + 0x10078], rbp
mov ebp, dword [0x140125fc8]
lea rcx, [0x1400ffd5c]
cmove rbx, rcx
lea rdx, [rsp + 0x10070]
xor esi, esi
lea rcx, [0x140127620]
mov r8, rbx
mov qword [rsp + 0x10070], rsi
xor r9d, r9d
mov byte [rsp + 0x20], sil
call fcn.1400480d0
mov rbx, qword [rsp + 0x10070]
mov edi, eax
cmp eax, 3
jne 0x140047adb
mov r8d, ebp
lea rcx, [0x140127620]
mov rdx, rbx
call fcn.140048670
mov edi, eax
mov rbp, qword [rsp + 0x10078]
test rbx, rbx
je 0x140047af5
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
test edi, edi
je 0x140047a53
xor ecx, ecx
mov byte [0x140125b37], sil
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
lea rcx, [0x140127620]
test eax, eax
jne 0x140047b2a
lea r8, [0x1400fbbd0]
lea rdx, str.An_internal_function_call_failed.
jmp 0x140047a4e
mov rdx, qword [0x140127620]
call fcn.140055350
test eax, eax
je 0x140047a53
lea rdx, [0x140127660]
lea rcx, [0x140127620]
call fcn.140055440
test eax, eax
je 0x140047a53
lea rdx, [0x140127640]
lea rcx, [0x140127620]
call fcn.140055440
test eax, eax
je 0x140047a53
lea rcx, [0x140127620]
call fcn.14005f590
test eax, eax
je 0x140047a53
cmp dword [0x140127668], esi
mov ebx, esi
jle 0x140047bc6
mov rdi, rsi
nop word [rax + rax]
mov rax, qword [0x140127660]
mov rdx, qword [rdi + rax]
call fcn.14005f220
test eax, eax
je 0x140047a53
inc ebx
add rdi, 8
cmp ebx, dword [0x140127668]
jl 0x140047ba0
cmp dword [0x140127648], esi
mov ebx, esi
jle 0x140047c06
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x140127640]
mov rdx, qword [rdi + rax]
call fcn.14005f220
test eax, eax
je 0x140047a53
inc ebx
add rdi, 8
cmp ebx, dword [0x140127648]
jl 0x140047be0
mov rcx, qword [0x140127660]
call fcn.1400c0450
mov rcx, qword [0x1401278e0]
test rcx, rcx
je 0x140047d0f
mov rax, qword [rcx + 0x18]
cmp dword [rax + 4], esi
je 0x140047d02
mov r8, qword [rax + 8]
mov rbx, qword [rax + 0x18]
test r8, r8
je 0x140047d02
lea rdx, str.Line
mov rcx, r8
call fcn.1400055e0
lea rcx, [0x1400fbbd0]
test rax, rax
je 0x140047c8d
mov edx, dword [rax + 8]
test edx, edx
je 0x140047c71
cmp edx, 6
je 0x140047c6c
mov rdx, qword [rax]
jmp 0x140047c78
mov rdx, rcx
jmp 0x140047c78
mov rdx, qword [rax]
add rdx, 0x10
mov rax, rdx
mov dword [0x1401278fc], edx
sar rax, 0x20
mov dword [0x1401278f8], eax
jmp 0x140047c93
mov edx, dword [0x1401278fc]
test rbx, rbx
mov qword [0x140127cd8], rsi
cmovne rcx, rbx
cmp byte [0x140127dbf], sil
je 0x140047cda
cmp byte [0x140127dbc], sil
jne 0x140047cda
movzx r9d, word [0x1401278f8]
mov r8, rcx
mov dword [rsp + 0x20], edx
lea rcx, [0x140127620]
lea rdx, str.Unknown_class.
call fcn.14000f700
jmp 0x140047a53
mov r9, rcx
mov qword [rsp + 0x28], rsi
lea rcx, [0x140127620]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea rdx, str.Unknown_class.
call fcn.140010850
jmp 0x140047a53
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov qword [0x1401278e0], rsi
mov rcx, qword [0x140127d88]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [0x140127d88]
lea rcx, vtable.CKuStringT_wchar_t__class_CKuStringUtilW_.0
call fcn.1400606e0
xor r9d, r9d
mov byte [rsp + 0x28], sil
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 7
lea rcx, [0x140127620]
call fcn.14004fa80
test eax, eax
je 0x140047a53
mov rdx, qword [0x140127620]
lea rcx, [0x140127620]
call fcn.140055540
test rax, rax
je 0x140047a53
cmp byte [0x140127dc4], sil
sete sil
mov eax, esi
jmp 0x140047a58