Function at 0x49e500
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x230], 0
mov ecx, 6
mov esi, str.D:AI_A_OICI_0x1301bf___WD_
lea edi, [ebp - 0x20]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x24c], 0
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x525760]
test ecx, ecx
je 0x49e5b1
push str.SetupDirectory_1
push 3
call fcn.00440830
add esp, 8
mov edx, dword [ebp + 8]
push edx
push 3
call fcn.00440830
add esp, 8
mov dword [ebp - 0x258], 0xc
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 1
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x120]
push ecx
call fcn.004b5e60
add esp, 8
lea edx, [ebp - 0x120]
push edx
call fcn.0042e130
add esp, 4
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x525760]
test ecx, ecx
je 0x49e613
push str.SetupDirectory_2
push 4
call fcn.00440830
add esp, 8
push str.ADVAPI32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
je 0x49e65d
push str.ConvertSecurityDescriptorToStringSecurityDescriptorA
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x248], eax
push str.ConvertStringSecurityDescriptorToSecurityDescriptorA
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x24c], eax
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x525760]
test edx, edx
je 0x49e67f
push str.SetupDirectory_3
push 4
call fcn.00440830
add esp, 8
cmp dword [ebp - 0x248], 0
je 0x49ea7a
cmp dword [ebp - 0x24c], 0
je 0x49ea7a
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x525760]
test ecx, ecx
je 0x49e6bb
push str.SetupDirectory_4
push 4
call fcn.00440830
add esp, 8
lea edx, [ebp - 0x240]
push edx
push 0
lea eax, [ebp - 0x260]
push eax
push 0
push 0
push 4
push 1
lea ecx, [ebp - 0x120]
push ecx
call dword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoA]
mov dword [ebp - 0x22c], 0
cmp dword [ebp - 0x240], 0
je 0x49e712
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x23c]
push eax
push 4
push 1
mov ecx, dword [ebp - 0x240]
push ecx
call dword [ebp - 0x248]
cmp dword [ebp - 0x22c], 0
je 0x49ea7a
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x525760]
test eax, eax
je 0x49e741
push str.SetupDirectory_5
push 4
call fcn.00440830
add esp, 8
mov esi, dword [ebp - 0x22c]
add esi, dword [ebp - 0x22c]
lea ecx, [ebp - 0x20]
push ecx
call fcn.004b5f60
add esp, 4
lea edx, [esi + eax + 1]
push edx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x224], eax
mov esi, dword [ebp - 0x22c]
add esi, dword [ebp - 0x22c]
lea eax, [ebp - 0x20]
push eax
call fcn.004b5f60
add esp, 4
lea ecx, [esi + eax + 1]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x224], 0
je 0x49ea7a
cmp dword [ebp - 0x230], 0
je 0x49ea7a
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x525760]
test eax, eax
je 0x49e800
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.004b5f60
add esp, 4
push eax
mov edx, dword [ebp - 0x22c]
push edx
push str.SetupDirectory_6___ulSize_d__pszSD_length_d
lea eax, [ebp - 0x220]
push eax
call fcn.004b6e08
add esp, 0x10
lea ecx, [ebp - 0x220]
push ecx
push 4
call fcn.00440830
add esp, 8
mov edx, dword [ebp - 0x22c]
push edx
mov eax, dword [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x230]
push ecx
call fcn.004b69f0
add esp, 0xc
mov edx, dword [ebp - 0x230]
add edx, dword [ebp - 0x22c]
mov byte [edx], 0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.004b5e60
add esp, 8
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x525760]
test eax, eax
je 0x49e872
push str.SetupDirectory_7
push 4
call fcn.00440830
add esp, 8
mov ecx, dword [ebp - 0x230]
push ecx
push 4
call fcn.00440830
add esp, 8
push 0x28
mov edx, dword [ebp - 0x230]
push edx
call fcn.004b95a0
add esp, 8
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x49e9f9
push 0x29
mov eax, dword [ebp - 0x228]
push eax
call fcn.004b95a0
add esp, 8
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x49e8bf
mov ecx, dword [ebp - 0x238]
mov byte [ecx], 0
push 8
push str._A_OICI_
mov edx, dword [ebp - 0x228]
push edx
call fcn.004b6970
add esp, 0xc
test eax, eax
jne 0x49e90b
push str._A_OICIID_
mov eax, dword [ebp - 0x224]
push eax
call fcn.004b5e70
add esp, 8
mov ecx, dword [ebp - 0x228]
add ecx, 8
push ecx
mov edx, dword [ebp - 0x224]
push edx
call fcn.004b5e70
add esp, 8
jmp 0x49e9b3
push 0xa
push str._A_OICIIO_
mov eax, dword [ebp - 0x228]
push eax
call fcn.004b6970
add esp, 0xc
test eax, eax
jne 0x49e954
push str._A_OICIIOID_
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.004b5e70
add esp, 8
mov edx, dword [ebp - 0x228]
add edx, 0xa
push edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.004b5e70
add esp, 8
jmp 0x49e9b3
push 6
push str._A_CI_
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.004b6970
add esp, 0xc
test eax, eax
jne 0x49e99d
push str._A_CIID_
mov edx, dword [ebp - 0x224]
push edx
call fcn.004b5e70
add esp, 8
mov eax, dword [ebp - 0x228]
add eax, 6
push eax
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.004b5e70
add esp, 8
jmp 0x49e9b3
mov edx, dword [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.004b5e70
add esp, 8
push 0x4f3920
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.004b5e70
add esp, 8
cmp dword [ebp - 0x238], 0
je 0x49e9f2
mov edx, dword [ebp - 0x238]
mov byte [edx], 0x29
push 0x28
mov eax, dword [ebp - 0x238]
push eax
call fcn.004b95a0
add esp, 8
mov dword [ebp - 0x228], eax
jmp 0x49e9f4
jmp 0x49e9f9
jmp 0x49e889
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x525760]
test edx, edx
je 0x49ea2c
push str.SetupDirectory_8
push 4
call fcn.00440830
add esp, 8
mov eax, dword [ebp - 0x224]
push eax
push 4
call fcn.00440830
add esp, 8
push 0
lea ecx, [ebp - 0x254]
push ecx
push 1
mov edx, dword [ebp - 0x224]
push edx
call dword [ebp - 0x24c]
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x525760]
test ecx, ecx
je 0x49ea66
push str.SetupDirectory_9
push 4
call fcn.00440830
add esp, 8
mov dword [ebp - 0x258], 0xc
mov dword [ebp - 0x250], 0
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x525760]
test eax, eax
je 0x49ea9c
push str.SetupDirectory_10
push 4
call fcn.00440830
add esp, 8
lea ecx, [ebp - 0x258]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x244], eax
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x525760]
test ecx, ecx
je 0x49ead5
push str.SetupDirectory_11
push 4
call fcn.00440830
add esp, 8
cmp dword [ebp - 0x244], 0
jne 0x49eb36
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x525760]
test eax, eax
je 0x49eb00
push str.SetupDirectory_12
push 4
call fcn.00440830
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0xb7
jne 0x49eb24
mov dword [ebp - 0x244], 1
jmp 0x49eb36
push 0
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x244], eax
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x525760]
test eax, eax
je 0x49eb58
push str.SetupDirectory_13
push 4
call fcn.00440830
add esp, 8
cmp dword [ebp - 0x240], 0
je 0x49eb6e
mov ecx, dword [ebp - 0x240]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x525760]
test eax, eax
je 0x49eb90
push str.SetupDirectory_13_a
push 4
call fcn.00440830
add esp, 8
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x525760]
test edx, edx
je 0x49ebb2
push str.SetupDirectory_13_b
push 4
call fcn.00440830
add esp, 8
cmp dword [ebp - 0x23c], 0
je 0x49ebc8
mov eax, dword [ebp - 0x23c]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x525760]
test edx, edx
je 0x49ebea
push str.SetupDirectory_13_c
push 4
call fcn.00440830
add esp, 8
cmp dword [ebp - 0x230], 0
je 0x49ec00
mov eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x525760]
test edx, edx
je 0x49ec22
push str.SetupDirectory_13_d
push 4
call fcn.00440830
add esp, 8
cmp dword [ebp - 0x224], 0
je 0x49ec38
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x525760]
test edx, edx
je 0x49ec5a
push str.SetupDirectory_13_e
push 4
call fcn.00440830
add esp, 8
cmp dword [ebp - 0x234], 0
je 0x49ec70
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x525760]
test edx, edx
je 0x49ec92
push str.SetupDirectory_14
push 3
call fcn.00440830
add esp, 8
mov eax, dword [ebp - 0x244]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret