Function at 0x4abca0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x744
push ebx
mov ebx, dword [ebp + 8]
mov cl, byte [ebx + 0x876]
test cl, cl
lea eax, [ebx + 0x876]
push esi
push edi
mov dword [esp + 0x14], eax
jne 0x4abf79
xor eax, eax
mov word [esp + 0x10], ax
mov ecx, 0x40
lea edi, [esp + 0x218]
push ebx
push 0x432
mov byte [esp + 0x1a], al
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0x120]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x320]
push ecx
call fcn.00425550
lea edx, [esp + 0x324]
push 0x5f9088
push edx
call fcn.005da9a0
add esp, 0x14
test eax, eax
je 0x4abf85
lea edx, [eax + 2]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4abd34
sub eax, esi
inc eax
push eax
push edx
lea eax, [esp + 0x320]
push eax
call fcn.005daa60
lea ecx, [esp + 0x324]
push 0x2f
push ecx
call fcn.005da7f0
add esp, 0x14
test eax, eax
je 0x4abf85
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x11c]
push ecx
lea edx, [esp + 0x220]
push edx
lea ecx, [esp + 0x1c]
push ecx
inc eax
push eax
call fcn.005da53c
mov al, byte [esp + 0x12c]
add esp, 0x14
test al, al
je 0x4abf85
mov al, byte [esp + 0x18]
test al, al
je 0x4abf85
mov eax, dword [ebx + 0xcb8]
test eax, eax
je 0x4abe01
lea edx, [esp + 0x18]
push 0x5f7b88
push edx
call fcn.005f1860
add esp, 8
test eax, eax
je 0x4abe01
mov eax, dword [str.update]
mov cx, word [0x5f9084]
mov dl, byte [0x5f9086]
mov dword [esp + 0x118], eax
mov eax, dword [0x5f7b88]
mov word [esp + 0x11c], cx
mov cl, byte [0x5f7b8c]
mov byte [esp + 0x11e], dl
mov dword [esp + 0x18], eax
mov byte [esp + 0x1c], cl
mov al, byte [ebx + 0x444]
test al, al
lea esi, [ebx + 0x444]
push 0
je 0x4abe42
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x11c]
push eax
push esi
lea ecx, [esp + 0x324]
push str._s_s_s
push ecx
call fcn.005d9929
add esp, 0x14
jmp 0x4abf5f
push 0
lea edx, [esp + 0x320]
push edx
push 0x5f4c90
call fcn.0048d300
mov al, byte [esp + 0x328]
add esp, 0x10
test al, al
je 0x4abf85
lea eax, [esp + 0x318]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4abe72
sub eax, edx
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x11c]
push edx
lea eax, [esp + eax + 0x320]
push 0x5f4a5c
push eax
call fcn.005d9929
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x12c]
push edx
lea eax, [esp + 0x230]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x338]
push edx
call fcn.005da53c
lea eax, [esp + 0x33c]
push 3
push eax
call fcn.00424420
add esp, 0x2c
test eax, eax
je 0x4abf5f
mov esi, 2
lea ecx, [esp + 0x18]
push ecx
push esi
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x32c]
push str._s_s_s_d_s
push edx
call fcn.005d9929
lea eax, [esp + 0x334]
push 3
push eax
call fcn.00424420
add esp, 0x24
test eax, eax
je 0x4abf2b
inc esi
cmp esi, 0x64
jl 0x4abee0
jmp 0x4abf30
cmp esi, 0x64
jl 0x4abf5f
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x11c]
push edx
lea eax, [esp + 0x220]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x328]
push str._s_s_s_s
push edx
call fcn.005d9929
add esp, 0x18
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x318]
push eax
push 0x432
push ecx
call fcn.00425550
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret