Function at 0x140003030
Capabilities:
Create directory

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x508]
sub rsp, 0x608
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x4f0], rax
mov qword [rsp + 0x50], r9
mov r13, rdx
mov qword [rsp + 0x58], r8
mov rdi, rcx
test rcx, rcx
je 0x140003480
mov rax, qword [rcx + 0xa8]
lea rbx, [rcx + 0x108]
lea rsi, [rcx + 0xb0]
mov qword [rcx + 0x88], rax
xor r14d, r14d
mov r8, rbx
mov rdx, rsi
mov qword [rcx + 0x80], r14
xor r9d, r9d
mov dword [rsp + 0x20], r14d
call fcn.140007690
test eax, eax
mov ecx, r14d
sete cl
mov qword [rdi + 0x90], rcx
test eax, eax
jne 0x140003480
mov r15d, 1
test r13, r13
je 0x1400030eb
mov r12, 0xffffffffffffffff
nop dword [rax + rax]
inc r12
cmp byte [r12 + r13], r14b
jne 0x1400030e0
jmp 0x1400030f0
mov r12, r14
nop
xorps xmm0, xmm0
mov dword [rsp + 0x20], 0x104
xor eax, eax
lea r9, [rbp - 0x40]
xor r8d, r8d
mov qword [rbp - 0x50], rax
lea rdx, [rsp + 0x60]
mov rcx, rdi
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
call fcn.140007690
test eax, eax
jne 0x140003480
mov eax, dword [rbp - 0x78]
cmp rax, 0x104
jae 0x1400034a5
cmp qword [rbp - 0x80], 0
mov byte [rbp + rax - 0x40], 0
je 0x1400033fe
test byte [rbp - 0x64], 0x10
jne 0x1400033fe
test r13, r13
je 0x140003178
mov r8, r12
lea rcx, [rbp - 0x40]
mov rdx, r13
call fcn.140018ab0
test eax, eax
jne 0x1400033fe
lea rsi, [rbp - 0x40]
mov edx, 0x2f
add rsi, r12
mov rcx, rsi
call fcn.14000cc6c
test rax, rax
mov edx, 0x2e
lea rbx, [rax + 1]
cmove rbx, rsi
mov rcx, rbx
call fcn.14000cc6c
test rax, rax
mov r14, rax
lea rcx, [rax + 1]
mov eax, 0
cmove rcx, rax
mov eax, dword [rbp + 0x570]
cmp eax, 1
jne 0x1400031f6
test rcx, rcx
je 0x140003262
lea rdx, [0x140034584]
call fcn.140018b6c
test eax, eax
jne 0x140003262
mov edx, 0x2f
mov rcx, rsi
call fcn.14000cbf0
sub eax, esi
mov rdx, rsi
mov r8d, eax
jmp 0x140003250
cmp eax, 2
jne 0x140003262
test rcx, rcx
je 0x140003262
lea rdx, [0x140034588]
call fcn.140018b6c
test eax, eax
jne 0x140003262
mov edx, 0x2d
mov rcx, rbx
call fcn.14000cbf0
test rax, rax
je 0x140003262
xor eax, eax
mov edx, eax
lea rax, [r14 - 1]
cmp rax, rbx
jb 0x140003242
nop
cmp byte [rax], 0x2e
je 0x14000323f
dec rax
cmp rax, rbx
jae 0x140003230
jmp 0x140003242
mov rdx, rax
cmp rdx, r14
je 0x140003262
inc rdx
sub r14d, edx
mov r8d, r14d
mov rcx, qword [rsp + 0x50]
call fcn.140002f50
test eax, eax
je 0x1400033ed
mov rcx, rdi
call fcn.140008880
test eax, eax
jne 0x140003480
lea rax, [rbp + 0x2e0]
mov dword [rsp + 0x28], 0x104
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x40]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor r14d, r14d
mov edx, 0x5c
mov eax, r14d
nop dword [rax + rax]
movzx ecx, word [rbp + rax*2 + 0x2e0]
test cx, cx
je 0x1400032d6
cmp cx, 0x2f
jne 0x1400032cb
mov word [rbp + rax*2 + 0x2e0], dx
inc rax
cmp rax, 0x104
jb 0x1400032b0
mov r8, qword [rsp + 0x58]
lea rcx, [rbp + 0xd0]
mov edx, 0x104
call fcn.1400178b8
lea r8, [0x140033980]
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.140017920
lea rcx, [rbp + 0xd0]
mov rax, 0xffffffffffffffff
cmp word [rcx + rax*2 + 2], r14w
lea rax, [rax + 1]
jne 0x140003312
lea rbx, [rbp + 0xd0]
mov esi, 0x5c
lea rbx, [rbx + rax*2]
test r13, r13
je 0x140003347
mov edx, esi
lea rcx, [rbp + 0x2e0]
call fcn.14000cb78
add rax, 2
jmp 0x14000334e
lea rax, [rbp + 0x2e0]
mov r8, rax
lea rcx, [rbp + 0xd0]
mov edx, 0x104
call fcn.140017920
movzx eax, word [rbx]
test ax, ax
je 0x140003399
nop word [rax + rax]
cmp ax, 0x5c
jne 0x14000338c
xor edx, edx
mov word [rbx], r14w
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov word [rbx], si
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x140003370
lea r9, [rbp + 0xd0]
mov r8, rdi
xor edx, edx
mov ecx, 1
call fcn.140002a40
mov rbx, qword [rdi + 0x110]
mov r15d, eax
test rbx, rbx
je 0x1400033f0
mov rcx, qword [rbx]
call fcn.1400182ec
cmp dword [rbx + 0x68], 8
mov qword [rbx], r14
jne 0x1400033d8
lea rcx, [rbx + 8]
call fcn.14000b4b0
mov rcx, rbx
mov dword [rbx + 0x68], r14d
call fcn.1400182ec
mov qword [rdi + 0x110], r14
jmp 0x1400033f0
xor r14d, r14d
lea rsi, [rdi + 0xb0]
lea rbx, [rdi + 0x108]
test r15d, r15d
je 0x14000347b
cmp qword [rdi + 0x90], 0
je 0x14000347b
mov rcx, qword [rdi + 0x68]
cmp rcx, 0xffff
je 0x140003429
mov rax, qword [rdi + 0x80]
inc rax
cmp rax, rcx
je 0x14000347b
mov ecx, dword [rdi + 0xe0]
xor r9d, r9d
mov eax, dword [rdi + 0xd8]
mov r8, rbx
add ecx, dword [rdi + 0xdc]
add eax, 0x2e
inc qword [rdi + 0x80]
add eax, ecx
add qword [rdi + 0x88], rax
mov rcx, rdi
mov rdx, rsi
mov dword [rsp + 0x20], r14d
call fcn.140007690
test eax, eax
mov rcx, r14
sete cl
mov qword [rdi + 0x90], rcx
test eax, eax
je 0x1400030f0
mov eax, r15d
jmp 0x140003482
xor eax, eax
mov rcx, qword [rbp + 0x4f0]
xor rcx, rsp
call fcn.140008df0
add rsp, 0x608
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140008f18
int3