Function at 0x401360
Capabilities:
Create directory

Disassembly:
push rbp
sub rsp, 0x130
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0x110], rsi
mov qword [rbp + 0x118], rdi
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xd8], r14
mov qword [rbp + 0xd0], r15
mov rax, qword [0x0046ea40]
xor rax, rbp
mov qword [rbp + 0xc0], rax
mov rsi, rcx
mov qword [rbp + 0x90], 7
xor r15d, r15d
mov qword [rbp + 0x88], r15
mov word [rbp + 0x78], r15w
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
movabs r12, 0x7ffffffffffffffe
cmp rcx, r12
jbe 0x401402
call fcn.0044f5b0
cmp qword [rbp + 0x90], rbx
jae 0x401420
mov r8, qword [rbp + 0x88]
mov rdx, rbx
lea rcx, [rbp + 0x70]
call fcn.00404570
jmp 0x401443
test rbx, rbx
jne 0x401443
mov qword [rbp + 0x88], r15
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
mov word [rax], r15w
jmp 0x40148b
test rbx, rbx
je 0x40148b
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
cmovae rcx, qword [rbp + 0x78]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, rsi
call fcn.00434700
mov qword [rbp + 0x88], rbx
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
mov word [rax + rdi], r15w
mov rax, qword [rbp + 0x88]
lea rdi, [rax - 1]
cmp rdi, rax
jbe 0x4014a0
call fcn.00434d10
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
cmp word [rax + rdi*2], 0x5c
je 0x40156b
mov rax, 0xffffffffffffffff
sub rax, qword [rbp + 0x88]
cmp rax, 1
ja 0x4014d5
call fcn.0044f5b0
mov rdi, qword [rbp + 0x88]
add rdi, 1
cmp rdi, r12
jbe 0x4014ea
call fcn.0044f5b0
cmp qword [rbp + 0x90], rdi
jae 0x401508
mov r8, qword [rbp + 0x88]
mov rdx, rdi
lea rcx, [rbp + 0x70]
call fcn.00404570
jmp 0x40152a
test rdi, rdi
jne 0x40152a
mov qword [rbp + 0x88], r15
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
mov word [rax], di
jmp 0x40156b
test rdi, rdi
je 0x40156b
lea rcx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x88]
mov word [rcx + rax*2], 0x5c
mov qword [rbp + 0x88], rdi
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
mov word [rax + rdi*2], 0
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xb0], r15
mov word [rbp + 0xa0], 0
mov r14d, r15d
mov dword [rbp + 0x40], r15d
mov r13d, r15d
mov r12, r15
cmp qword [rbp + 0x88], r15
jbe 0x401911
movabs r9, 0x6666666666666667
movzx edi, byte [rbp + 0x20]
movabs r14, 0x7ffffffffffffffe
cmp r12, qword [rbp + 0x88]
jbe 0x4015dc
call fcn.00434d10
movabs r9, 0x6666666666666667
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
cmp word [rax + r12*2], 0x5c
je 0x4016eb
cmp r12, qword [rbp + 0x88]
jbe 0x401607
call fcn.00434d10
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
movzx esi, word [rax + r12*2]
mov rax, 0xffffffffffffffff
sub rax, qword [rbp + 0xb0]
cmp rax, 1
ja 0x401636
call fcn.0044f5b0
mov rbx, qword [rbp + 0xb0]
add rbx, 1
cmp rbx, r14
jbe 0x40164b
call fcn.0044f5b0
cmp qword [rbp + 0xb8], rbx
jae 0x40166c
mov r8, qword [rbp + 0xb0]
mov rdx, rbx
lea rcx, [rbp + 0x98]
call fcn.00404570
jmp 0x401697
test rbx, rbx
jne 0x401697
mov qword [rbp + 0xb0], r15
lea rax, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rax, qword [rbp + 0xa0]
mov word [rax], bx
jmp 0x4018eb
test rbx, rbx
je 0x4018eb
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xb0]
mov word [rcx + rax*2], si
mov qword [rbp + 0xb0], rbx
lea rax, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rax, qword [rbp + 0xa0]
mov word [rax + rbx*2], 0
jmp 0x4018eb
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x401763
mov rsi, qword [rbp + 0x10]
mov rcx, rsi
sub rcx, rbx
mov rax, r9
imul rcx
mov r8, rdx
sar r8, 4
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rcx, qword [rbp + 0x18]
sub rcx, rbx
mov rax, r9
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x401763
xor eax, eax
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], dil
lea r9, [rbp]
lea r8, [rbp + 0x98]
lea edx, [rax + 1]
mov rcx, rsi
call fcn.00405d50
lea r11, [rsi + 0x28]
mov qword [rbp + 0x10], r11
jmp 0x401827
mov rsi, qword [rbp + 0x10]
cmp qword [rbp + 8], rsi
jbe 0x401772
call fcn.00434d10
lea rax, [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rsi
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x4017d9
mov rcx, qword [rbp + 0x10]
sub rcx, rbx
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x4017d9
cmp rbx, qword [rbp + 0x10]
jbe 0x4017b6
call fcn.00434d10
sub rsi, rbx
movabs rax, 0x6666666666666667
imul rsi
mov rsi, rdx
sar rsi, 4
mov rax, rsi
shr rax, 0x3f
add rsi, rax
jmp 0x4017dc
mov rsi, r15
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x50], xmm0
lea r9, [rbp + 0x98]
mov r8d, 1
lea rdx, [rbp + 0x50]
lea rcx, [rbp]
call fcn.004047d0
mov rbx, qword [rbp + 8]
cmp rbx, qword [rbp + 0x10]
jbe 0x40180e
call fcn.00434d10
lea rax, [rsi + rsi*4]
lea rcx, [rbx + rax*8]
cmp rcx, qword [rbp + 0x10]
ja 0x401822
cmp rcx, qword [rbp + 8]
jae 0x401827
call fcn.00434d10
mov rax, 0xffffffffffffffff
sub rax, qword [rbp + 0xb0]
cmp rax, 1
ja 0x401840
call fcn.0044f5b0
mov rbx, qword [rbp + 0xb0]
add rbx, 1
cmp rbx, r14
jbe 0x401855
call fcn.0044f5b0
cmp qword [rbp + 0xb8], rbx
jae 0x401876
mov r8, qword [rbp + 0xb0]
mov rdx, rbx
lea rcx, [rbp + 0x98]
call fcn.00404570
jmp 0x40189e
test rbx, rbx
jne 0x40189e
mov qword [rbp + 0xb0], r15
lea rax, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rax, qword [rbp + 0xa0]
mov word [rax], bx
jmp 0x4018eb
test rbx, rbx
je 0x4018eb
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xb0]
mov word [rcx + rax*2], 0x5c
mov qword [rbp + 0xb0], rbx
lea rax, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rax, qword [rbp + 0xa0]
mov word [rax + rbx*2], 0
add r13d, 1
add r12, 1
movsxd rax, r13d
cmp rax, qword [rbp + 0x88]
movabs r9, 0x6666666666666667
jb 0x4015c4
mov r14d, dword [rbp + 0x40]
mov rbx, qword [rbp + 8]
cmp rbx, qword [rbp + 0x10]
jbe 0x401920
call fcn.00434d10
lea rax, [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rbx
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x30], xmm0
movabs rbx, 0xffffffffffffff0
mov r12, qword [rbp + 0x30]
mov rdi, qword [rbp + 0x38]
nop
nop
nop
mov rsi, qword [rbp + 0x10]
cmp qword [rbp + 8], rsi
jbe 0x40195f
call fcn.00434d10
test r12, r12
je 0x40196d
lea rax, [rbp]
cmp r12, rax
je 0x401972
call fcn.00434d10
cmp rdi, rsi
je 0x401a67
call qword [0x00470330]
mov r13d, eax
test r12, r12
jne 0x40198e
call fcn.00434d10
cmp rdi, qword [r12 + 0x10]
jb 0x40199a
call fcn.00434d10
cmp qword [rdi + 0x20], 8
jb 0x4019a7
mov rsi, qword [rdi + 8]
jmp 0x4019ab
lea rsi, [rdi + 8]
test rsi, rsi
jne 0x4019b5
mov rbx, r15
jmp 0x401a34
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x4019d0
mov rbx, r15
jmp 0x401a34
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x4019e2
mov rcx, rbx
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.0044ffa0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x401a31
mov byte [rbx], 0
lea eax, [r9 + r9]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 0xffffffff
mov r8, rsi
xor edx, edx
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r15
jmp 0x401a34
mov rbx, r15
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov r14d, r15d
test eax, eax
setne r14b
cmp rdi, qword [r12 + 0x10]
jb 0x401a54
call fcn.00434d10
add rdi, 0x28
movabs rbx, 0xffffffffffffff0
jmp 0x401950
cmp qword [rbp + 0xb8], 8
jb 0x401a7d
mov rcx, qword [rbp + 0xa0]
call fcn.0040c5f8
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xb0], r15
mov word [rbp + 0xa0], 0
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x401ae6
mov rsi, qword [rbp + 0x10]
cmp rbx, rsi
je 0x401add
add rbx, 0x20
nop
cmp qword [rbx], 8
jb 0x401abf
mov rcx, qword [rbx - 0x18]
call fcn.0040c5f8
mov qword [rbx], 7
mov qword [rbx - 8], r15
mov word [rbx - 0x18], 0
add rbx, 0x28
lea rax, [rbx - 0x20]
cmp rax, rsi
jne 0x401ab0
mov rcx, qword [rbp + 8]
call fcn.0040c5f8
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
cmp qword [rbp + 0x90], 8
jb 0x401b0a
mov rcx, qword [rbp + 0x78]
call fcn.0040c5f8
mov eax, r14d
jmp 0x401b0d
mov eax, r14d
mov rcx, qword [rbp + 0xc0]
xor rcx, rbp
call fcn.004346e0
mov rbx, qword [rbp + 0x108]
mov rsi, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x118]
mov r12, qword [rbp + 0xe8]
mov r13, qword [rbp + 0xe0]
mov r14, qword [rbp + 0xd8]
mov r15, qword [rbp + 0xd0]
lea rsp, [rbp + 0xf0]
pop rbp
ret