Function at 0x1400568d0
Capabilities:
Create directory

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rsp + 0xa0], rbx
mov rax, qword [rdx]
mov qword [rbp - 0x50], rax
lock inc dword [rax]
test r8b, r8b
je 0x140056afd
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x38]
call fcn.14001c7e0
nop
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.14001c550
nop
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140012be0
nop
mov rcx, qword [rbp - 0x28]
or edi, 0xffffffff
lock dec dword [rcx]
jne 0x140056940
mov rcx, qword [rbp - 0x28]
call fcn.140012a00
nop
mov rax, qword [rbp - 0x38]
lock dec dword [rax]
jne 0x140056952
mov rcx, qword [rbp - 0x38]
call fcn.140012a00
mov r12d, edi
lea rax, [0x141558278]
mov qword [rbp - 0x18], rax
mov r8d, 1
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x50]
call fcn.140011bb0
test al, al
je 0x1400569e2
xor esi, esi
mov rax, qword [rbp - 0x50]
cmp dword [rax + 8], esi
jle 0x1400569e2
mov r13d, esi
nop word [rax + rax]
mov rcx, qword [rax + 0x10]
movzx ebx, word [r13 + rcx]
lea rcx, [rbp + 0x38]
call fcn.14001c120
cmp bx, word [rax]
jne 0x1400569b9
inc esi
add r13, 2
mov rax, qword [rbp - 0x50]
cmp esi, dword [rax + 8]
jl 0x140056990
jmp 0x1400569e2
mov r12d, esi
cmp esi, 0xffffffff
je 0x1400569e2
lea rcx, [rbp + 0x48]
call fcn.14001c120
mov r9d, 1
mov r8d, esi
movzx edx, word [rax]
lea rcx, [rbp - 0x50]
call fcn.140011a10
mov r12d, eax
lea rcx, [rbp - 0x40]
call fcn.14001c120
lea r8d, [r12 + 1]
mov r9d, 1
movzx edx, word [rax]
lea rcx, [rbp - 0x50]
call fcn.140011a10
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140056a19
mov rax, qword [rbp - 0x50]
mov ebx, dword [rax + 8]
cmp r12d, ebx
je 0x140056ae7
test ebx, ebx
je 0x140056a9c
mov r8d, ebx
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x50]
call fcn.140014430
nop
mov byte [rbp + 0x40], 0
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.140056690
test al, al
jne 0x140056a8a
cmp byte [rbp + 0x40], al
jne 0x140056ad2
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x20]
call fcn.140056170
nop
mov rcx, rax
call fcn.140012e50
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
setne sil
mov rax, qword [rbp - 0x20]
lock dec dword [rax]
jne 0x140056a85
mov rcx, qword [rbp - 0x20]
call fcn.140012a00
test sil, sil
je 0x140056aa9
mov rax, qword [rbp - 0x48]
lock dec dword [rax]
jne 0x140056a9c
mov rcx, qword [rbp - 0x48]
call fcn.140012a00
mov r12d, ebx
cmp ebx, 0xffffffff
je 0x140056ae7
jmp 0x1400569e2
mov rax, qword [rbp - 0x48]
lock dec dword [rax]
jne 0x140056abc
mov rcx, qword [rbp - 0x48]
call fcn.140012a00
nop
mov rax, qword [rbp - 0x50]
lock dec dword [rax]
jne 0x140056ace
mov rcx, qword [rbp - 0x50]
call fcn.140012a00
xor al, al
jmp 0x140056b4d
mov rax, qword [rbp - 0x48]
lock dec dword [rax]
jne 0x140056ae5
mov rcx, qword [rbp - 0x48]
call fcn.140012a00
nop
jmp 0x140056abc
mov rax, qword [rbp - 0x50]
lock dec dword [rax]
jne 0x140056af9
mov rcx, qword [rbp - 0x50]
call fcn.140012a00
mov al, 1
jmp 0x140056b4d
lea rcx, [rbp - 0x30]
call fcn.140056170
nop
mov rcx, rax
call fcn.140012e50
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
setne bl
mov rcx, qword [rbp - 0x30]
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
jne 0x140056b38
mov rcx, qword [rbp - 0x30]
call fcn.140012a00
nop
mov rcx, qword [rbp - 0x50]
lock dec dword [rcx]
jne 0x140056b4a
mov rcx, qword [rbp - 0x50]
call fcn.140012a00
movzx eax, bl
mov rbx, qword [rsp + 0xa0]
add rsp, 0x70
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret