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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x608
mov r13d, r9d
mov r15d, r8d
mov rsi, rdx
mov rbx, rcx
mov rax, qword [0x1401e3a38]
xor rax, rsp
mov qword [rsp + 0x600], rax
lea rcx, [rsp + 0x28]
xor edi, edi
xor edx, edx
call fcn.14004f370
cmp qword [rbx + 0x10], 0x103
ja 0x140038407
cmp qword [rsi + 0x10], 0x103
jbe 0x1400382ce
xor edi, edi
jmp 0x140038407
lea rbp, [rsp + 0x5e0]
mov rcx, rbp
mov rdx, rsi
call fcn.1400322a0
lea rdi, [rsp + 0x2f0]
mov rcx, rdi
xor edx, edx
call fcn.14004f370
cmp qword [rsp + 0x5f8], 7
jbe 0x140038306
mov rbp, qword [rsp + 0x5e0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
mov rcx, rdi
call fcn.14004f470
cmp ebp, 0xffffffff
je 0x140038349
lea rdi, [rsp + 0x2f0]
lea rbp, [rsp + 0x5e0]
mov rcx, rdi
mov rdx, rbp
call fcn.140037b10
mov rcx, rbp
mov rdx, rdi
call fcn.140032540
mov rcx, rdi
jmp 0x14003838a
lea r14, [rsp + 0x5e0]
lea rbp, [rsp + 0x40]
mov rcx, r14
mov rdx, rbp
call fcn.1400332a0
lea rdi, [rsp + 0x2f0]
mov rcx, rdi
mov rdx, rbp
call fcn.140037b10
mov rcx, r14
mov rdx, rdi
call fcn.140032540
mov rcx, rdi
call fcn.140032460
mov rcx, rbp
call fcn.140032460
cmp qword [rsp + 0x5f0], 0
je 0x1400383f8
lea rcx, [rsp + 0x5c0]
mov rdx, rbx
call fcn.140037b10
cmp qword [rsp + 0x5d0], 0
je 0x1400383e7
lea rcx, [rsp + 0x5e0]
lea rdx, [rsp + 0x5c0]
call fcn.1400325e0
test al, al
jne 0x1400383e7
lea rcx, [rsp + 0x5c0]
lea rdx, [rsp + 0x5e0]
call fcn.140033a20
test al, al
je 0x140038437
xor edi, edi
lea rcx, [rsp + 0x5c0]
call fcn.140032460
jmp 0x1400383fa
xor edi, edi
lea rcx, [rsp + 0x5e0]
call fcn.140032460
lea rcx, [rsp + 0x28]
call fcn.14004f470
mov rcx, qword [rsp + 0x600]
xor rcx, rsp
call fcn.14014b5e0
mov eax, edi
add rsp, 0x608
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, r15b
lea r9d, [rax + rax]
add r9d, 1
lea rcx, [rsp + 0x2f0]
mov rdx, rbx
mov r8d, r15d
call fcn.14005c5f0
lea r14, [rsp + 0x40]
xor edi, edi
mov rcx, r14
xor edx, edx
call fcn.14004f370
cmp qword [rbx + 0x18], 7
mov rcx, rbx
jbe 0x140038474
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
mov rcx, r14
call fcn.14004f470
cmp ebp, 0xffffffff
je 0x1400386ef
lea rcx, [rsp + 0x2d0]
mov rdx, rbx
call fcn.1400322a0
lea rbp, [rsp + 0x40]
mov rcx, rbp
xor edx, edx
call fcn.14004f370
cmp qword [rbx + 0x18], 7
mov rcx, rbx
jbe 0x1400384b9
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp eax, 0xffffffff
setne r14b
and edi, 0x10
shr edi, 4
mov rcx, rbp
call fcn.14004f470
lea rcx, [rsp + 0x2b0]
mov rdx, rbx
call fcn.1400322a0
test r15b, r15b
je 0x140038549
lea r15, [rsp + 0x40]
mov rcx, r15
xor edx, edx
call fcn.14004f370
cmp qword [rsi + 0x18], 7
mov rcx, rsi
jbe 0x140038507
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
mov rcx, r15
call fcn.14004f470
cmp ebp, 0xffffffff
je 0x140038549
and ebp, 0x10
je 0x140038549
lea rbp, [rsp + 0x40]
mov rcx, rbx
mov rdx, rbp
call fcn.1400332a0
lea rcx, [rsp + 0x2b0]
mov rdx, rbp
call fcn.140032540
mov rcx, rbp
call fcn.140032460
and r14b, dil
mov byte [rsp + 0x27], r14b
mov dil, 1
lea rbp, [rsp + 0x290]
lea r14, [rsp + 0x2b0]
lea rbx, [rsp + 0x2d0]
lea r12, [rsp + 0x2f0]
mov byte [rsp + 0x26], r13b
nop dword [rax]
cmp qword [rsp + 0x2e0], 0
je 0x1400386d1
mov rcx, rbp
mov rdx, rsi
call fcn.1400322a0
mov rcx, r14
mov rdx, rbx
call fcn.140032820
test al, al
je 0x1400385bf
mov rcx, r14
mov rdx, rbx
mov r8, rbp
call fcn.140033a30
test al, al
je 0x1400386c2
movzx eax, byte [rsp + 0x27]
test al, 1
jne 0x1400385e3
mov rcx, rbx
mov rdx, rbp
mov r15d, r13d
mov r8d, r13d
call fcn.140039b50
test al, al
je 0x1400385df
mov eax, edi
mov edi, eax
jmp 0x14003865e
lea rbx, [rsp + 0x40]
mov rcx, rbx
xor edx, edx
call fcn.14004f370
cmp qword [rsp + reloc.SHELL32.dll_IsUserAnAdmin], 7
mov r13, rbp
jbe 0x140038608
mov rbp, qword [rsp + 0x290]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
mov rcx, rbx
call fcn.14004f470
cmp ebp, 0xffffffff
je 0x140038625
and ebp, 0x10
jne 0x14003864d
cmp qword [rsp + reloc.SHELL32.dll_IsUserAnAdmin], 7
mov rcx, r13
jbe 0x14003863b
mov rcx, qword [rsp + 0x290]
xor ebp, ebp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14003864b
mov ebp, edi
mov edi, ebp
lea rbx, [rsp + 0x2d0]
mov rbp, r13
movzx r15d, byte [rsp + 0x26]
mov rcx, r12
lea r13, [rsp + 0x40]
mov rdx, r13
call fcn.14005c9e0
mov rcx, rbx
mov rdx, r13
call fcn.140032540
mov rcx, r13
call fcn.140032460
cmp qword [rsp + 0x2e0], 0
je 0x1400386ab
mov rcx, r12
mov rdx, r13
call fcn.14005c950
mov rcx, r13
call fcn.14005c570
mov byte [rsp + 0x27], al
mov rcx, r13
call fcn.140012100
mov rcx, rbp
call fcn.140032460
test dil, 1
mov r13d, r15d
jne 0x140038580
jmp 0x1400386d1
lea rcx, [rsp + 0x290]
call fcn.140032460
xor edi, edi
and dil, 1
lea rcx, [rsp + 0x2b0]
call fcn.140032460
lea rcx, [rsp + 0x2d0]
call fcn.140032460
lea rcx, [rsp + 0x2f0]
call fcn.14005c880
jmp 0x1400383e9