Function at 0x1400471e0
Capabilities:
Create directory

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rdi, rdx
mov rsi, rcx
lea rax, str.create_directories
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], 0
test rdx, rdx
je 0x140047240
mov dword [rdi], 0
movzx eax, byte [0x140277a98]
test al, al
je 0x140047664
lea rax, [0x140275190]
mov qword [rdi + 8], rax
mov dword [rsp + 0x20], 0
movzx eax, byte [0x140277a98]
test al, al
je 0x140047633
lea rbx, [0x140275190]
mov qword [rsp + 0x28], rbx
lea rcx, [rsp + 0xd8]
lea r14, [rsp + 0x88]
lea r12, [rsp + 0x20]
mov rdx, rsi
mov r8, r14
mov r9, r12
call fcn.1400477d0
movzx eax, byte [rsp + 0xd8]
cmp eax, 0xff
je 0x1400472b6
cmp eax, 2
je 0x140047606
test eax, eax
jne 0x1400472f3
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x20]
call fcn.140047930
jmp 0x140047606
movabs r13, 0x7fffffffffffffef
lea rcx, [rsp + 0x48]
mov rdx, rsi
call fcn.1400479c0
mov rbp, qword [rsp + 0x50]
cmp rbp, r13
ja 0x140047695
mov r15, qword [rsp + 0x48]
cmp rbp, 0xa
ja 0x140047333
mov byte [rsp + 0x9f], bpl
jmp 0x1400473a0
movzx eax, byte [0x140277aa0]
test al, al
je 0x14004769a
mov dword [rsp + 0x88], 0x11
lea rax, str.p__
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x88]
call fcn.140047930
jmp 0x140047606
mov rbx, rbp
or rbx, 7
inc rbx
js 0x1400476fc
lea r12, [rbx + rbx]
nop word [rax + rax]
mov rcx, r12
call sub.msvcrt.dll_malloc
test rax, rax
jne 0x14004736d
mov rax, qword [0x14027c368]
test rax, rax
je 0x140047372
call rax
jmp 0x140047350
mov r14, rax
jmp 0x140047375
xor r14d, r14d
mov qword [rsp + 0x88], r14
add r13, 0x11
or rbx, r13
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rbp
lea rbx, [0x140275190]
lea r12, [rsp + 0x20]
mov r8, rbp
add r8, rbp
mov rcx, r14
mov rdx, r15
call fcn.140122c10
mov word [r14 + rbp*2], 0
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x47]
test al, al
jns 0x1400473e0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400474b4
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x88]
lea r9, [rsp + 0x20]
call fcn.1400477d0
movzx eax, byte [rsp + 0x48]
cmp eax, 0xff
je 0x14004745d
cmp eax, 2
je 0x1400474b4
test eax, eax
je 0x1400475e6
movzx eax, byte [0x140277aa0]
test al, al
je 0x140047794
mov dword [rsp + 0x88], 0x14
lea rax, str.p__
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x88]
jmp 0x1400475f0
movzx eax, byte [rsi + 0x17]
mov rcx, rsi
test al, al
jns 0x14004746f
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x88]
call fcn.140048c50
test eax, eax
je 0x14004761b
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1400471e0
test rdi, rdi
je 0x1400474b4
cmp dword [rdi], 0
jne 0x1400475f5
lea rax, str.create_directory
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x20], 0
movzx eax, byte [0x140277a98]
test al, al
je 0x1400476cb
mov qword [rsp + 0x28], rbx
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x1400474fb
mov rcx, qword [rsi]
call qword [sym.imp.msvcrt.dll__wmkdir]
test eax, eax
je 0x1400475df
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0x11
jne 0x1400475a0
call qword [sym.imp.msvcrt.dll__errno]
mov edi, dword [rax]
movzx eax, byte [0x140277aa0]
test al, al
je 0x140047701
mov dword [rsp + 0xf8], edi
lea rax, str.p__
mov qword [rsp + 0x100], rax
mov dword [rsp + 0xe8], 0
movzx eax, byte [0x140277a98]
test al, al
je 0x140047732
mov qword [rsp + 0xf0], rbx
lea rcx, [rsp + 0xe0]
lea r8, [rsp + 0x88]
lea r9, [rsp + 0xe8]
mov rdx, rsi
call fcn.1400477d0
cmp byte [rsp + 0xe0], 2
je 0x1400475df
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0xf8]
jmp 0x1400475da
call qword [sym.imp.msvcrt.dll__errno]
mov esi, dword [rax]
movzx eax, byte [0x140277aa0]
test al, al
je 0x140047763
mov dword [rsp + 0x88], esi
lea rax, str.p__
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x88]
call fcn.140047930
cmp dword [rsp + 0x20], 0
je 0x1400475f5
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x20]
call fcn.140047930
cmp byte [rsp + 0x47], 0
jns 0x140047606
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
nop
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x68]
mov edx, 0x16
call fcn.140047ab0
cmp byte [rsp + 0x47], 0
jns 0x140047606
jmp 0x1400475fc
lea rcx, [0x140277a98]
call fcn.140043169
test eax, eax
je 0x140047257
lea rcx, [0x14003b650]
call fcn.140001440
lea rcx, [0x140277a98]
call fcn.1400431eb
jmp 0x140047257
lea rcx, [0x140277a98]
call fcn.140043169
test eax, eax
je 0x140047235
lea rcx, [0x14003b650]
call fcn.140001440
lea rcx, [0x140277a98]
call fcn.1400431eb
jmp 0x140047235
call sub.msvcrt.dll_abort
lea rcx, [0x140277aa0]
call fcn.140043169
test eax, eax
je 0x140047302
lea rcx, [0x14003b5a0]
call fcn.140001440
lea rcx, [0x140277aa0]
call fcn.1400431eb
jmp 0x140047302
lea rcx, [0x140277a98]
call fcn.140043169
test eax, eax
je 0x1400474ea
lea rcx, [0x14003b650]
call fcn.140001440
lea rcx, [0x140277a98]
call fcn.1400431eb
jmp 0x1400474ea
call fcn.140015ae8
lea rcx, [0x140277aa0]
call fcn.140043169
test eax, eax
je 0x14004752f
lea rcx, [0x14003b5a0]
call fcn.140001440
lea rcx, [0x140277aa0]
call fcn.1400431eb
jmp 0x14004752f
lea rcx, [0x140277a98]
call fcn.140043169
test eax, eax
je 0x14004755f
lea rcx, [0x14003b650]
call fcn.140001440
lea rcx, [0x140277a98]
call fcn.1400431eb
jmp 0x14004755f
lea rcx, [0x140277aa0]
call fcn.140043169
test eax, eax
je 0x1400475b7
lea rcx, [0x14003b5a0]
call fcn.140001440
lea rcx, [0x140277aa0]
call fcn.1400431eb
jmp 0x1400475b7
lea rcx, [0x140277aa0]
call fcn.140043169
test eax, eax
je 0x140047431
lea rcx, [0x14003b5a0]
call fcn.140001440
lea rcx, [0x140277aa0]
call fcn.1400431eb
jmp 0x140047431