Function at 0x485860
Capabilities:
Create directory

Disassembly:
push ebx
push esi
push edi
push ebp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x48586a
mov eax, dword [esp + 0x2000]
add esp, 4
mov esi, eax
mov ebp, dword [0x4bec7c]
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov edi, dword [edx + eax*4 - 4]
mov eax, dword [edi + 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp]
mov ecx, dword [0x4be754]
mov al, byte [edi + 0x442]
call fcn.00480a3c
test al, al
jne 0x485bc4
call fcn.0048272c
mov dword [esi], eax
mov ebx, dword [esi]
lea eax, [ebx + 0x178]
push eax
call sub.kernel32.dll_GetSystemTimeAsFileTime
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov al, byte [eax + 0x442]
mov byte [ebx], al
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0xc]
lea eax, [ebx + 8]
call fcn.004b81b0
mov al, byte [ebx]
test al, al
je 0x485908
cmp al, 0x1a
jg 0x485908
cmp al, 0xde
jge 0x48592e
lea edx, [ebx + 8]
mov eax, dword [0x4beb38]
call fcn.004b81b0
mov eax, dword [0x4beb38]
call fcn.004aed28
mov edx, eax
lea eax, [ebx + 0x108]
call fcn.004b81b0
jmp 0x48593c
lea edx, [ebx + 8]
lea eax, [ebx + 0x108]
call fcn.004b81b0
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x148], edx
mov edx, dword [eax + 0x14]
mov dword [ebx + 0x14c], edx
mov eax, dword [0x4bedb0]
mov byte [eax], 0
xor edi, edi
mov al, byte [ebx]
cmp al, 0x1a
jle 0x485981
movsx edx, al
imul edx, edx, 0xb
mov ecx, dword [0x4beaf4]
lea edi, [ecx + edx*8 - 0x948]
cmp al, 0xde
jge 0x48599a
movsx eax, al
add eax, eax
lea eax, [eax + eax*4]
mov edx, dword [0x4beb50]
lea edi, [edx + eax*8 + 0xd20]
test edi, edi
je 0x4859b5
cmp dword [edi + 0x28], 0
je 0x4859b5
mov edx, dword [edi + 0x28]
mov eax, dword [0x4bedb0]
mov cx, 0x22b
call fcn.004b81d8
mov eax, dword [0x4bedb0]
call fcn.004b8404
mov dword [ebx + 0x154], eax
mov eax, esp
mov edx, 0x2000
call fcn.004066e4
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov edx, esp
call fcn.00465a7c
test edi, edi
je 0x485a35
cmp byte [edi + 0x24], 0
je 0x485a35
mov eax, esp
call fcn.004ab7d8
mov eax, esp
call fcn.004ab7d8
push 0x485bd4
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_lstrcatA
mov al, byte [edi + 0x24]
mov byte [ebx + 0x180], al
xor eax, eax
mov al, byte [edi + 0x24]
mov edx, dword [0x4be92c]
xor ecx, ecx
mov cl, byte [edx + eax]
lea edx, [edi + 4]
lea eax, [ebx + 0x181]
call fcn.004066dc
jmp 0x485a80
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0xd2]
mov byte [ebx + 0x180], al
and eax, 0x7f
mov edx, dword [0x4be92c]
xor ecx, ecx
mov cl, byte [edx + eax]
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
lea edx, [eax + 0xb2]
lea eax, [ebx + 0x181]
call fcn.004066dc
mov eax, esp
add eax, 2
call fcn.004b8404
mov dword [ebx + 0x150], eax
mov byte [ebx + 4], 1
mov eax, dword [esi]
mov edx, dword [0x4be650]
mov dword [edx], eax
mov eax, dword [esi]
mov dx, word [eax + 2]
xor eax, eax
call fcn.004066c4
mov dword [0x4c2440], eax
mov eax, dword [esi]
call fcn.00484d84
mov eax, dword [0x4c2440]
call fcn.00480908
mov edx, dword [0x4bedb0]
mov eax, dword [esi]
mov ax, word [eax + 2]
call fcn.00481a50
test eax, eax
je 0x485ae3
push 0
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_CreateDirectoryA
mov eax, dword [esi]
add eax, 0x108
push eax
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax]
push eax
call sub.user32.dll_SetWindowTextA
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [esi]
mov dword [eax + 0x84], edx
mov eax, dword [esi]
mov dx, word [eax + 2]
xor eax, eax
call fcn.004066c4
mov edx, dword [ebp]
mov ecx, dword [0x4be754]
mov edx, dword [ecx + edx*4 - 4]
mov dword [edx + 0x80], eax
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [eax + 0x84]
add edx, 0x158
mov ecx, dword [ebp]
mov ebx, dword [0x4be754]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x6c], edx
mov eax, dword [0x4be810]
mov byte [eax], 3
push 0
push 0
mov eax, dword [ebp]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax]
push eax
call sub.user32.dll_InvalidateRect
call fcn.00427d08
mov ax, word [ebp]
mov edx, dword [esi]
mov word [edx + 0x208], ax
mov eax, dword [esi]
mov byte [eax + 5], 1
mov eax, dword [0x4bef50]
mov eax, dword [eax]
mov al, byte [eax + 0x160]
mov edx, dword [esi]
mov byte [edx + 6], al
call fcn.004810c0
mov ebx, eax
mov eax, dword [0x4bef50]
mov eax, dword [eax]
mov byte [eax + 0x163], 1
xor eax, eax
call fcn.00482388
mov eax, ebx
add esp, 0x2000
pop ebp
pop edi
pop esi
pop ebx
ret