Function at 0x140013ce0
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x300]
sub rsp, 0x400
mov rax, qword [0x140087080]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov rbx, rcx
lea rcx, [rbp - 0x80]
call fcn.1400029b0
nop
xor edx, edx
mov r8d, 0x158
lea rcx, [rbp + 0x190]
call fcn.14006b260
lea rcx, [rbp + 0x190]
call fcn.140012370
nop
mov rdx, rbx
lea rcx, [rbp + 0x190]
call fcn.140012570
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x190]
call fcn.140012810
nop
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x40], rdi
mov r15, qword [rbp - 0x80]
cmp rbx, rdi
je 0x14001442e
mov r13, qword [rbp - 0x70]
nop
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.1400029b0
nop
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rbp - 0x20], xmm0
movsd xmm1, qword [rbx + 0x30]
movsd qword [rbp - 0x10], xmm1
lea rdx, [rbx + 0x38]
lea rcx, [rbp - 8]
call fcn.1400029b0
nop
lea rdx, [rbx + 0x58]
lea rcx, [rbp + 0x18]
call fcn.1400029b0
movzx eax, word [rbx + 0x78]
mov word [rbp + 0x38], ax
movzx eax, word [rbx + 0x7a]
mov word [rbp + 0x3a], ax
movzx eax, word [rbx + 0x7c]
mov word [rbp + 0x3c], ax
movzx eax, word [rbx + 0x7e]
mov word [rbp + 0x3e], ax
mov rax, qword [rbx + 0x80]
mov qword [rbp + 0x40], rax
mov eax, dword [rbx + 0x88]
mov dword [rbp + 0x48], eax
mov eax, dword [rbx + 0x8c]
mov dword [rbp + 0x4c], eax
mov rax, qword [rbx + 0x90]
mov qword [rbp + 0x50], rax
mov eax, dword [rbx + 0x98]
mov dword [rbp + 0x58], eax
mov rax, qword [rbx + 0xa0]
mov qword [rbp + 0x60], rax
mov rax, qword [rbx + 0xa8]
mov qword [rbp + 0x68], rax
mov rdi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x30]
test rsi, rsi
je 0x140013fd2
lea rax, [rbp - 0x40]
cmp rdi, 0xf
cmova rax, r14
cmp byte [rsi + rax - 1], 0x2f
jne 0x140013fd2
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, rsi
jb 0x140014548
lea r12, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r12, r15
lea rax, [rbp - 0x40]
cmp rdi, 0xf
cmova rax, r14
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
lea r15, [rsi + r13]
mov edi, 0xf
lea r14, [rsp + 0x48]
cmp r15, rdi
jbe 0x140013f32
mov rdi, r15
or rdi, 0xf
cmp rdi, rcx
jbe 0x140013eda
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140013f06
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
je 0x140013f2a
cmp rcx, 0x1000
jb 0x140013f25
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001453c
mov rcx, rax
call fcn.14003c6e0
test rax, rax
je 0x140014542
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140013f2d
call fcn.14003c6e0
mov r14, rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rdi
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.14006abc0
lea rcx, [r14 + r13]
mov r8, rsi
mov rdx, qword [rsp + 0x30]
call fcn.14006abc0
mov byte [r14 + r15], 0
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rcx, qword [rsp + 0x48]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x140013fb6
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013fb1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014542
call fcn.14003c71c
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
jmp 0x140014405
lea r15, [rbp - 0x40]
cmp rdi, 0xf
cmova r15, r14
test rsi, rsi
je 0x14001423f
mov r8, rsi
mov edx, 0x2f
mov rcx, r15
call fcn.14006b600
test rax, rax
je 0x14001423f
sub rax, r15
cmp rax, 0xffffffffffffffff
je 0x14001423f
lea rcx, [rbp - 0x40]
cmp rdi, 0xf
cmova rcx, r14
test rsi, rsi
je 0x140014053
lea rax, [rsi - 1]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
add r8, rcx
cmp byte [r8], 0x2f
je 0x14001404e
nop dword [rax]
cmp r8, rcx
je 0x140014053
dec r8
cmp byte [r8], 0x2f
jne 0x140014040
sub r8, rcx
jmp 0x14001405a
mov r8, 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xor r15d, r15d
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r15
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp - 0x40]
cmp rdi, 0xf
cmova rdx, r14
lea rcx, [rbp - 0x60]
call fcn.140002dc0
nop
mov r14, qword [rbp - 0x60]
mov r12, qword [rbp - 0x50]
test r12, r12
je 0x1400141f8
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
sub rax, r13
cmp rax, r12
jb 0x14001455a
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rax, qword [rbp - 0x80]
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova rcx, r14
mov qword [rsp + 0x38], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
lea r15, [r12 + r13]
mov edi, 0xf
lea rsi, [rsp + 0x48]
cmp r15, rdi
jbe 0x140014181
mov rdi, r15
or rdi, 0xf
cmp rdi, rdx
jbe 0x140014120
mov rdi, rdx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140014150
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x14001413a
xor esi, esi
jmp 0x14001417c
cmp rcx, 0x1000
jb 0x14001416f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001454e
mov rcx, rax
call fcn.14003c6e0
test rax, rax
je 0x140014554
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140014177
call fcn.14003c6e0
mov rsi, rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rdi
mov r8, r13
mov rdx, rax
mov rcx, rsi
call fcn.14006abc0
lea rcx, [rsi + r13]
mov r8, r12
mov rdx, qword [rsp + 0x38]
call fcn.14006abc0
mov byte [rsi + r15], 0
lea rcx, [rsp + 0x48]
call fcn.140013910
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x1400141f8
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400141f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014554
call fcn.14003c71c
nop
mov rax, qword [rbp - 0x48]
cmp rax, 0xf
jbe 0x140014233
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x14001422b
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014560
mov rcx, r14
call fcn.14003c71c
mov r14, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x28]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, rsi
jb 0x140014572
lea r12, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r12, qword [rbp - 0x80]
lea rax, [rbp - 0x40]
cmp rdi, 0xf
cmova rax, r14
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
lea r15, [rsi + r13]
mov edi, 0xf
lea r14, [rsp + 0x48]
cmp r15, rdi
jbe 0x140014315
mov rdi, r15
or rdi, 0xf
cmp rdi, rcx
jbe 0x1400142bd
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400142e9
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
je 0x14001430d
cmp rcx, 0x1000
jb 0x140014308
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140014566
mov rcx, rax
call fcn.14003c6e0
test rax, rax
je 0x14001456c
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140014310
call fcn.14003c6e0
mov r14, rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rdi
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.14006abc0
lea rcx, [r14 + r13]
mov r8, rsi
mov rdx, qword [rsp + 0x38]
call fcn.14006abc0
mov byte [r14 + r15], 0
xor edx, edx
mov r8d, 0x118
lea rcx, [rbp + 0x70]
call fcn.14006b260
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x70]
call fcn.140014c80
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_fstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x70], rax
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb8]
mov dword [rbp + rcx + 0x6c], edx
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x190]
call fcn.140012940
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov rdx, qword [rdx + rax + 0x48]
lea rcx, [rbp + 0x80]
call fcn.140014730
nop
lea rcx, [rbp + 0x70]
call fcn.140013810
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x140014405
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400143ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001456c
call fcn.14003c71c
nop
lea rcx, [rbp - 0x40]
call fcn.1400135f0
add rbx, 0xb0
mov r15, qword [rbp - 0x80]
cmp rbx, qword [rsp + 0x40]
jne 0x140013d90
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400144c2
cmp rbx, rdi
je 0x140014459
nop dword [rax]
mov rcx, rbx
call fcn.1400135f0
add rbx, 0xb0
cmp rbx, rdi
jne 0x140014440
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
sub rcx, rbx
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0xb0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400144a8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014536
mov rcx, rbx
call fcn.14003c71c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], 0
lea rcx, [rbp + 0x190]
call fcn.140012430
nop
mov rax, qword [rbp - 0x68]
cmp rax, 0xf
jbe 0x140014506
lea rdx, [rax + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400144fe
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014530
mov rcx, r15
call fcn.14003c71c
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.14003c6c0
mov rbx, qword [rsp + 0x450]
add rsp, 0x400
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140047984
nop
call fcn.140047984
nop
call fcn.140001420
int3
call fcn.140047984
int3
call fcn.1400014c0
nop
call fcn.140001420
int3
call fcn.140047984
int3
call fcn.1400014c0
nop
call fcn.140047984
int3
call fcn.140001420
int3
call fcn.140047984
int3
call fcn.1400014c0
int3