Function at 0x1400028c0
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 0x140002d10
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.140006fa0
test eax, eax
mov ecx, r14d
sete cl
mov qword [rdi + 0x90], rcx
test eax, eax
jne 0x140002d10
mov r15d, 1
test r13, r13
je 0x14000297b
mov r12, 0xffffffffffffffff
nop dword [rax + rax]
inc r12
cmp byte [r12 + r13], r14b
jne 0x140002970
jmp 0x140002980
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.140006fa0
test eax, eax
jne 0x140002d10
mov eax, dword [rbp - 0x78]
cmp rax, 0x104
jae 0x140002d35
cmp qword [rbp - 0x80], 0
mov byte [rbp + rax - 0x40], 0
je 0x140002c8e
test byte [rbp - 0x64], 0x10
jne 0x140002c8e
test r13, r13
je 0x140002a08
mov r8, r12
lea rcx, [rbp - 0x40]
mov rdx, r13
call fcn.140016190
test eax, eax
jne 0x140002c8e
lea rsi, [rbp - 0x40]
mov edx, 0x2f
add rsi, r12
mov rcx, rsi
call fcn.14000c58c
test rax, rax
mov edx, 0x2e
lea rbx, [rax + 1]
cmove rbx, rsi
mov rcx, rbx
call fcn.14000c58c
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 0x140002a86
test rcx, rcx
je 0x140002af2
lea rdx, [0x140031394]
call fcn.14001624c
test eax, eax
jne 0x140002af2
mov edx, 0x2f
mov rcx, rsi
call fcn.14000c510
sub eax, esi
mov rdx, rsi
mov r8d, eax
jmp 0x140002ae0
cmp eax, 2
jne 0x140002af2
test rcx, rcx
je 0x140002af2
lea rdx, [0x140031398]
call fcn.14001624c
test eax, eax
jne 0x140002af2
mov edx, 0x2d
mov rcx, rbx
call fcn.14000c510
test rax, rax
je 0x140002af2
xor eax, eax
mov edx, eax
lea rax, [r14 - 1]
cmp rax, rbx
jb 0x140002ad2
nop
cmp byte [rax], 0x2e
je 0x140002acf
dec rax
cmp rax, rbx
jae 0x140002ac0
jmp 0x140002ad2
mov rdx, rax
cmp rdx, r14
je 0x140002af2
inc rdx
sub r14d, edx
mov r8d, r14d
mov rcx, qword [rsp + 0x50]
call fcn.1400027e0
test eax, eax
je 0x140002c7d
mov rcx, rdi
call fcn.140008190
test eax, eax
jne 0x140002d10
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 0x140002b66
cmp cx, 0x2f
jne 0x140002b5b
mov word [rbp + rax*2 + 0x2e0], dx
inc rax
cmp rax, 0x104
jb 0x140002b40
mov r8, qword [rsp + 0x58]
lea rcx, [rbp + 0xd0]
mov edx, 0x104
call fcn.140016110
lea r8, [0x1400308c0]
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.1400150ac
lea rcx, [rbp + 0xd0]
mov rax, 0xffffffffffffffff
cmp word [rcx + rax*2 + 2], r14w
lea rax, [rax + 1]
jne 0x140002ba2
lea rbx, [rbp + 0xd0]
mov esi, 0x5c
lea rbx, [rbx + rax*2]
test r13, r13
je 0x140002bd7
mov edx, esi
lea rcx, [rbp + 0x2e0]
call fcn.14000c498
add rax, 2
jmp 0x140002bde
lea rax, [rbp + 0x2e0]
mov r8, rax
lea rcx, [rbp + 0xd0]
mov edx, 0x104
call fcn.1400150ac
movzx eax, word [rbx]
test ax, ax
je 0x140002c29
nop word [rax + rax]
cmp ax, 0x5c
jne 0x140002c1c
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 0x140002c00
lea r9, [rbp + 0xd0]
mov r8, rdi
xor edx, edx
mov ecx, 1
call fcn.1400022d0
mov rbx, qword [rdi + 0x110]
mov r15d, eax
test rbx, rbx
je 0x140002c80
mov rcx, qword [rbx]
call fcn.140015a18
cmp dword [rbx + 0x68], 8
mov qword [rbx], r14
jne 0x140002c68
lea rcx, [rbx + 8]
call fcn.14000add0
mov rcx, rbx
mov dword [rbx + 0x68], r14d
call fcn.140015a18
mov qword [rdi + 0x110], r14
jmp 0x140002c80
xor r14d, r14d
lea rsi, [rdi + 0xb0]
lea rbx, [rdi + 0x108]
test r15d, r15d
je 0x140002d0b
cmp qword [rdi + 0x90], 0
je 0x140002d0b
mov rcx, qword [rdi + 0x68]
cmp rcx, 0xffff
je 0x140002cb9
mov rax, qword [rdi + 0x80]
inc rax
cmp rax, rcx
je 0x140002d0b
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.140006fa0
test eax, eax
mov rcx, r14
sete cl
mov qword [rdi + 0x90], rcx
test eax, eax
je 0x140002980
mov eax, r15d
jmp 0x140002d12
xor eax, eax
mov rcx, qword [rbp + 0x4f0]
xor rcx, rsp
call fcn.140008700
add rsp, 0x608
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140008828
int3