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

Disassembly:
push rbx
push rsi
push rdi
mov eax, 0x10060
call fcn.1400d7a10
sub rsp, rax
mov word [rcx + 0x78c], 0
mov rdi, rdx
lea rsi, [rcx + 0x750]
mov rbx, rcx
test rdx, rdx
jne 0x140046d9f
mov rdi, qword [rsi]
cmp dword [rcx + 0x788], 0
mov qword [rsp + 0x10088], rbp
mov qword [rsp + 0x10090], r14
mov qword [rsp + 0x10098], r15
jne 0x140046e62
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140046e62
cmp byte [0x140124cbf], 0
jne 0x140046e1d
lea r9, str.Script_file_not_found.
mov qword [rsp + 0x20], rdi
lea r8, str._s_n_s
mov edx, 0x8018
lea rcx, [rsp + 0x30]
call fcn.14009a330
xor ebp, ebp
lea rcx, [rsp + 0x30]
xorps xmm3, xmm3
mov qword [rsp + 0x20], rbp
xor r8d, r8d
lea edx, [rbp + 0x10]
call fcn.1400a1190
jmp 0x140046e3a
mov qword [0x140122ef8], rsi
lea r8, [0x1400f9b50]
lea rdx, str.Script_file_not_found.
mov rcx, rbx
call fcn.140010900
mov eax, 0xffffffff
mov r15, qword [rsp + 0x10098]
mov r14, qword [rsp + 0x10090]
mov rbp, qword [rsp + 0x10088]
add rsp, 0x10060
pop rdi
pop rsi
pop rbx
ret
cmp dword [rbx + 0x788], 2
lea rax, [0x1400fdcac]
mov r14d, dword [0x140122ee4]
lea rdx, [rsp + 0x10080]
cmove rdi, rax
mov rcx, rbx
xor ebp, ebp
mov r8, rdi
xor r9d, r9d
mov qword [rsp + 0x10080], rbp
mov byte [rsp + 0x20], bpl
call fcn.140047450
mov rdi, qword [rsp + 0x10080]
mov esi, eax
cmp eax, 3
jne 0x140046ebf
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.1400479f0
mov esi, eax
test rdi, rdi
je 0x140046ed1
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
test esi, esi
je 0x140046e3a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov rcx, rbx
test eax, eax
jne 0x140046efb
lea r8, [0x1400f9b50]
lea rdx, str.An_internal_function_call_failed.
jmp 0x140046e35
mov rdx, qword [rbx]
call fcn.1400548a0
test eax, eax
je 0x140046e3a
lea rdx, [rbx + 0x40]
mov rcx, rbx
call fcn.140054990
test eax, eax
je 0x140046e3a
lea rdx, [rbx + 0x20]
mov rcx, rbx
call fcn.140054990
test eax, eax
je 0x140046e3a
mov rcx, rbx
call fcn.14005e770
test eax, eax
je 0x140046e3a
mov edi, ebp
cmp dword [rbx + 0x48], ebp
jle 0x140046f70
mov rsi, rbp
nop dword [rax]
mov rax, qword [rbx + 0x40]
mov rdx, qword [rsi + rax]
call fcn.14005e400
test eax, eax
je 0x140046e3a
inc edi
add rsi, 8
cmp edi, dword [rbx + 0x48]
jl 0x140046f50
mov edi, ebp
cmp dword [rbx + 0x28], ebp
jle 0x140046fa0
mov rsi, rbp
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
mov rdx, qword [rsi + rax]
call fcn.14005e400
test eax, eax
je 0x140046e3a
inc edi
add rsi, 8
cmp edi, dword [rbx + 0x28]
jl 0x140046f80
mov rcx, qword [rbx + 0x40]
call fcn.1400be2e0
mov rcx, qword [rbx + 0x2b8]
test rcx, rcx
je 0x14004709c
mov rax, qword [rcx + 0x18]
cmp dword [rax + 4], ebp
je 0x14004708f
mov r8, qword [rax + 8]
mov rdi, qword [rax + 0x18]
test r8, r8
je 0x14004708f
lea rdx, str.Line
mov rcx, r8
call fcn.140005610
lea rcx, [0x1400f9b50]
test rax, rax
je 0x140047022
mov edx, dword [rax + 8]
test edx, edx
je 0x140047008
cmp edx, 6
je 0x140047003
mov rdx, qword [rax]
jmp 0x14004700f
mov rdx, rcx
jmp 0x14004700f
mov rdx, qword [rax]
add rdx, 0x10
mov rax, rdx
mov dword [rbx + 0x2d4], edx
sar rax, 0x20
mov dword [rbx + 0x2d0], eax
test rdi, rdi
mov qword [rbx + 0x6b0], rbp
cmovne rcx, rdi
cmp byte [0x140124cbf], bpl
je 0x14004706b
cmp byte [0x140124cbc], bpl
jne 0x14004706b
mov eax, dword [rbx + 0x2d4]
lea rdx, str.Unknown_class.
movzx r9d, word [rbx + 0x2d0]
mov r8, rcx
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.14000f580
jmp 0x140046e3a
mov r9, rcx
mov qword [rsp + 0x28], rbp
mov rcx, rbx
mov qword [rsp + 0x20], rbp
xor r8d, r8d
lea rdx, str.Unknown_class.
call fcn.1400106c0
jmp 0x140046e3a
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov qword [rbx + 0x2b8], rbp
mov rcx, qword [rbx + 0x758]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [rbx + 0x758]
lea rcx, vtable.CKuStringT_wchar_t__class_CKuStringUtilW_.0
call fcn.14005f8f0
xor r9d, r9d
mov byte [rsp + 0x28], bpl
xor r8d, r8d
mov qword [rsp + 0x20], rbp
mov dl, 7
mov rcx, rbx
call fcn.14004f150
test eax, eax
je 0x140046e3a
mov rdx, qword [rbx]
mov rcx, rbx
call fcn.140054a10
test rax, rax
je 0x140046e3a
cmp byte [rbx + 0x794], bpl
sete bpl
mov eax, ebp
jmp 0x140046e3f