Function at 0x140037f30
Capabilities:
Check if file exists
Create directory
Delete directory
Delete file
Get file attributes

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xb8
mov dword [rsp + 0x20], 0
lea rdx, [0x140055a2e]
lea rcx, [rsp + 0x30]
call fcn.140002ff0
lea rdx, [0x140055a2f]
lea rcx, [rsp + 0x38]
call fcn.140002ff0
mov eax, 4
mov eax, eax
mov ecx, dword [0x1403a9018]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x1403a8f40], eax
jle 0x140037fd5
lea rcx, [0x1403a8f40]
call fcn.140039c38
cmp dword [0x1403a8f40], 0xffffffff
jne 0x140037fd5
lea rdx, [0x140055af4]
lea rcx, [0x1403a8f38]
call fcn.140038450
lea rcx, [0x140053510]
call fcn.140039a38
lea rcx, [0x1403a8f40]
call fcn.140039bd8
mov rcx, qword [rsp + 0xc0]
call fcn.140003f30
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x40], 0
jmp 0x140038001
lea rdx, [0x1403a8f38]
lea rcx, [rsp + 0x30]
call fcn.140038770
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x40], eax
jge 0x140038279
lea rcx, [0x1403a8f38]
call fcn.140003390
lea r9, [rsp + 0x40]
mov r8, rax
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0xc0]
call fcn.140038c70
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x30]
call fcn.140038770
lea rcx, [rsp + 0x30]
call fcn.140003390
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [rsp + 0x44], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x44], 0xffffffff
jne 0x1400380ae
cmp dword [rsp + 0x50], 0x35
jne 0x140038082
lea rcx, [rsp + 0x28]
call fcn.1400031c0
jmp 0x140037ff0
lea rdx, [0x140055a3b]
lea rcx, [rsp + 0x38]
call fcn.140038540
movzx eax, al
test eax, eax
je 0x1400380a9
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.140003330
jmp 0x14003816a
mov eax, dword [rsp + 0x44]
and eax, 0x400
test eax, eax
je 0x14003815b
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
call fcn.140002f90
mov rcx, rax
call fcn.1400382c0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0x14
je 0x1400380f5
cmp dword [rsp + 0x48], 0x17
jne 0x14003814a
movzx eax, byte [rsp + 0xd0]
test eax, eax
je 0x140038131
lea rcx, [rsp + 0x30]
call fcn.140003390
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x14003812f
mov dword [rsp + 0x20], 0xc
lea rcx, [rsp + 0x28]
call fcn.1400031c0
jmp 0x140038279
jmp 0x140038148
mov dword [rsp + 0x20], 0x12
lea rcx, [rsp + 0x28]
call fcn.1400031c0
jmp 0x140038279
jmp 0x140038159
lea rcx, [rsp + 0x28]
call fcn.1400031c0
jmp 0x140037ff0
jmp 0x14003816a
lea rcx, [rsp + 0x28]
call fcn.1400031c0
jmp 0x140037ff0
lea rcx, [rsp + 0x30]
call fcn.140003390
mov rdx, qword [rsp + 0xc8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x14003826a
lea rdx, [0x140055a3e]
lea rcx, [rsp + 0x38]
call fcn.140038580
movzx eax, al
test eax, eax
je 0x140038256
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x68]
call fcn.140038690
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140038690
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140003330
lea rcx, [rsp + 0x60]
call fcn.1400031c0
lea rcx, [rsp + 0x68]
call fcn.1400031c0
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x78], 3
lea rcx, [rsp + 0x38]
call fcn.140003390
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
mov eax, 0x414
mov word [rsp + 0x90], ax
mov dword [rsp + 0x94], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHELL32.dll_SHFileOperationA]
mov dword [rsp + 0x20], 0xb
lea rcx, [rsp + 0x28]
call fcn.1400031c0
jmp 0x140038279
lea rcx, [rsp + 0x28]
call fcn.1400031c0
jmp 0x140037ff0
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x54], eax
lea rcx, [rsp + 0x38]
call fcn.1400031c0
lea rcx, [rsp + 0x30]
call fcn.1400031c0
mov rcx, qword [rsp + 0xc0]
call fcn.1400031c0
mov eax, dword [rsp + 0x54]
add rsp, 0xb8
ret