Function at 0x1400f4450
Capabilities:
Create directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rcx, [rsp + 0x28]
call fcn.1400f9ea0
mov rsi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400f19a4
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call fcn.1400f81e0
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1400f19a1
xor esi, esi
mov rcx, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400f1986
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
test rdi, rdi
je 0x1400f19a4
add rdi, rdi
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call fcn.14000dd90
jmp 0x1400f19a4
mov rsi, rdi
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
cmp byte [rcx], 0
je 0x1400f445a
jmp 0x1400f4460
jmp 0x1400f1910
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
lea rcx, [rsp + 0x20]
call fcn.1400f7d80
movzx ebp, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
mov eax, 6
movzx r8d, bpl
lea r9, [0x1400f4900]
movsxd r10, dword [r9 + r8*4]
add r10, r9
mov r8, rsi
mov r9, rdi
jmp r10
add rcx, 4
mov rax, rcx
jmp case.0x1400f44ae.2
lea rax, [rdx + 1]
test rdx, rdx
cmove rax, rdx
add rax, rcx
add rax, 8
jmp case.0x1400f44ae.2
lea rax, [rdx + 1]
test rdx, rdx
cmove rax, rdx
add rax, rcx
add rax, 2
jmp case.0x1400f44ae.2
mov eax, 2
cmp rax, rsi
ja case.0x1400f4574.2
mov r8, rsi
sub r8, rax
add rax, rdi
mov r9, rax
test r8, r8
je 0x1400f4515
movzx eax, byte [r9]
cmp al, 0x5c
sete cl
cmp al, 0x2f
sete r15b
or r15b, cl
jmp 0x1400f4518
xor r15d, r15d
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x8f], rax
movups xmm0, xmmword [rsp + 0x21]
movups xmm1, xmmword [rsp + 0x31]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea r14, str.failed_to_create_whole_tree
lea rcx, [rsp + 0x20]
mov rdx, r14
xor r8d, r8d
call fcn.1400f7d80
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
and al, 0x30
and al, 0x30
mov rdx, qword [rsp + 0x40]
movzx r8d, al
movzx r8d, al
lea r9, [0x1400f491c]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
jmp rax
jmp rax
add rcx, 4
jmp 0x1400f45a3
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 8
jmp 0x1400f45a3
invalid
adc cl, byte [rbp + rcx*4 + 0x42]
add dword [rax - 0x7b], ecx
ror byte [rdi + rcx + 0x44], cl
ret 0x14c
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 2
test rcx, rcx
jne case.0x1400f4574.2
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xbf], rcx
movups xmm0, xmmword [rsp + 0x21]
movups xmm1, xmmword [rsp + 0x31]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
test rsi, rsi
jne 0x1400f45ec
cmp bpl, 3
setae cl
cmp al, 3
setb dl
xor dl, cl
jne 0x1400f47ff
cmp bpl, 6
je 0x1400f4616
mov rcx, qword [rsp + 0x8f]
mov qword [rsp + 0x3f], rcx
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rcx, qword [rsp + 0x3f]
mov qword [rsp + 0x128], rcx
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x119], xmm1
movups xmmword [rsp + 0x109], xmm0
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], rsi
mov byte [rsp + 0x108], bpl
mov word [rsp + 0x130], 0x200
mov byte [rsp + 0x132], r15b
cmp al, 6
je 0x1400f469b
mov rcx, qword [rsp + 0xbf]
mov qword [rsp + 0xef], rcx
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov rcx, qword [rsp + 0xef]
mov qword [rsp + 0x50], rcx
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x41], xmm1
movups xmmword [rsp + 0x31], xmm0
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], 0
mov byte [rsp + 0x30], al
mov word [rsp + 0x58], 0x200
mov byte [rsp + 0x5a], 0
lea rcx, [rsp + 0xf8]
lea rdx, [rsp + 0x20]
call fcn.1400ebcc0
test al, al
ror byte [rdi], 0x85
invalid
add dword [rax], eax
invalid
ror byte [rdi], 0x85
add eax, 0x48000001
mov ecx, ebx
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
invalid
call 0x1400f1910
test rax, rax
je 0x1400f47ff
add byte [rax], al
invalid
add byte [rax], al
mov r14, rax
mov r15d, r14d
and r15d, 3
lea rax, [0x1400f4938]
invalid
add al, byte [rax]
add byte [rdx + 0x63], cl
or al, 0xb8
add rcx, rax
jmp rcx
invalid
movzx eax, byte [r14 + 0x10]
test al, al
jne 0x1400f4815
jmp 0x1400f475b
cmp byte [r14 + 0xf], 0
jne 0x1400f4815
jmp 0x1400f4761
mov rcx, r14
shr rcx, 0x20
call fcn.1400f98e0
test al, al
jne 0x1400f4815
cmp r15d, 1
jne 0x1400f47a8
mov r15, r14
dec r15
mov rcx, qword [r14 - 1]
mov rax, qword [r14 + 7]
call qword [rax]
mov rax, qword [r14 + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400f478a
mov r8, qword [rax + 0x10]
mov rcx, qword [r15]
mov ecx, dword [rdi]
mov ecx, dword [rdi]
call fcn.14000dd90
mov edx, 0x18
mov r8d, 8
mov rcx, r15
call fcn.14000dd90
jmp 0x1400f47a8
mov rax, r14
shr rax, 0x20
jne 0x1400f4815
mov rcx, rdi
mov rdx, rsi
call fcn.1400ef6c0
test rax, rax
je 0x1400f48e8
mov r8, rdx
mov rcx, rbx
mov rdx, rax
call 0x1400f4460
mov r14, rax
test rax, rax
jne 0x1400f4802
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call 0x1400f1910
test rax, rax
je 0x1400f47ff
mov r14, rax
mov rcx, rdi
mov rdx, rsi
call fcn.1400efa10
test al, al
je 0x1400f4802
mov rcx, r14
call fcn.1400f3400
xor r14d, r14d
mov rax, r14
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, [rsp + 0x20]
mov rdx, rdi
mov r8, rsi
call fcn.1400f19b0
cmp dword [rsp + 0x20], 2
jne 0x1400f4877
mov rdi, qword [rsp + 0x28]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x1400f4802
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400f4862
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000dd90
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000dd90
jmp 0x1400f4802
mov eax, dword [rsp + 0x60]
test eax, 0x400
je 0x1400f4891
mov ecx, 0x20000000
and ecx, dword [rsp + 0x64]
jne 0x1400f4802
xor edi, edi
and eax, 0x10
cmove rdi, r14
cmp r15d, 1
jne 0x1400f48f4
test eax, eax
je 0x1400f48f4
mov rsi, r14
dec rsi
mov rcx, qword [r14 - 1]
mov rax, qword [r14 + 7]
call qword [rax]
mov rax, qword [r14 + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400f48cd
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000dd90
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000dd90
mov r14, rdi
jmp 0x1400f4802
lea r14, str.failed_to_create_whole_tree
jmp 0x1400f4802
mov r14, rdi
jmp 0x1400f4802
ud2