Function at 0x140046d60
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 0x140046d8f
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 0x140046e52
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140046e52
cmp byte [0x140124cbf], 0
jne 0x140046e0d
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 0x140046e2a
mov qword [0x140122ef8], rsi
lea r8, [0x1400f9b50]
lea rdx, str.Script_file_not_found.
mov rcx, rbx
call fcn.1400108e0
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.140047420
mov rdi, qword [rsp + 0x10080]
mov esi, eax
cmp eax, 3
jne 0x140046eaf
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.1400479c0
mov esi, eax
test rdi, rdi
je 0x140046ec1
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
test esi, esi
je 0x140046e2a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov rcx, rbx
test eax, eax
jne 0x140046eeb
lea r8, [0x1400f9b50]
lea rdx, str.An_internal_function_call_failed.
jmp 0x140046e25
mov rdx, qword [rbx]
call fcn.140054960
test eax, eax
je 0x140046e2a
lea rdx, [rbx + 0x40]
mov rcx, rbx
call fcn.140054a50
test eax, eax
je 0x140046e2a
lea rdx, [rbx + 0x20]
mov rcx, rbx
call fcn.140054a50
test eax, eax
je 0x140046e2a
mov rcx, rbx
call fcn.14005e830
test eax, eax
je 0x140046e2a
mov edi, ebp
cmp dword [rbx + 0x48], ebp
jle 0x140046f60
mov rsi, rbp
nop dword [rax]
mov rax, qword [rbx + 0x40]
mov rdx, qword [rsi + rax]
call fcn.14005e4c0
test eax, eax
je 0x140046e2a
inc edi
add rsi, 8
cmp edi, dword [rbx + 0x48]
jl 0x140046f40
mov edi, ebp
cmp dword [rbx + 0x28], ebp
jle 0x140046f90
mov rsi, rbp
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
mov rdx, qword [rsi + rax]
call fcn.14005e4c0
test eax, eax
je 0x140046e2a
inc edi
add rsi, 8
cmp edi, dword [rbx + 0x28]
jl 0x140046f70
mov rcx, qword [rbx + 0x40]
call fcn.1400be2e0
mov rcx, qword [rbx + 0x2b8]
test rcx, rcx
je 0x14004708c
mov rax, qword [rcx + 0x18]
cmp dword [rax + 4], ebp
je 0x14004707f
mov r8, qword [rax + 8]
mov rdi, qword [rax + 0x18]
test r8, r8
je 0x14004707f
lea rdx, str.Line
mov rcx, r8
call fcn.140005590
lea rcx, [0x1400f9b50]
test rax, rax
je 0x140047012
mov edx, dword [rax + 8]
test edx, edx
je 0x140046ff8
cmp edx, 6
je 0x140046ff3
mov rdx, qword [rax]
jmp 0x140046fff
mov rdx, rcx
jmp 0x140046fff
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 0x14004705b
cmp byte [0x140124cbc], bpl
jne 0x14004705b
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.14000f560
jmp 0x140046e2a
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.1400106a0
jmp 0x140046e2a
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.14005f9b0
xor r9d, r9d
mov byte [rsp + 0x28], bpl
xor r8d, r8d
mov qword [rsp + 0x20], rbp
mov dl, 7
mov rcx, rbx
call fcn.14004f200
test eax, eax
je 0x140046e2a
mov rdx, qword [rbx]
mov rcx, rbx
call fcn.140054ad0
test rax, rax
je 0x140046e2a
cmp byte [rbx + 0x794], bpl
sete bpl
mov eax, ebp
jmp 0x140046e2f