Function at 0x140006040
Capabilities:
Create directory

Disassembly:
push rbp
push rbx
push rdi
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov rbx, rdx
mov edi, ecx
mov r9d, 1
lock xadd dword [0x140049dd0], r9d
mov rax, qword gs:[0x58]
mov r15d, 0x10
add r15, qword [rax]
mov dword [r15 + 0x20020], r9d
cmp r9d, 0x10
jge 0x140006513
call fcn.1400041e0
cmp edi, 2
jl 0x14000652d
mov rdx, qword [rbx + 8]
lea rcx, [rsp + 0x40]
call fcn.140005870
vmovups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
vmovdqa xmmword [rsp + 0x40], xmm0
call fcn.140005b20
mov rbx, qword [rsp + 0x70]
lea rcx, [rsp + 0x50]
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
vmovups xmm0, xmmword [rsp + 0x50]
vmovdqa xmmword [rsp + 0x50], xmm0
call fcn.140004cb0
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14000610a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14000653d
mov r8d, 0x7fffffff
lea rax, str.debug
cmp rbx, r8
mov qword [rsp + 0x20], rax
mov r9, rdi
lea rdx, str._.s__s
cmovl r8d, ebx
lea rcx, [rbp - 0x30]
call fcn.140003f70
lea rcx, [rsp + 0x60]
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rdi
vmovups xmm0, xmmword [rsp + 0x60]
vmovdqa xmmword [rsp + 0x60], xmm0
call fcn.140004cb0
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14000617d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14000655f
mov qword [rsp + 0x190], rsi
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x158], r13
mov qword [rsp + 0x150], r14
vmovaps xmmword [rsp + 0x140], xmm6
vmovaps xmmword [rsp + 0x130], xmm7
vmovaps xmmword [rsp + 0x120], xmm8
call fcn.140005c80
xor esi, esi
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xa0], esi
mov r14d, eax
test eax, eax
jle 0x1400064af
vmovups xmm8, xmmword [rsp + 0x70]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140005b20
mov rax, qword [rbp - 0x80]
lea r8, str..._hlsl
mov r9d, 0x7fffffff
lea rdx, str._s__.s
cmp rax, r9
lea rcx, [rbp + 0x10]
cmovl r9d, eax
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.140003f70
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
test rcx, rcx
je 0x140006237
cmp byte [rdx + rcx - 1], 0
je 0x140006581
cmp byte [rdx + rcx], 0
jne 0x1400064f9
lea rcx, [rbp - 0x20]
call fcn.140005870
lea rcx, [rsp + 0x40]
call fcn.140005c80
xor r12d, r12d
mov r13d, eax
test eax, eax
jle 0x140006450
vmovups xmm7, xmmword [rbp - 0x80]
vmovups xmm6, xmmword [rbp - 0x20]
nop dword [rax]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.140005b20
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.140005b20
mov r9, qword [rbp - 0x70]
xor r10d, r10d
mov r8d, 1
sub r9, r8
js 0x1400062f0
mov r11, qword [rbp - 0x68]
movsx edx, byte [r11 + r9]
movzx ecx, dl
call fcn.140003b50
test al, al
je 0x1400065d4
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x1400062c3
lea ecx, [rdx - 0x30]
jmp 0x1400062d3
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x1400062cd
add dl, 0x20
movsx ecx, dl
sub ecx, 0x57
cmp ecx, 0xa
jge 0x14000659b
imul ecx, r8d
lea r8d, [r8 + r8*4]
add r8d, r8d
add r10d, ecx
sub r9, 1
jns 0x1400062a2
movsxd rsi, r10d
mov ecx, 8
mov rbx, rsi
shl rbx, 4
mov rdx, rbx
call fcn.140004260
mov r8, rbx
mov rdx, rax
mov rcx, rax
call fcn.14001b290
xor edi, edi
mov r14, rax
test rsi, rsi
jle 0x1400063e8
mov rbx, rax
nop word [rax + rax]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.140005b20
mov r10, qword [rbp - 0x58]
xor ecx, ecx
mov r9, qword [rbp - 0x60]
mov rdx, r10
nop dword [rax + rax]
movsxd r8, ecx
cmp r8, r9
jge 0x140006670
movsx rax, byte [rdx]
cmp al, 0x20
ja 0x140006374
movabs r11, 0x100002600
bt r11, rax
jb 0x14000637b
inc ecx
inc rdx
jmp 0x140006350
lea rax, [r8 + 3]
cmp r9, rax
jl 0x140006656
cmp byte [r10 + r8], 0x20
jne 0x14000663c
cmp byte [r10 + r8 + 1], 0x3d
jne 0x140006622
cmp byte [r10 + r8 + 2], 0x20
jne 0x140006608
cmp byte [r9 + r10], 0xa
jne 0x1400065ee
mov byte [r10 + r8], 0
lea rax, [r10 + 3]
add rax, r8
mov qword [rbp - 0x50], r10
mov qword [rbp - 0x48], rax
inc rdi
vmovups xmm0, xmmword [rbp - 0x50]
mov byte [r9 + r10], 0
vmovups xmmword [rbx], xmm0
add rbx, 0x10
cmp rdi, rsi
jl 0x140006330
vmovups xmm1, xmmword [rbp - 0x10]
lea rax, [rsp + 0x60]
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], r14
lea r9, [rsp + 0x50]
vmovups xmm0, xmmword [rbp - 0x40]
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rbp]
lea rcx, [rbp - 0x30]
vmovdqa xmmword [rsp + 0x50], xmm0
vmovdqa xmmword [rsp + 0x60], xmm8
vmovdqa xmmword [rsp + 0x70], xmm6
vmovdqa xmmword [rbp], xmm1
vmovdqa xmmword [rbp - 0x30], xmm7
call fcn.140005d60
inc r12d
cmp r12d, r13d
jl 0x140006270
mov esi, dword [rbp + 0xa0]
mov r14d, dword [rbp + 0xa8]
mov rbx, qword [r15 + 0x20010]
mov rdi, rbx
test rbx, rbx
je 0x140006476
nop
mov rcx, rbx
mov rbx, qword [rbx + 0x18]
call fcn.14000d010
cmp rbx, rdi
je 0x140006476
test rbx, rbx
jne 0x140006460
mov qword [r15 + 0x20010], 0
inc esi
mov qword [r15 + 0x20000], 0x20000
mov qword [r15 + 0x20008], r15
mov qword [r15 + 0x20018], 0
mov dword [rbp + 0xa0], esi
cmp esi, r14d
jl 0x1400061e1
vmovaps xmm7, xmmword [rsp + 0x130]
xor eax, eax
vmovaps xmm6, xmmword [rsp + 0x140]
mov r14, qword [rsp + 0x150]
mov r13, qword [rsp + 0x158]
mov r12, qword [rsp + 0x160]
mov rsi, qword [rsp + 0x190]
vmovaps xmm8, xmmword [rsp + 0x120]
add rsp, 0x168
pop r15
pop rdi
pop rbx
pop rbp
ret
mov r8d, 0x670
lea rdx, [0x140024917]
lea rcx, str.s.data_s.length___0
call fcn.1400041c0
int3
mov r8d, 0x26
lea rdx, [0x140024c1f]
lea rcx, str.g_thread_ctx.idx___C_profile_max_threads
call fcn.1400041c0
int3
mov rdx, qword [rbx]
lea rcx, str.usage:__s__input_file_
call fcn.140004180
int3
call fcn.140004c80
mov rcx, rbx
mov r9, rax
call fcn.140003b40
mov edx, eax
lea rcx, str.failed_to_make_directory__.s:__s
mov r8, rdi
call fcn.140004180
int3
call fcn.140004c80
mov rcx, rbx
mov r9, rax
call fcn.140003b40
mov edx, eax
lea rcx, str.failed_to_make_directory__.s:__s
mov r8, rdi
call fcn.140004180
int3
mov r8d, 0x66d
lea rdx, [0x140024917]
lea rcx, str.s.length__0__s.data_s.length___1____0
call fcn.1400041c0
int3
lea rax, str.base
mov edx, 0xa
mov qword [rsp + 0x30], rax
lea r9, [0x140024947]
lea rax, str.digit_int
mov qword [rsp + 0x28], rax
lea r8, [0x140024a14]
mov dword [rsp + 0x20], 0x1b9
call fcn.1400044b0
int3
mov r8d, 0x6b1
lea rdx, [0x140024917]
lea rcx, str.Ascii_hex_c_
call fcn.1400041c0
int3
mov r8d, 0x141
lea rdx, [0x140024d87]
lea rcx, str.line_line.length____n
call fcn.1400041c0
int3
mov r8d, 0x140
lea rdx, [0x140024d87]
lea rcx, str.line_name.length__2____
call fcn.1400041c0
int3
mov r8d, 0x13f
lea rdx, [0x140024d87]
lea rcx, str.line_name.length__1___
call fcn.1400041c0
int3
mov r8d, 0x13e
lea rdx, [0x140024d87]
lea rcx, str.line_name.length__0____
call fcn.1400041c0
int3
mov r8d, 0x13d
lea rdx, [0x140024d87]
lea rcx, str.line.length___name.length__3
call fcn.1400041c0
int3
lea rcx, str.input_underflow_trying_to_parse_word
call fcn.140004180
int3