Function at 0x1400a9410
Capabilities:
Create directory

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rsp + 0xb0], rbx
movzx ebx, dl
mov rdi, rcx
lea rdx, [rbp - 0x60]
call fcn.1400a5890
nop
test bl, bl
je 0x1400a96e7
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x30]
call fcn.14004c680
nop
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.14004ea30
mov rdx, qword [rbp - 0x60]
mov qword [rbp - 8], rdx
mov rcx, qword [rax]
mov qword [rbp - 0x60], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x38]
mov ecx, dword [rax]
mov esi, 0xffffffff
lea r14d, [rsi + 3]
test ecx, ecx
je 0x1400a949c
cmp ecx, esi
je 0x1400a94af
mov ecx, esi
mov rax, qword [rbp - 0x38]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a94af
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x38]
call fcn.140049bf0
nop
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400a94cd
cmp ecx, 0xffffffff
je 0x1400a94df
mov ecx, esi
mov rax, qword [rbp - 0x30]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a94df
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x30]
call fcn.140049bf0
mov edi, esi
mov dword [rbp - 0x20], r14d
lea rax, [0x1401a9c70]
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
mov r8d, 1
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.140045050
test al, al
mov rax, qword [rbp - 0x60]
je 0x1400a9574
xor ebx, ebx
cmp dword [rax + 4], ebx
jle 0x1400a9590
mov r15d, ebx
nop
lea rcx, [rbp + 0x40]
call fcn.14004e310
mov rcx, qword [rbp - 0x60]
mov r8, qword [rcx + 0x10]
add r8, r15
movzx eax, word [rax]
cmp word [r8 + rcx], ax
jne 0x1400a954b
inc ebx
add r15, 2
cmp ebx, dword [rcx + 4]
jl 0x1400a9520
jmp 0x1400a9590
mov edi, ebx
cmp ebx, 0xffffffff
je 0x1400a9590
lea rcx, [rbp + 0x48]
call fcn.14004e310
mov r9d, 1
mov r8d, ebx
movzx edx, word [rax]
lea rcx, [rbp - 0x60]
call fcn.1400406d0
mov edi, eax
jmp 0x1400a9590
cmp dword [rax + 4], 2
jle 0x1400a9590
mov rcx, qword [rax + 0x10]
cmp word [rcx + rax + 2], 0x3a
cmove edi, r14d
nop dword [rax + rax]
lea rcx, [rbp - 0x40]
call fcn.14004e310
lea r8d, [rdi + 1]
mov r9d, 1
movzx edx, word [rax]
lea rcx, [rbp - 0x60]
call fcn.1400406d0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1400a95c5
mov rax, qword [rbp - 0x60]
mov ebx, dword [rax + 4]
cmp edi, ebx
je 0x1400a96a9
test ebx, ebx
je 0x1400a969e
mov r8d, ebx
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x60]
call fcn.140041340
nop
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x50]
call fcn.1400b4120
nop
lea rcx, [rbp - 0x50]
call fcn.140046630
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
setne dil
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x3c], eax
mov rax, qword [rbp - 0x50]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400a962d
cmp ecx, 0xffffffff
je 0x1400a963f
mov ecx, esi
mov rax, qword [rbp - 0x50]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a963f
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x50]
call fcn.140049bf0
test dil, dil
jne 0x1400a966e
mov eax, dword [rbp - 0x3c]
cmp eax, 0xb7
je 0x1400a9653
cmp eax, 5
jne 0x1400a96b0
mov byte [rbp + 0x38], 0
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x58]
call fcn.1400abe50
test al, al
je 0x1400a96b0
cmp byte [rbp + 0x38], 0
je 0x1400a96b0
mov rax, qword [rbp - 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400a968c
cmp ecx, 0xffffffff
je 0x1400a969e
mov rax, qword [rbp - 0x58]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a969e
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x58]
call fcn.140049bf0
mov edi, ebx
cmp ebx, 0xffffffff
jne 0x1400a9590
mov bl, 1
jmp 0x1400a9784
mov rax, qword [rbp - 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400a96ce
cmp ecx, 0xffffffff
je 0x1400a96e0
mov ecx, esi
mov rax, qword [rbp - 0x58]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a96e0
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x58]
call fcn.140049bf0
xor bl, bl
jmp 0x1400a9784
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.1400a5890
nop
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400b4120
nop
lea rcx, [rbp - 0x48]
call fcn.140046630
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
setne bl
mov rax, qword [rbp - 0x48]
mov ecx, dword [rax]
mov esi, 0xffffffff
lea r14d, [rsi + 3]
test ecx, ecx
je 0x1400a9740
cmp ecx, esi
je 0x1400a9753
mov ecx, esi
mov rax, qword [rbp - 0x48]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a9753
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x48]
call fcn.140049bf0
nop
mov rax, qword [rbp - 0x28]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400a9771
cmp ecx, 0xffffffff
je 0x1400a9784
mov ecx, esi
mov rax, qword [rbp - 0x28]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a9784
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x28]
call fcn.140049bf0
nop
mov rcx, qword [rbp - 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x1400a97a0
cmp eax, 0xffffffff
je 0x1400a97b2
mov rcx, qword [rbp - 0x60]
lock xadd dword [rcx], esi
cmp esi, 1
jne 0x1400a97b2
mov r8d, 8
mov rdx, r14
mov rcx, qword [rbp - 0x60]
call fcn.140049bf0
movzx eax, bl
mov rbx, qword [rsp + 0xb0]
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret