Function at 0x444d40
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7ac
mov eax, dword [0x4750fc]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x7ac], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x214], 0x800
mov dword [ebp - 8], 0x409
mov dword [ebp - 4], 1
lea ecx, [ebp - 8]
mov dword [ebp - 0x218], ecx
mov ecx, dword [ebp - 0x7ac]
call fcn.00444400
mov edx, dword [ebp - 0x7ac]
mov al, byte [ebp + 0x18]
mov byte [edx + 0x145], al
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x7ac]
add edx, 0x350
push edx
call fcn.0041d8b0
add esp, 8
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x146
push ecx
call fcn.0041d8b0
add esp, 8
mov edx, dword [ebp - 0x7ac]
mov al, byte [ebp + 0x10]
mov byte [edx + 0x144], al
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ebp + 0x14]
mov dword [ecx + 0x348], edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x7ac]
call fcn.00443a50
movzx ecx, al
test ecx, ecx
jne 0x444e29
movsx edx, byte [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.load_esent_lib_failed____s___Windir:_s__SamDrive:_c_n
push 0x47fcf0
call fcn.0043c100
add esp, 0x14
xor al, al
jmp 0x445990
movsx edx, byte [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.load_esent_lib_ok____s___Windir:_s__SamDrive:_c_n
push 0x47fcf0
call fcn.0043c100
add esp, 0x14
mov byte [ebp - 0x210], 0
push 0x1ff
push 0
lea edx, [ebp - 0x20f]
push edx
call fcn.0041bda0
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x210]
push ecx
call fcn.0041d8b0
add esp, 8
lea edx, [ebp - 0x210]
push edx
call fcn.0041bc50
add esp, 4
lea eax, [ebp + eax - 0x211]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x424]
lea edx, [ebp - 0x210]
cmp ecx, edx
jbe 0x444ece
mov eax, dword [ebp - 0x424]
movsx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x444ebd
mov edx, dword [ebp - 0x424]
mov byte [edx], 0
jmp 0x444ece
mov eax, dword [ebp - 0x424]
sub eax, 1
mov dword [ebp - 0x424], eax
jmp 0x444e94
mov ecx, dword [ebp - 0x7ac]
cmp dword [ecx + 0x34c], 0
je 0x444f00
push str.pcunlocker
lea edx, [ebp - 0x210]
push edx
call fcn.0041d8c0
add esp, 8
push 0
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0
push 0x2000
push 0x40
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x554
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x56c]
call eax
mov dword [ebp - 0x21c], eax
push 0
push 1
push 0x11
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x554
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x56c]
call eax
mov dword [ebp - 0x21c], eax
push 0x467b30
push 0
push 0x22
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x554
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x56c]
call eax
mov dword [ebp - 0x21c], eax
push 0
push 0
push 0x30
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x554
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x56c]
call eax
mov dword [ebp - 0x21c], eax
push 0
push 0
push 0x2d
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x554
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x56c]
call eax
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x210]
push ecx
push 0
push 0
push 0xffffffffffffffff
mov edx, dword [ebp - 0x7ac]
add edx, 0x554
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x56c]
call ecx
mov dword [ebp - 0x21c], eax
mov byte [ebp - 0x420], 0
push 0x1ff
push 0
lea edx, [ebp - 0x41f]
push edx
call fcn.0041bda0
add esp, 0xc
lea eax, [ebp - 0x210]
push eax
push str._s_temp.edb
lea ecx, [ebp - 0x420]
push ecx
call fcn.0041bfd7
add esp, 0xc
lea edx, [ebp - 0x420]
push edx
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x7ac]
add eax, 0x554
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x56c]
call edx
mov dword [ebp - 0x21c], eax
push 0
push 1
push 0x24
push 0xffffffffffffffff
mov eax, dword [ebp - 0x7ac]
add eax, 0x554
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x56c]
call edx
mov dword [ebp - 0x21c], eax
push str.NTDS
push 1
push 4
push 0xffffffffffffffff
mov eax, dword [ebp - 0x7ac]
add eax, 0x554
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x56c]
call edx
mov dword [ebp - 0x21c], eax
push 0
push 0x2800
push 0xb
push 0xffffffffffffffff
mov eax, dword [ebp - 0x7ac]
add eax, 0x554
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x56c]
call edx
mov dword [ebp - 0x21c], eax
push 0
push 0x3e8
push 6
push 0xffffffffffffffff
mov eax, dword [ebp - 0x7ac]
add eax, 0x554
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x56c]
call edx
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x210]
push eax
push 0
push 2
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x554
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x56c]
call eax
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x210]
push ecx
push 0
push 0x71
push 0xffffffffffffffff
mov edx, dword [ebp - 0x7ac]
add edx, 0x554
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x56c]
call ecx
mov dword [ebp - 0x21c], eax
lea edx, [ebp - 0x420]
push edx
lea eax, [ebp - 0x210]
push eax
push str.szTempDir:_s__szTempDB:_s_n
push 0x47fcf0
call fcn.0043c100
add esp, 0x10
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x554
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x570]
call eax
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x554]
push edx
mov eax, dword [ebp - 0x21c]
push eax
push str.m_JetInit_error:_d__m_hInstance:_d_n
push 0x47fcf0
call fcn.0043c100
add esp, 0x10
mov dword [ebp - 0x428], 0
jmp 0x4451ed
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
cmp dword [ebp - 0x428], 2
jge 0x4454e9
push 0x467b88
push str.admin
mov edx, dword [ebp - 0x7ac]
add edx, 0x558
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x554]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x574]
call eax
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
push ecx
push str.m_JetBeginSession_error:_d_n
push 0x47fcf0
call fcn.0043c100
add esp, 0xc
cmp dword [ebp - 0x21c], 0
je 0x44525b
xor al, al
jmp 0x445990
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x34c]
neg eax
sbb eax, eax
and eax, 0xfffffe01
add eax, 0x200
push eax
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x558]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x578]
call edx
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x21c]
push eax
push str.m_JetAttachDatabase_error:_d_n
push 0x47fcf0
call fcn.0043c100
add esp, 0xc
cmp dword [ebp - 0x21c], 0
jge 0x44532c
mov ecx, dword [ebp - 0x7ac]
cmp dword [ecx + 0x34c], 0
je 0x4452d6
xor al, al
jmp 0x445990
push 0x400
mov edx, dword [ebp - 0x220]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x558]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x578]
call eax
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
push ecx
push str.m_JetAttachDatabase_error2:_d_n
push 0x47fcf0
call fcn.0043c100
add esp, 0xc
cmp dword [ebp - 0x21c], 0
jge 0x44532c
xor al, al
jmp 0x445990
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x34c]
neg eax
sbb eax, eax
and eax, 0xfffffe01
add eax, 0x200
push eax
mov ecx, dword [ebp - 0x7ac]
add ecx, 0x560
push ecx
push 0
mov edx, dword [ebp - 0x220]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x558]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x57c]
call eax
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
push ecx
push str.m_JetOpenDatabase_error:_d_n
push 0x47fcf0
call fcn.0043c100
add esp, 0xc
cmp dword [ebp - 0x21c], 0
je 0x4453a7
xor al, al
jmp 0x445990
mov edx, dword [ebp - 0x7ac]
add edx, 0x55c
push edx
mov eax, dword [ebp - 0x7ac]
xor ecx, ecx
cmp dword [eax + 0x34c], 0
sete cl
lea ecx, [ecx*4 + 4]
push ecx
push 0
push 0
push str.datatable
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x560]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x558]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x580]
call ecx
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
push edx
push str.m_JetOpenTable_error:_d_n
push 0x47fcf0
call fcn.0043c100
add esp, 0xc
cmp dword [ebp - 0x21c], 0
je 0x44542e
xor al, al
jmp 0x445990
cmp dword [ebp - 0x428], 0
jne 0x4454e4
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x55c]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x558]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x590]
call edx
mov dword [ebp - 0x21c], eax
push 0
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x560]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x558]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x594]
call edx
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x558]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x598]
call ecx
mov dword [ebp - 0x21c], eax
push 0
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x558]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x59c]
call edx
mov dword [ebp - 0x21c], eax
jmp 0x4451de
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x55c]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x558]
push eax
mov ecx, dword [ebp - 0x7ac]
call fcn.00442c40
push 0x467c3c
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x55c]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x558]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x5a4]
call eax
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
push ecx
push 0x467c48
push 0x47fcf0
call fcn.0043c100
add esp, 0xc
push 0
push 0x80000000
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x55c]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x558]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x588]
call ecx
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
push edx
push 0x467c68
push 0x47fcf0
call fcn.0043c100
add esp, 0xc
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x568]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x564]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x55c]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x558]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x58c]
call eax
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x564]
cmp dword [edx + 0x12c], 4
jb 0x44562d
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x564]
mov edx, dword [ecx + 0x124]
mov eax, dword [edx]
mov dword [ebp - 0x7a8], eax
cmp dword [ebp - 0x7a8], 0
jbe 0x44562d
jmp 0x44595a
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x564]
cmp dword [edx + 0x150], 0
jbe 0x445697
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x564]
mov edx, dword [ebp - 0x7ac]
mov eax, dword [ecx + 0x150]
mov dword [edx + 0x118], eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x118]
push edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x564]
mov edx, dword [ecx + 0x148]
push edx
mov eax, dword [ebp - 0x7ac]
add eax, 0x18
push eax
call fcn.0041b740
add esp, 0xc
jmp 0x44595a
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x564]
cmp dword [edx + 0x54], 4
je 0x4456ae
jmp 0x44595a
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x564]
mov edx, dword [ecx + 0x4c]
mov eax, dword [edx]
mov dword [ebp - 0x7a4], eax
cmp dword [ebp - 0x7a4], 0x30000000
je 0x4456d6
jmp 0x44595a
push 0x368
push 0
lea ecx, [ebp - 0x7a0]
push ecx
call fcn.0041bda0
add esp, 0xc
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x564]
mov dword [ebp - 0x430], eax
push 0
push 0
push 0xfe
lea ecx, [ebp - 0x79c]
push ecx
mov edx, dword [ebp - 0x430]
mov eax, dword [edx + 0xc]
shr eax, 1
push eax
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx + 4]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax + 0xc]
shr ecx, 1
mov byte [ebp + ecx - 0x79c], 0
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x564]
add eax, 0x24
mov dword [ebp - 0x430], eax
push 0
push 0
push 0x1ff
lea ecx, [ebp - 0x699]
push ecx
mov edx, dword [ebp - 0x430]
mov eax, dword [edx + 0xc]
shr eax, 1
push eax
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx + 4]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax + 0xc]
shr ecx, 1
mov byte [ebp + ecx - 0x699], 0
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x564]
add eax, 0x6c
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax + 0xc]
lea edx, [edx + ecx - 4]
mov dword [ebp - 0x438], edx
lea eax, [ebp - 0x7a0]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x438]
mov al, byte [edx + 3]
mov byte [ecx], al
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x438]
mov al, byte [edx + 2]
mov byte [ecx + 1], al
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x438]
mov al, byte [edx + 1]
mov byte [ecx + 2], al
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x438]
mov al, byte [edx]
mov byte [ecx + 3], al
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x564]
add edx, 0xb4
mov dword [ebp - 0x430], edx
mov byte [ebp - 0x69c], 0
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0xc], 0
jbe 0x445869
mov byte [ebp - 0x69c], 1
push 0x28
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx + 4]
push edx
lea eax, [ebp - 0x467]
push eax
call fcn.0041b740
add esp, 0xc
mov byte [ebp - 0x490], 0
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x564]
add edx, 0xd8
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0xc], 0
jbe 0x4458b6
mov byte [ebp - 0x490], 1
push 0x28
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx + 4]
push edx
lea eax, [ebp - 0x48f]
push eax
call fcn.0041b740
add esp, 0xc
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x564]
mov eax, dword [edx + 0x94]
mov ecx, dword [eax]
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x434]
and edx, 2
setne al
mov byte [ebp - 0x69b], al
mov ecx, dword [ebp - 0x434]
and ecx, 0x10
setne dl
mov byte [ebp - 0x69d], dl
mov eax, dword [ebp - 0x434]
and eax, 0x10000
setne cl
mov byte [ebp - 0x69a], cl
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x494], edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x564]
mov edx, dword [ecx + 0x16c]
mov eax, dword [edx]
mov dword [ebp - 0x498], eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x564]
mov eax, dword [edx + 0x100]
mov ecx, dword [eax]
mov dword [ebp - 0x43c], ecx
lea edx, [ebp - 0x7a0]
push edx
mov ecx, dword [ebp - 0x7ac]
call fcn.00409430
push 0
push 1
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [eax + 0x55c]
push ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [edx + 0x558]
push eax
mov ecx, dword [ebp - 0x7ac]
mov edx, dword [ecx + 0x588]
call edx
test eax, eax
je 0x4455a8
mov al, 1
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041b731
mov esp, ebp
pop ebp
ret 0x14