Function at 0x4853f0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x260], 0
mov ecx, 6
mov esi, str.D:AI_A_OICI_0x1301bf___WD_
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 8], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0xc], 0
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x485493
push str.SetupDirectory_1
push 3
call fcn.00436500
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
push 3
call fcn.00436500
add esp, 8
mov dword [ebp - 0x140], 0xc
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 1
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x250]
push eax
call fcn.00532580
add esp, 8
lea ecx, [ebp - 0x250]
push ecx
call fcn.00433f40
add esp, 4
movsx edx, byte [0x5c74a8]
test edx, edx
je 0x4854ed
push str.SetupDirectory_2
push 4
call fcn.00436500
add esp, 8
push str.ADVAPI32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x485534
push str.ConvertSecurityDescriptorToStringSecurityDescriptorA
mov eax, dword [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x14c], eax
push str.ConvertStringSecurityDescriptorToSecurityDescriptorA
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
movsx edx, byte [0x5c74a8]
test edx, edx
je 0x48554e
push str.SetupDirectory_3
push 4
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x14c], 0
je 0x48584b
cmp dword [ebp - 0xc], 0
je 0x48584b
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x48557f
push str.SetupDirectory_4
push 4
call fcn.00436500
add esp, 8
lea ecx, [ebp - 0x260]
push ecx
push 0
lea edx, [ebp - 0x258]
push edx
push 0
push 0
push 4
push 1
lea eax, [ebp - 0x250]
push eax
call dword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoA]
mov dword [ebp - 8], 0
cmp dword [ebp - 0x260], 0
je 0x4855d0
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x148]
push edx
push 4
push 1
mov eax, dword [ebp - 0x260]
push eax
call dword [ebp - 0x14c]
cmp dword [ebp - 8], 0
je 0x48584b
movsx ecx, byte [0x5c74a8]
test ecx, ecx
je 0x4855f4
push str.SetupDirectory_5
push 4
call fcn.00436500
add esp, 8
mov esi, dword [ebp - 8]
add esi, dword [ebp - 8]
lea edx, [ebp - 0x30]
push edx
call fcn.00532e80
add esp, 4
lea eax, [esi + eax + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x134], eax
mov esi, dword [ebp - 8]
add esi, dword [ebp - 8]
lea ecx, [ebp - 0x30]
push ecx
call fcn.00532e80
add esp, 4
lea edx, [esi + eax + 1]
push edx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x134], 0
je 0x48584b
cmp dword [ebp - 0x25c], 0
je 0x48584b
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x48569c
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.00532e80
add esp, 4
push eax
mov edx, dword [ebp - 8]
push edx
push str.SetupDirectory_6___ulSize_d__pszSD_length_d
lea eax, [ebp - 0x130]
push eax
call fcn.00532706
add esp, 0x10
lea ecx, [ebp - 0x130]
push ecx
push 4
call fcn.00436500
add esp, 8
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x25c]
push ecx
call fcn.00532bd0
add esp, 0xc
mov edx, dword [ebp - 0x25c]
add edx, dword [ebp - 8]
mov byte [edx], 0
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00532580
add esp, 8
movsx edx, byte [0x5c74a8]
test edx, edx
je 0x485700
push str.SetupDirectory_7
push 4
call fcn.00436500
add esp, 8
mov eax, dword [ebp - 0x25c]
push eax
push 4
call fcn.00436500
add esp, 8
push 0x28
mov ecx, dword [ebp - 0x25c]
push ecx
call fcn.005350b0
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4857dd
push 0x29
mov edx, dword [ebp - 4]
push edx
call fcn.005350b0
add esp, 8
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
je 0x485744
mov eax, dword [ebp - 0x254]
mov byte [eax], 0
push 8
push str._A_OICI_
mov ecx, dword [ebp - 4]
push ecx
call fcn.00532db5
add esp, 0xc
test eax, eax
jne 0x485787
push str._A_OICIID_
mov edx, dword [ebp - 0x134]
push edx
call fcn.00532590
add esp, 8
mov eax, dword [ebp - 4]
add eax, 8
push eax
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00532590
add esp, 8
jmp 0x48579a
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x134]
push eax
call fcn.00532590
add esp, 8
push 0x56aaa8
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00532590
add esp, 8
cmp dword [ebp - 0x254], 0
je 0x4857d6
mov edx, dword [ebp - 0x254]
mov byte [edx], 0x29
push 0x28
mov eax, dword [ebp - 0x254]
push eax
call fcn.005350b0
add esp, 8
mov dword [ebp - 4], eax
jmp 0x4857d8
jmp 0x4857dd
jmp 0x485714
movsx ecx, byte [0x5c74a8]
test ecx, ecx
je 0x485808
push str.SetupDirectory_8
push 4
call fcn.00436500
add esp, 8
mov edx, dword [ebp - 0x134]
push edx
push 4
call fcn.00436500
add esp, 8
push 0
lea eax, [ebp - 0x13c]
push eax
push 1
mov ecx, dword [ebp - 0x134]
push ecx
call dword [ebp - 0xc]
movsx edx, byte [0x5c74a8]
test edx, edx
je 0x485837
push str.SetupDirectory_9
push 4
call fcn.00436500
add esp, 8
mov dword [ebp - 0x140], 0xc
mov dword [ebp - 0x138], 0
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x485865
push str.SetupDirectory_10
push 4
call fcn.00436500
add esp, 8
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x144], eax
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x485896
push str.SetupDirectory_11
push 4
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x144], 0
jne 0x4858e9
movsx ecx, byte [0x5c74a8]
test ecx, ecx
je 0x4858b9
push str.SetupDirectory_12
push 4
call fcn.00436500
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xb7
jne 0x4858d7
mov dword [ebp - 0x144], 1
jmp 0x4858e9
push 0
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x144], eax
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x485903
push str.SetupDirectory_13
push 4
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x260], 0
je 0x485919
mov ecx, dword [ebp - 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
movsx edx, byte [0x5c74a8]
test edx, edx
je 0x485933
push str.SetupDirectory_13_a
push 4
call fcn.00436500
add esp, 8
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x48594d
push str.SetupDirectory_13_b
push 4
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x148], 0
je 0x485963
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
movsx edx, byte [0x5c74a8]
test edx, edx
je 0x48597d
push str.SetupDirectory_13_c
push 4
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x25c], 0
je 0x485993
mov eax, dword [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
movsx ecx, byte [0x5c74a8]
test ecx, ecx
je 0x4859ad
push str.SetupDirectory_13_d
push 4
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x134], 0
je 0x4859c3
mov edx, dword [ebp - 0x134]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
movsx eax, byte [0x5c74a8]
test eax, eax
je 0x4859dd
push str.SetupDirectory_13_e
push 4
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x150], 0
je 0x4859f3
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
movsx edx, byte [0x5c74a8]
test edx, edx
je 0x485a0d
push str.SetupDirectory_14
push 3
call fcn.00436500
add esp, 8
mov eax, dword [ebp - 0x144]
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret