Function at 0x1400137c0
Capabilities:
Check if file exists
Create directory

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x2c0], rbx
mov rax, qword [0x14003d880]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov rbx, r8
mov rsi, rdx
lea rcx, [0x14003e798]
mov rax, qword [0x14003e798]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x20], rdi
test rbx, rbx
je 0x14001384c
test rbx, 0xffffffffffff0000
jne 0x14001384c
movzx ebx, bx
mov ecx, ebx
call fcn.140008320
test rax, rax
je 0x14001385e
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14000c2f0
jmp 0x140013859
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14000d5f0
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.140013b50
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14001387e
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400138ad
lea rdx, [rdi - 0x18]
or esi, 0xffffffff
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1400138a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor al, al
jmp 0x140013b26
lea rcx, [0x14003e798]
mov rax, qword [0x14003e798]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rbx
test rsi, rsi
je 0x1400138f6
test rsi, 0xffffffffffff0000
jne 0x1400138f6
movzx esi, si
mov ecx, esi
call fcn.140008320
test rax, rax
je 0x140013908
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.14000c2f0
jmp 0x140013903
mov rdx, rsi
lea rcx, [rsp + 0x28]
call fcn.14000d5f0
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call fcn.1400136c0
mov r13, rax
test rax, rax
jne 0x140013944
lea rdx, [rbx - 0x18]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140013936
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rsp + 0x20]
lea rdx, [rax - 0x18]
jmp 0x140013892
xor edx, edx
mov r8d, 0x230
lea rcx, [rsp + 0x40]
call fcn.14001b8e0
xor r15d, r15d
mov r14d, r15d
mov dword [rsp + 0x40], r15d
mov word [rsp + 0x44], r15w
mov dword [rbp + 0x16c], r15d
or esi, 0xffffffff
cmp dword [r13], 1
je 0x140013984
mov dword [0x140040574], 0x80000
jmp 0x1400139ea
mov r12, qword [r13 + 8]
mov rcx, qword [r12]
cmp dword [rcx + 8], 0xffffffff
jg 0x140013999
mov eax, 0x10000
jmp 0x1400139e4
cmp dword [r12 + 8], 0xffffffff
je 0x1400139a6
call fcn.1400129d0
mov dword [r12 + 8], esi
mov rax, qword [r12]
mov r14d, dword [rax + 8]
mov dword [rsp + 0x40], r14d
mov word [rsp + 0x44], r15w
mov qword [rbp + 0x14c], r15
mov qword [rbp + 0x154], r15
mov qword [rbp + 0x15c], r15
mov qword [rbp + 0x164], r15
mov dword [rbp + 0x16c], r15d
mov eax, r15d
mov dword [0x140040574], eax
mov r12d, r15d
test r14d, r14d
jle 0x140013aec
nop word [rax + rax]
xor edx, edx
mov r8d, 0x230
lea rcx, [rsp + 0x40]
call fcn.14001b8e0
mov dword [rsp + 0x40], r15d
mov word [rsp + 0x44], r15w
mov dword [rbp + 0x16c], r15d
cmp dword [r13], 1
je 0x140013a37
mov dword [0x140040574], 0x80000
jmp 0x140013a5b
cmp r12d, 0xffffffff
jl 0x140013a50
lea r8, [rsp + 0x40]
mov edx, r12d
mov rcx, qword [r13 + 8]
call fcn.140012c00
jmp 0x140013a55
mov eax, 0x10000
mov dword [0x140040574], eax
lea rcx, [0x14003e798]
mov rax, qword [0x14003e798]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x44]
mov r8, rdi
lea rdx, [0x140034d90]
lea rcx, [rsp + 0x30]
call fcn.14000cb70
mov rbx, qword [rsp + 0x30]
cmp dword [r13], 1
je 0x140013aa6
mov dword [0x140040574], 0x80000
jmp 0x140013abb
mov r8, rbx
mov edx, r12d
mov rcx, qword [r13 + 8]
call fcn.140013360
mov dword [0x140040574], eax
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140013ad5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc r12d
cmp r12d, r14d
jge 0x140013ae7
mov rdi, qword [rsp + 0x20]
jmp 0x140013a00
mov rbx, qword [rsp + 0x28]
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140013b07
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rsp + 0x20]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140013b24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov al, 1
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.140014a20
mov rbx, qword [rsp + 0x2c0]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret