Function at 0x1004ac24
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
mov dword [ebp - 0x14], 0x5c380a38
xor esi, esi
mov dword [ebp - 0xc], 0xffffffff
inc esi
mov dword [ebp - 0x14], esi
xor ebx, ebx
push edi
mov dword [ebp - 0x10], 8
mov edi, ecx
mov dword [ebp - 0xc], ebx
jmp 0x1004ac5f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 8], 0xfffffffa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x1004ac51
mov dword [ebp - 0xc], ebx
jmp 0x1004ac77
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x34], 0x1d89e177
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x1004ac69
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 8]
jne 0x1004ad04
mov eax, dword [ebp - 8]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xf68e
mov eax, dword [ebp - 8]
setl cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
setg dl
imul ecx, edx
imul eax, ecx
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 8]
cmp eax, 0x43d9c8c7
setl cl
xor eax, eax
cmp ecx, 0xe522
mov dword [ebp - 0x30], ecx
setne al
sub eax, dword [ebp - 8]
je 0x1004ace7
mov eax, esi
cmp dword [ebp - 0x14], ebx
jne 0x1004ace9
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 8]
push edi
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
push esi
setne dl
xor ebx, ebx
cmp edx, eax
setge bl
xor ecx, ecx
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x10]
cmp ebx, eax
setg cl
xor edx, edx
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x10], ecx
call fcn.10045e9e
pop ecx
xor ebx, ebx
mov dword [ebp - 0x14], 9
pop ecx
mov dword [ebp - 0x10], ebx
jmp 0x1004ad79
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x28], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1004ad6b
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x1004ad9c
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x1004ad97
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
dec dword [ebp - 0x14]
jns 0x1004ad87
push edi
call fcn.100317c4
mov dword [ebp - 0xc], 0xd4e06482
mov edi, eax
pop ecx
mov dword [ebp - 0xc], 0xffffffeb
jmp 0x1004adf6
mov dword [ebp - 0x14], 0xd45db34e
mov dword [ebp - 0x10], ebx
jmp 0x1004adcf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x18], 0x25b0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004adc1
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1004adf3
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x1004adee
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
dec dword [ebp - 0x14]
jns 0x1004addc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff9
jge 0x1004adb5
cmp dword [ebp - 0xc], ebx
je 0x1004ae42
mov dword [ebp - 0x10], ebx
jmp 0x1004ae14
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x20], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1004ae06
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x1004aeb5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x1004aeb5
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1004ae5f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004ae51
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x10]
jl 0x1004ae75
cmp dword [ebp - 0x10], ebx
jne 0x1004ae77
mov esi, ebx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jne 0x1004ae87
cmp dword [ebp - 0xc], ebx
je 0x1004ae8a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
neg eax
lea ecx, [eax + esi]
sub ecx, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
add ecx, dword [ebp - 0xc]
cmp ecx, 0xfffffffb
setg al
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xc], eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret