Function at 0x140003630
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rsi, rcx
mov r15, 0xffffffffffffffff
test dl, dl
je 0x1400038c3
mov r14, qword [rcx + 0x10]
mov rdi, rcx
mov r13, qword [rcx + 0x18]
cmp r13, 0x10
jb 0x140003677
mov rdi, qword [rcx]
test r14, r14
je 0x1400039cc
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memset
lea rbx, [0x1400de1c0]
mov rcx, rbx
lea rdx, [0x1400de1c2]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rsp + rax + 0x40], 1
inc rcx
cmp rcx, rdx
jne 0x1400036b0
lea rax, [r14 - 1]
mov r12, r15
cmp rax, r15
cmovb r12, rax
lea rcx, [r12 + rdi]
movzx eax, byte [rcx]
cmp byte [rsp + rax + 0x40], 0
jne 0x1400036f6
nop dword [rax]
cmp rcx, rdi
je 0x1400039cc
dec rcx
movzx eax, byte [rcx]
cmp byte [rsp + rax + 0x40], 0
je 0x1400036e0
sub rcx, rdi
cmp rcx, r15
je 0x1400039cc
mov r14, rsi
cmp r13, 0x10
jb 0x14000370e
mov r14, qword [rsi]
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memset
lea rcx, [0x1400de1c2]
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rsp + rax + 0x40], 1
inc rbx
cmp rbx, rcx
jne 0x140003730
lea rdi, [r12 + r14]
movzx eax, byte [rdi]
cmp byte [rsp + rax + 0x40], 0
jne 0x140003762
nop
cmp rdi, r14
je 0x1400037c6
dec rdi
movzx eax, byte [rdi]
cmp byte [rsp + rax + 0x40], 0
je 0x140003750
sub rdi, r14
mov qword [rsp + 0x20], 0
cmp qword [rsi + 0x10], rdi
cmovb rdi, qword [rsi + 0x10]
mov r12, rsi
cmp r13, 0x10
jb 0x140003783
mov r12, qword [rsi]
movabs r14, 0x7fffffffffffffff
cmp rdi, r14
ja 0x1400039df
cmp rdi, 0x10
jae 0x1400037cb
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
mov r8, rdi
mov rdx, r12
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rdi + 0x20], 0
mov r14, qword [rsp + 0x38]
jmp 0x140003818
mov rdi, r15
jmp 0x140003765
mov rax, rdi
or rax, 0xf
cmp rax, r14
ja 0x1400037e6
mov r14, rax
mov ecx, 0x16
cmp rax, rcx
cmovb r14, rcx
lea rdx, [r14 + 1]
lea rcx, [rsp + 0x20]
call fcn.140004950
mov rbx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov r8, rdi
mov rdx, r12
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
lea rax, [rsp + 0x20]
cmp rsi, rax
je 0x140003887
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x140003858
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x140003853
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400038b7
mov rcx, r8
call fcn.140092824
mov qword [rsi + 0x10], 0
mov byte [rsi], 0
mov qword [rsi + 0x18], 0xf
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi + 0x10], xmm1
mov r14d, 0xf
mov byte [rsp + 0x20], 0
cmp r14, 0x10
jb 0x1400038c3
lea rdx, [r14 + 1]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400038be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400038be
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140092824
mov r8, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1400038d0
mov r8, qword [rsi]
mov edx, 0x104
mov r9d, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy_s]
lea rax, [rsp + 0x40]
nop dword [rax + rax]
lea r15, [r15 + 1]
cmp byte [rax + r15], 0
jne 0x1400038f0
cmp byte [rsp + r15 + 0x3f], 0x2f
jne 0x140003909
mov byte [rsp + r15 + 0x3f], 0
lea rbx, [rsp + 0x40]
movzx eax, byte [rsp + 0x40]
test al, al
je 0x14000394b
cmp al, 0x2f
je 0x14000391f
cmp al, 0x5c
jne 0x140003941
mov byte [rbx], 0
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__access]
test eax, eax
je 0x14000393e
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
mov byte [rbx], 0x5c
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140003917
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__access]
test eax, eax
je 0x140003968
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x14000399e
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140003999
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400039d8
mov rcx, r8
call fcn.140092824
mov qword [rsi + 0x10], 0
mov byte [rsi], 0
mov qword [rsi + 0x18], 0xf
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp r13, 0x10
jb 0x14000399e
lea rdx, [r13 + 1]
jmp 0x140003975
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400048f0
nop
int3