Function at 0x3ab168e2
Capabilities:
Create directory
Delete directory

Disassembly:
push 0x88
mov eax, 0x3ab3fa2c
call fcn.3ab359d8
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x3c], esi
cmp esi, ebx
jne 0x3ab16907
xor al, al
call fcn.3ab35a6a
ret 4
lea ecx, [ebp - 0x2c]
call fcn.3aa95baf
mov dword [ebp - 4], ebx
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x3ab16917
sub eax, edx
sar eax, 1
lea esi, [eax + eax + 0xc]
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
mov dword [ebp - 0x38], esi
neg ecx
or ecx, eax
push ecx
call fcn.3ab3c1f6
mov edi, eax
pop ecx
cmp edi, ebx
jne 0x3ab1695a
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.3ab3c1f6
jmp 0x3ab168fd
lea eax, [esi + esi]
push eax
push ebx
push edi
call fcn.3ab033f0
add esp, 0xc
push edi
mov esi, 0x3aa61348
push esi
push 1
push dword [ebp - 0x3c]
call fcn.3ab3c1f6
push esi
lea ecx, [ebp - 0x5c]
call fcn.3ab3c1f6
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 1
push edi
lea ecx, [ebp - 0x78]
call fcn.3ab3c1f6
mov byte [ebp - 4], 2
push dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.3aa971a4
add esp, 0xc
mov byte [ebp - 4], 3
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
call fcn.3ab3c1f6
mov byte [ebp - 4], 2
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.3ab3c1f6
mov byte [ebp - 4], 1
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.3ab3c1f6
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.3ab3c1f6
mov eax, edi
mov dword [ebp - 0x34], 2
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x3ab169f4
jmp 0x3ab16a95
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x3ab16a0f
lea eax, [ebp - 0x28]
push eax
call fcn.3ab3c1f6
test al, al
je 0x3ab16aed
cmp dword [ebp - 0x14], 8
mov edx, dword [ebp - 0x28]
jae 0x3ab16a29
lea edx, [ebp - 0x28]
mov ecx, dword [ebp - 0x38]
lea eax, [ecx - 1]
push eax
push edx
push ecx
push edi
call fcn.3ab3c1f6
mov eax, dword [ebp - 0x38]
add esp, 0x10
dec eax
push eax
push edi
call fcn.3ab3c1f6
push edi
lea ecx, [ebp - 0x2c]
call fcn.3ab3c1f6
push edi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x3c]
call fcn.3ab3c1f6
push edi
lea ecx, [ebp - 0x5c]
call fcn.3ab3c1f6
mov byte [ebp - 4], 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
call fcn.3ab3c1f6
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.3ab3c1f6
inc dword [ebp - 0x34]
mov eax, edi
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x3ab16a8b
sub eax, ecx
sar eax, 1
jne 0x3ab16a03
push 0x3aa541a4
lea ecx, [ebp - 0x5c]
call fcn.3ab3c1f6
mov byte [ebp - 4], 5
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
call fcn.3ab3c1f6
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.3ab3c1f6
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x3ab16ad6
lea eax, [ebp - 0x28]
push ebx
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryW]
test eax, eax
je 0x3ab16b05
cmp dword [ebp - 0x14], 8
jb 0x3ab16b2f
mov eax, dword [ebp - 0x28]
jmp 0x3ab16b32
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x3ab16af9
lea eax, [ebp - 0x28]
push ebx
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryW]
test eax, eax
jne 0x3ab16b26
mov byte [ebp - 0x2d], bl
push edi
call fcn.3ab3c1f6
pop ecx
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.3ab3c1f6
mov al, byte [ebp - 0x2d]
jmp 0x3ab168ff
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x3ab16b32
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.kernel32.dll_RemoveDirectoryW]
mov byte [ebp - 0x2d], 1
jmp 0x3ab16b08