Function at 0x140018010
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x90
mov rbx, rcx
call fcn.140018cd0
cmp eax, 0xffffffff
je 0x140018048
test al, 0x10
je 0x140018048
mov al, 1
jmp 0x14001824a
mov rcx, rbx
call fcn.140019310
test al, al
je 0x14001805b
xor al, al
jmp 0x14001824a
mov rcx, rbx
call fcn.1400190a0
mov r14d, eax
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.1400169b0
nop
lea rcx, [rbp - 0x29]
call fcn.140017100
xor r15d, r15d
test eax, eax
js 0x1400180a6
mov edx, dword [rbp - 0x21]
lea ecx, [rdx - 1]
cmp eax, ecx
jne 0x1400180a6
cmp edx, 1
jne 0x14001809a
movzx ebx, dl
jmp 0x14001823e
mov dword [rbp - 0x21], ecx
mov rax, qword [rbp - 0x29]
mov word [rax + rcx*2], r15w
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
call fcn.140016940
nop
mov ebx, dword [rbp - 0x21]
mov rsi, qword [rbp - 0x29]
nop dword [rax + rax]
cmp byte [section..data], 0
jne 0x1400180ef
mov rdx, rsi
lea rcx, [rbp - 9]
call fcn.1400174c0
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
mov edi, eax
mov rcx, qword [rbp - 9]
call fcn.14001a090
test edi, edi
jmp 0x1400180fc
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
test eax, eax
jne 0x1400181b9
call qword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x140018155
lea rcx, [rbp + 7]
call fcn.140018450
lea rcx, [rbp + 0x2f]
call fcn.140016a30
nop
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 7]
call fcn.140018590
test al, al
jne 0x140018140
mov rcx, qword [rbp + 0x2f]
call fcn.14001a090
jmp 0x140018155
mov edi, dword [rbp + 0x27]
shr edi, 4
mov rcx, qword [rbp + 0x2f]
call fcn.14001a090
test dil, 1
jne 0x1400181b9
call qword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
je 0x140018267
lea rcx, [rbp - 0x29]
call fcn.140017100
mov ebx, eax
cmp eax, 1
jl 0x140018267
mov rsi, qword [rbp - 0x29]
jne 0x140018197
movzx eax, word [rsi]
cmp ax, 0x5c
je 0x140018267
cmp ax, 0x2f
je 0x140018267
lea eax, [rbx + 1]
cmp r14d, eax
jae 0x140018267
cmp ebx, dword [rbp - 0x21]
jae 0x1400180c0
mov dword [rbp - 0x21], ebx
mov word [rsi + rbx*2], r15w
jmp 0x1400180b7
cmp ebx, dword [rbp - 0x11]
jge 0x140018232
nop
lea ecx, [rbx + 1]
mov rax, qword [rbp - 0x19]
lea rcx, [rax + rcx*2]
call fcn.140018fb0
test eax, eax
jns 0x1400181d9
mov ebx, dword [rbp - 0x11]
jmp 0x1400181dd
inc ebx
add ebx, eax
mov r8d, ebx
mov rdx, qword [rbp - 0x19]
lea rcx, [rbp - 0x29]
call fcn.140017140
cmp byte [section..data], 0
jne 0x14001821d
mov rdx, qword [rbp - 0x29]
lea rcx, [rbp - 9]
call fcn.1400174c0
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
mov edi, eax
mov rcx, qword [rbp - 9]
call fcn.14001a090
test edi, edi
jmp 0x14001822b
xor edx, edx
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
test eax, eax
je 0x140018267
cmp ebx, dword [rbp - 0x11]
jl 0x1400181c0
mov bl, 1
mov rcx, qword [rbp - 0x19]
call fcn.14001a090
nop
mov rcx, qword [rbp - 0x29]
call fcn.14001a090
movzx eax, bl
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
xor bl, bl
jmp 0x140018234