Function at 0x140047980
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.1400d9fd0
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 0x140047a63
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140047a5d
cmp byte [0x140127dbf], 0
jne 0x140047a1b
lea r9, [0x140104788]
mov qword [rsp + 0x20], rbx
lea r8, [0x1401047b8]
mov edx, 0x8018
lea rcx, [rsp + 0x30]
call fcn.14009cd90
xor esi, esi
lea rcx, [rsp + 0x30]
xorps xmm3, xmm3
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea edx, [rsi + 0x10]
call fcn.1400a3a00
jmp 0x140047a43
lea rax, [0x140127d80]
mov qword [0x140125fc0], rax
lea r8, [0x1400fbbd0]
lea rdx, [0x140104788]
lea rcx, [0x140127620]
call fcn.140010a80
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.1400480c0
mov rbx, qword [rsp + 0x10070]
mov edi, eax
cmp eax, 3
jne 0x140047acb
mov r8d, ebp
lea rcx, [0x140127620]
mov rdx, rbx
call fcn.140048660
mov edi, eax
mov rbp, qword [rsp + 0x10078]
test rbx, rbx
je 0x140047ae5
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
test edi, edi
je 0x140047a43
xor ecx, ecx
mov byte [0x140125b37], sil
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
lea rcx, [0x140127620]
test eax, eax
jne 0x140047b1a
lea r8, [0x1400fbbd0]
lea rdx, [0x1400fdd30]
jmp 0x140047a3e
mov rdx, qword [0x140127620]
call fcn.1400559d0
test eax, eax
je 0x140047a43
lea rdx, [0x140127660]
lea rcx, [0x140127620]
call fcn.140055ac0
test eax, eax
je 0x140047a43
lea rdx, [0x140127640]
lea rcx, [0x140127620]
call fcn.140055ac0
test eax, eax
je 0x140047a43
lea rcx, [0x140127620]
call fcn.14005fb90
test eax, eax
je 0x140047a43
cmp dword [0x140127668], esi
mov ebx, esi
jle 0x140047bb6
mov rdi, rsi
nop word [rax + rax]
mov rax, qword [0x140127660]
mov rdx, qword [rdi + rax]
call fcn.14005f820
test eax, eax
je 0x140047a43
inc ebx
add rdi, 8
cmp ebx, dword [0x140127668]
jl 0x140047b90
cmp dword [0x140127648], esi
mov ebx, esi
jle 0x140047bf6
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x140127640]
mov rdx, qword [rdi + rax]
call fcn.14005f820
test eax, eax
je 0x140047a43
inc ebx
add rdi, 8
cmp ebx, dword [0x140127648]
jl 0x140047bd0
mov rcx, qword [0x140127660]
call fcn.1400c0990
mov rcx, qword [0x1401278e0]
test rcx, rcx
je 0x140047cff
mov rax, qword [rcx + 0x18]
cmp dword [rax + 4], esi
je 0x140047cf2
mov r8, qword [rax + 8]
mov rbx, qword [rax + 0x18]
test r8, r8
je 0x140047cf2
lea rdx, [0x1400ffd10]
mov rcx, r8
call fcn.1400055e0
lea rcx, [0x1400fbbd0]
test rax, rax
je 0x140047c7d
mov edx, dword [rax + 8]
test edx, edx
je 0x140047c61
cmp edx, 6
je 0x140047c5c
mov rdx, qword [rax]
jmp 0x140047c68
mov rdx, rcx
jmp 0x140047c68
mov rdx, qword [rax]
add rdx, 0x10
mov rax, rdx
mov dword [0x1401278fc], edx
sar rax, 0x20
mov dword [0x1401278f8], eax
jmp 0x140047c83
mov edx, dword [0x1401278fc]
test rbx, rbx
mov qword [0x140127cd8], rsi
cmovne rcx, rbx
cmp byte [0x140127dbf], sil
je 0x140047cca
cmp byte [0x140127dbc], sil
jne 0x140047cca
movzx r9d, word [0x1401278f8]
mov r8, rcx
mov dword [rsp + 0x20], edx
lea rcx, [0x140127620]
lea rdx, [0x140105f00]
call fcn.14000f6f0
jmp 0x140047a43
mov r9, rcx
mov qword [rsp + 0x28], rsi
lea rcx, [0x140127620]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea rdx, [0x140105f00]
call fcn.140010840
jmp 0x140047a43
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.140060ce0
xor r9d, r9d
mov byte [rsp + 0x28], sil
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 7
lea rcx, [0x140127620]
call fcn.140050100
test eax, eax
je 0x140047a43
mov rdx, qword [0x140127620]
lea rcx, [0x140127620]
call fcn.140055b40
test rax, rax
je 0x140047a43
cmp byte [0x140127dc4], sil
sete sil
mov eax, esi
jmp 0x140047a48