Function at 0x4063a0
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x48]
sub esp, 0x48
push 0xffffffffffffffff
push 0x45f540
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp + 0xc], ebx
mov dword [ebp - 4], 0
mov dword [ebp + 8], 0
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x4063eb
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp + 0x14], edi
mov byte [ebp - 4], 1
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x40640f
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x1c], eax
mov byte [ebp - 4], 2
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x406433
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 3
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x406457
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x3c], eax
mov byte [ebp - 4], 4
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x40647b
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x24], eax
mov byte [ebp - 4], 5
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x40649f
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x28], eax
mov byte [ebp - 4], 6
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x4064c3
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 4], eax
push ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.0040b6c0
push ebx
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 8
call fcn.0040b6c0
mov byte [ebp - 4], 9
or esi, 0xffffffff
mov eax, dword [ebx + 0xe8]
lea edx, [eax - 0x10]
mov dword [ebp], 0
cmp dword [edx + 4], 0
mov ecx, dword [edx]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x40], 0
mov dword [ebp + 0x30], ecx
je 0x406570
cmp dword [edx + 0xc], 0
lea ecx, [edx + 0xc]
jge 0x40654c
cmp dword [eax - 8], 0
jge 0x406538
push 0x80070057
call fcn.0040f120
mov dword [eax - 0xc], 0
xor ecx, ecx
mov eax, dword [ebx + 0xe8]
mov word [eax], cx
jmp 0x406570
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40655f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx + 0xe8], eax
push dword [ebx + 0x34]
lea eax, [ebp + 0x10]
push 0x472ce8
push eax
call fcn.0040d8b0
add esp, 0xc
cmp dword [ebx + 0xa8], 0
jne 0x406597
mov ebx, 0x1a
jmp 0x407cea
push ecx
mov ecx, esp
lea eax, [ebp + 0x50]
push eax
mov dword [ebp + 0x44], ecx
call fcn.0040eb20
mov ecx, ebx
call fcn.00403660
test al, al
je 0x4065b8
xor ebx, ebx
jmp 0x407cea
mov eax, dword [ebx + 0xa8]
mov edx, eax
and edx, 1
shl edx, 2
mov dword [ebp + 0x30], edx
test al, 2
je 0x4065d3
or edx, 8
mov dword [ebp + 0x30], edx
mov ecx, edx
or ecx, 2
and al, 8
mov eax, dword [ebx + 0xa8]
cmove ecx, edx
mov edx, ecx
or edx, 1
and al, 4
lea eax, [ebp + 0x50]
cmove edx, ecx
mov dword [ebp + 0x2c], edx
or edx, 1
push edx
push dword [ebx + 0x34]
push ecx
mov ecx, esp
push eax
mov dword [ebp + 0x44], ecx
call fcn.0040eb20
lea ecx, [ebp - 0x40]
call fcn.0040b9d0
mov esi, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp + 0x34], esi
mov dword [ebx + 0x28], eax
test esi, esi
jne 0x406654
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x40662d
mov dword [ebp + 0x34], 0x2c
jmp 0x406654
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x20]
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorControl]
test eax, eax
jne 0x4067e6
mov dword [ebp + 0x34], 0x11
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x28], eax
or esi, 0xffffffff
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4067c8
push eax
lea eax, [ebp + 0x30]
mov ecx, ebx
push eax
call fcn.00402a10
mov esi, eax
lea eax, [ebp + 0x50]
mov byte [ebp - 4], 0x72
push eax
lea eax, [ebp + 0x38]
push str.Getting_Security_Info_of__
push eax
call fcn.0040c990
push str.__failed_with:
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x73
push eax
call fcn.0040ca60
push esi
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x74
push eax
call fcn.0040cb30
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x75
push eax
lea eax, [ebp + 0x44]
push str.ERROR:
push eax
call fcn.0040c990
add esp, 0x30
push eax
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x78
call fcn.0040f050
mov byte [ebp - 4], 0x75
or esi, 0xffffffff
mov edx, dword [ebp + 0x44]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4066f2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebx + 4], 0
je 0x40670f
push ecx
mov ecx, esp
lea eax, [ebp + 0x54]
push eax
mov dword [ebp + 0x2c], ecx
call fcn.0040eb20
mov eax, dword [ebx + 4]
call eax
add esp, 4
cmp dword [ebx + 0xc4], 0
je 0x406750
push 0x470a3c
push 0x470a44
lea ecx, [ebp + 0x54]
call fcn.0040d0f0
push dword [ebp + 0x54]
push 0x470a48
push dword [ebx + 0xc4]
call fcn.0040eb00
push dword [ebx + 0xc4]
mov esi, eax
call fcn.0042f577
add esp, 0x10
or esi, 0xffffffff
mov byte [ebp - 4], 0x74
mov eax, esi
mov edx, dword [ebp + 0x54]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40676e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x73
mov eax, esi
mov edx, dword [ebp + 0x40]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40678c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x72
mov eax, esi
mov edx, dword [ebp + 0x38]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4067aa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, esi
mov edx, dword [ebp + 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4067c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebx + 0x2c], 0
jne 0x4067d8
cmp dword [ebp + 0x34], 0x2c
jne 0x407cd2
mov dword [ebx + 0x28], 0
xor ebx, ebx
jmp 0x407cd5
mov ecx, dword [ebp + 0x30]
movzx eax, word [ebp + 0x20]
and ecx, 0xfffffffb
and eax, 0x1000
movzx eax, word [ebp + 0x20]
cmove ecx, dword [ebp + 0x30]
mov edx, ecx
and edx, 0xfffffff7
and eax, 0x2000
cmove edx, ecx
mov dword [ebp + 0x30], edx
test edx, edx
je 0x40687b
mov esi, dword [ebx + 0x34]
lea eax, [ebp + 0x50]
push ecx
mov ecx, esp
push eax
mov dword [ebp + 0x44], ecx
call fcn.0040eb20
lea edx, [ebp + 4]
mov ecx, esi
call fcn.0040c4d0
add esp, 4
test al, al
je 0x40687b
push dword [ebp + 0x30]
lea eax, [ebp + 4]
push dword [ebx + 0x34]
push ecx
mov ecx, esp
push eax
mov dword [ebp + 0x44], ecx
call fcn.0040eb20
lea ecx, [ebp - 0x74]
call fcn.0040b9d0
mov ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0x34], ecx
mov dword [ebx + 0x28], eax
test ecx, ecx
jne 0x406865
cmp dword [ebp - 0x60], ecx
jne 0x40687b
lea ecx, [ebp - 0x74]
call fcn.0040b840
mov dword [ebp + 0x34], 0
mov dword [ebx + 0x28], 0
mov ax, word [ebp + 0x20]
mov esi, dword [ebp + 0x54]
test al, 4
je 0x4068fa
movzx eax, ax
test eax, 0x1000
je 0x406897
push str._protected
jmp 0x4068cf
push dword [ebp - 0x70]
mov ecx, ebx
push dword [ebp - 0x34]
push esi
push dword [ebp - 0x3c]
call fcn.0040a200
test al, al
je 0x4068ca
push str._pseudo_protected
lea ecx, [ebp + 0x24]
call fcn.0040ebe0
lea ecx, [ebp - 0x74]
call fcn.0040b910
mov dword [ebp - 0x70], 0
jmp 0x4068d7
push str._not_protected
lea ecx, [ebp + 0x24]
call fcn.0040ebe0
movzx eax, word [ebp + 0x20]
lea ecx, [ebp + 0x24]
test eax, 0x400
je 0x4068ec
push str.auto_inherited_
jmp 0x4068f1
push 0x471d94
call fcn.0040d570
mov ax, word [ebp + 0x20]
test al, 0x10
je 0x40696e
movzx eax, ax
test eax, 0x2000
je 0x40690f
push str._protected
jmp 0x406947
push dword [ebp - 0x6c]
mov ecx, ebx
push dword [ebp - 0x34]
push esi
push dword [ebp - 0x38]
call fcn.0040a200
test al, al
je 0x406942
push str._pseudo_protected
lea ecx, [ebp + 0x28]
call fcn.0040ebe0
lea ecx, [ebp - 0x74]
call fcn.0040b940
mov dword [ebp - 0x6c], 0
jmp 0x40694f
push str._not_protected
lea ecx, [ebp + 0x28]
call fcn.0040ebe0
movzx eax, word [ebp + 0x20]
lea ecx, [ebp + 0x28]
test eax, 0x800
je 0x406964
push str.auto_inherited_
jmp 0x406969
push 0x471d94
call fcn.0040d570
mov eax, dword [ebx + 0xa4]
test eax, eax
jne 0x406be2
cmp byte [ebx + 0xb0], 0
mov eax, dword [ebp + 0x2c]
jne 0x406a10
test al, 4
je 0x4069ce
push 1
push ecx
push 1
lea ecx, [ebp - 0x40]
call fcn.004093d0
mov esi, eax
mov dword [ebp + 0x34], esi
test esi, esi
jne 0x406654
lea eax, [ebp + 0x38]
push eax
push dword [ebp - 0x70]
lea ecx, [ebp - 0x40]
push dword [ebp + 0x54]
push 1
call fcn.004094d0
mov esi, eax
mov dword [ebp + 0x34], esi
test esi, esi
jne 0x406654
mov eax, dword [ebp + 0x2c]
test al, 8
je 0x406a10
push 1
push ecx
push 2
lea ecx, [ebp - 0x40]
call fcn.004093d0
mov esi, eax
mov dword [ebp + 0x34], esi
test esi, esi
jne 0x406654
lea eax, [ebp + 0x40]
push eax
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x40]
push dword [ebp + 0x54]
push 2
call fcn.004094d0
mov esi, eax
mov dword [ebp + 0x34], esi
test esi, esi
jne 0x406654
mov eax, dword [ebp + 0x2c]
push 0
lea ecx, [ebp + 8]
push ecx
push eax
push 1
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_ConvertSecurityDescriptorToStringSecurityDescriptorW]
test eax, eax
jne 0x406a32
mov dword [ebp + 0x34], 0x1b
jmp 0x40664b
push dword [ebp + 8]
lea ecx, [ebp + 0x14]
call fcn.0040ebe0
mov edi, dword [ebp + 0x14]
cmp dword [edi - 0xc], 0
je 0x406a92
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x40]
push 0x471d98
push eax
call fcn.0040c990
push 0x471d98
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0xa
push eax
call fcn.0040ca60
add esp, 0x18
push eax
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0xb
call fcn.0040f050
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 9
call fcn.0040f100
mov edi, dword [ebp + 0x14]
push 1
lea eax, [ebp + 0x54]
push eax
lea ecx, [ebp + 0x50]
call fcn.0040cc80
push 0x471d98
push eax
call fcn.0040c8d0
add esp, 8
lea ecx, [ebp + 0x54]
mov bl, al
call fcn.0040f100
lea eax, [ebp + 0x50]
test bl, bl
je 0x406b60
push eax
lea eax, [ebp + 0x2c]
push 0x471d98
push eax
call fcn.0040c990
push 0x471d9c
push eax
lea eax, [ebp + 0x30]
mov byte [ebp - 4], 0xc
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0xd
push ecx
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.0040cb30
push 0x471364
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0xe
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0xf
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0040cb30
add esp, 0x3c
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x10
call fcn.0040f050
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x30]
call fcn.0040f100
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 9
call fcn.0040f100
mov ebx, dword [ebp + 0xc]
jmp 0x407bc8
push 0x471364
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x11
push ecx
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.0040cb30
push 0x471364
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x12
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0x13
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0040cb30
add esp, 0x30
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x14
call fcn.0040f050
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 9
call fcn.0040f100
mov ebx, dword [ebp + 0xc]
jmp 0x407bc8
cmp eax, 1
jne 0x407409
push eax
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x50]
call fcn.0040cc80
push 0x471d98
push eax
call fcn.0040c8d0
add esp, 8
lea ecx, [ebp + 0x40]
mov bl, al
call fcn.0040f100
lea eax, [ebp + 0x50]
test bl, bl
je 0x406c8b
push eax
lea eax, [ebp + 0x2c]
push 0x471d98
push eax
call fcn.0040c990
push 0x471d9c
push eax
lea eax, [ebp + 0x30]
mov byte [ebp - 4], 0x15
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x16
push ecx
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.0040cb30
push 0x471364
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x17
push eax
call fcn.0040ca60
add esp, 0x30
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x18
call fcn.0040f050
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x30]
call fcn.0040f100
lea ecx, [ebp + 0x2c]
jmp 0x406ce2
push 0x471364
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x19
push ecx
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.0040cb30
push 0x471364
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x1a
push eax
call fcn.0040ca60
add esp, 0x24
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x1b
call fcn.0040f050
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 9
call fcn.0040f100
mov ebx, dword [ebp + 0xc]
test byte [ebx + 0xa8], 1
je 0x406efa
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x406eb1
lea ecx, [ebp + 0x18]
push ecx
push dword [ebp - 0x70]
mov ecx, ebx
push esi
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.00408540
mov byte [ebp - 4], 0x1c
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x406df1
push eax
lea eax, [ebp + 0x44]
mov ecx, ebx
push eax
call fcn.00402a10
mov esi, eax
lea eax, [ebp + 0x24]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp + 0x34]
push str.DACL
push eax
call fcn.0040c990
push 0x471da8
push eax
lea eax, [ebp + 0x30]
mov byte [ebp - 4], 0x1e
push eax
call fcn.0040ca60
push esi
push eax
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 0x1f
push eax
call fcn.0040cb30
push 0x471da4
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x20
push eax
call fcn.0040ca60
add esp, 0x30
push eax
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x21
call fcn.0040f050
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x30]
call fcn.0040f100
lea ecx, [ebp + 0x34]
call fcn.0040f100
lea ecx, [ebp + 0x44]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406dd9
mov esi, dword [ebp + 0x54]
lea ecx, [ebp + 0x2c]
mov dword [ebx + 0x28], 0
mov dword [ebp + 0x34], 0
jmp 0x406ef1
lea ecx, [ebp + 0x2c]
mov dword [ebp + 0x34], 0x1c
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x406654
cmp dword [ebp + 0x18], 0
jne 0x406e44
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x44]
push str.DACL
push eax
call fcn.0040c990
push str.:_empty_
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x22
push eax
call fcn.0040ca60
add esp, 0x18
push eax
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x23
call fcn.0040f050
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x2c]
jmp 0x406ef1
mov eax, dword [ebp + 0x2c]
cmp dword [eax - 0xc], 0
je 0x406eac
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x40]
push str.DACL
push eax
call fcn.0040c990
push 0x471ddc
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x24
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 0x25
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0040cb30
add esp, 0x24
push eax
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x26
call fcn.0040f050
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x2c]
jmp 0x406ef1
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x44]
push str.DACL
push eax
call fcn.0040c990
push 0x471de0
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x27
push eax
call fcn.0040ca60
add esp, 0x18
push eax
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x28
call fcn.0040f050
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 9
call fcn.0040f100
test byte [ebx + 0xa8], 2
je 0x40712d
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xc], 0
je 0x406f1d
push 0x471df0
lea ecx, [ebp + 0x3c]
call fcn.0040d570
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x4070df
lea ecx, [ebp + 0x18]
push ecx
push dword [ebp - 0x6c]
mov ecx, ebx
push esi
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00408540
mov byte [ebp - 4], 0x29
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x407015
push eax
lea eax, [ebp + 0x2c]
mov ecx, ebx
push eax
call fcn.00402a10
mov esi, eax
lea eax, [ebp + 0x28]
mov byte [ebp - 4], 0x2a
push eax
lea eax, [ebp + 0x30]
push 0x471df4
push eax
call fcn.0040c990
push 0x471da8
push eax
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 0x2b
push eax
call fcn.0040ca60
push esi
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x2c
push eax
call fcn.0040cb30
push 0x471da4
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x2d
push eax
call fcn.0040ca60
add esp, 0x30
mov byte [ebp - 4], 0x2e
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x30]
call fcn.0040f100
lea ecx, [ebp + 0x2c]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406ffd
mov dword [ebx + 0x28], 0
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x34], 0
jmp 0x407124
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x34], 0x1c
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x406654
cmp dword [ebp + 0x18], 0
jne 0x40706d
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x40]
push 0x471df4
push eax
call fcn.0040c990
push str.:_empty_
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x2f
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x30
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x54]
jmp 0x407124
mov eax, dword [ebp + 0x54]
cmp dword [eax - 0xc], 0
je 0x4070da
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x38]
push 0x471df4
push eax
call fcn.0040c990
push 0x471ddc
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x31
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x32
push ecx
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.0040cb30
add esp, 0x24
mov byte [ebp - 4], 0x33
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x54]
jmp 0x407124
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x44]
push 0x471df4
push eax
call fcn.0040c990
push 0x471de0
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x34
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x35
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 9
call fcn.0040f100
test byte [ebx + 0xa8], 4
je 0x40726b
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xc], 0
je 0x407150
push 0x471df0
lea ecx, [ebp + 0x3c]
call fcn.0040d570
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x40725e
push 0
push eax
lea eax, [ebp + 0x54]
mov ecx, ebx
push eax
call fcn.00407e50
mov byte [ebp - 4], 0x36
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4071fd
push eax
lea eax, [ebp + 0x38]
mov ecx, ebx
push eax
call fcn.00402a10
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x37
push str.Owner:_error:
push eax
call fcn.0040c990
push 0x471da4
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x38
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x39
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406ffd
lea ecx, [ebp + 0x54]
mov dword [ebx + 0x28], 0
mov dword [ebp + 0x34], 0
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x40726b
mov eax, dword [ebp + 0x54]
cmp dword [eax - 0xc], 0
jne 0x407221
push str.Owner:_empty_
lea ecx, [ebp + 0x3c]
call fcn.0040d570
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x40726b
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x44]
push str.Owner:
push eax
call fcn.0040c990
add esp, 0xc
mov byte [ebp - 4], 0x3a
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x40726b
push str.Owner:_NULL_
lea ecx, [ebp + 0x3c]
call fcn.0040d570
test byte [ebx + 0xa8], 8
je 0x4073a9
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xc], 0
je 0x40728e
push 0x471df0
lea ecx, [ebp + 0x3c]
call fcn.0040d570
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40739c
push 0
push eax
lea eax, [ebp + 0x54]
mov ecx, ebx
push eax
call fcn.00407e50
mov byte [ebp - 4], 0x3b
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x40733b
push eax
lea eax, [ebp + 0x38]
mov ecx, ebx
push eax
call fcn.00402a10
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x3c
push str.Group:_error:
push eax
call fcn.0040c990
push 0x471da4
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x3d
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x3e
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406ffd
lea ecx, [ebp + 0x54]
mov dword [ebx + 0x28], 0
mov dword [ebp + 0x34], 0
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x4073a9
mov eax, dword [ebp + 0x54]
cmp dword [eax - 0xc], 0
jne 0x40735f
push str.Group:_empty_
lea ecx, [ebp + 0x3c]
call fcn.0040d570
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x4073a9
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x44]
push str.Group:
push eax
call fcn.0040c990
add esp, 0xc
mov byte [ebp - 4], 0x3f
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x4073a9
push str.Group:_NULL_
lea ecx, [ebp + 0x3c]
call fcn.0040d570
mov eax, dword [ebp + 0x3c]
cmp dword [eax - 0xc], 0
je 0x407bbb
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x44]
push 0x471d98
push eax
call fcn.0040c990
push 0x471d98
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x40
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x41
lea ecx, [ebp + 0x1c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x407bc8
cmp eax, 2
jne 0x407bc8
push 0x470a44
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0040ca60
add esp, 0xc
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x42
call fcn.0040f050
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
push 0x472d50
lea ecx, [ebp + 0x3c]
call fcn.0040ebe0
test byte [ebx + 0xa8], 4
je 0x407593
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x407586
push 0
push eax
lea eax, [ebp + 0x54]
mov ecx, ebx
push eax
call fcn.00407e50
mov byte [ebp - 4], 0x43
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x40750a
push eax
lea eax, [ebp + 0x38]
mov ecx, ebx
push eax
call fcn.00402a10
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x44
push str._n___Owner:__error:
push eax
call fcn.0040c990
push 0x471ec8
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x45
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x46
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406ffd
lea ecx, [ebp + 0x54]
mov dword [ebx + 0x28], 0
mov dword [ebp + 0x34], 0
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x407593
mov eax, dword [ebp + 0x54]
cmp dword [eax - 0xc], 0
jne 0x40752e
push str._n___Owner:__empty__n
lea ecx, [ebp + 0x3c]
call fcn.0040d570
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x407593
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x40]
push str._n___Owner:
push eax
call fcn.0040c990
push 0x470a44
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x47
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x48
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x407593
push str._n___Owner:__NULL__n
lea ecx, [ebp + 0x3c]
call fcn.0040d570
test byte [ebx + 0xa8], 8
je 0x4076f1
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4076e4
push 0
push eax
lea eax, [ebp + 0x54]
mov ecx, ebx
push eax
call fcn.00407e50
mov byte [ebp - 4], 0x49
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x407650
push eax
lea eax, [ebp + 0x38]
mov ecx, ebx
push eax
call fcn.00402a10
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x4a
push str._n___Group:__error:
push eax
call fcn.0040c990
push 0x471ec8
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x4b
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x4c
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406ffd
lea ecx, [ebp + 0x54]
mov dword [ebx + 0x28], 0
mov dword [ebp + 0x34], 0
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x4076f1
mov eax, dword [ebp + 0x54]
cmp dword [eax - 0xc], 0
jne 0x407674
push str._n___Group:__empty__n
lea ecx, [ebp + 0x3c]
call fcn.0040d570
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x4076f1
push 0x471fb0
lea ecx, [ebp + 0x30]
call fcn.0040e590
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x4d
push eax
lea eax, [ebp + 0x40]
push 0x471fb4
push eax
call fcn.0040c990
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x4e
push ecx
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.0040cb30
add esp, 0x18
mov byte [ebp - 4], 0x4f
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x30]
call fcn.0040f100
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 9
call fcn.0040f100
jmp 0x4076f1
push str._n___Group:__NULL__n
lea ecx, [ebp + 0x3c]
call fcn.0040d570
test byte [ebx + 0xa8], 1
je 0x40794b
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4078fd
lea ecx, [ebp + 0x18]
push ecx
push dword [ebp - 0x70]
mov ecx, ebx
push esi
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00408540
push str._n
push 0x471ddc
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x50
call fcn.0040d0f0
push 0x472000
push 0x471364
lea ecx, [ebp + 0x54]
call fcn.0040d0f0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4077cb
push eax
lea eax, [ebp + 0x38]
mov ecx, ebx
push eax
call fcn.00402a10
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x51
push str._n___DACL:__error:
push eax
call fcn.0040c990
push 0x471ec8
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x52
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x53
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406ffd
mov dword [ebx + 0x28], 0
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x34], 0
jmp 0x407942
cmp dword [ebp + 0x18], 0
jne 0x407802
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x40]
push str._n___DACL
push eax
call fcn.0040c990
push str.:_n____empty__n
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x54
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x55
jmp 0x4078da
mov eax, dword [ebp + 0x54]
cmp dword [eax - 0xc], 0
je 0x4078ae
push 0x471fb0
lea ecx, [ebp + 0x30]
call fcn.0040e590
lea eax, [ebp + 0x24]
mov byte [ebp - 4], 0x56
push eax
lea eax, [ebp + 0x2c]
push str._n___DACL
push eax
call fcn.0040c990
push str.:_n
push eax
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 0x57
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x58
push ecx
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.0040cb30
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x59
push ecx
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.0040cb30
add esp, 0x30
mov byte [ebp - 4], 0x5a
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x2c]
call fcn.0040f100
lea ecx, [ebp + 0x30]
call fcn.0040f100
lea ecx, [ebp + 0x54]
jmp 0x407942
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x40]
push str._n___DACL
push eax
call fcn.0040c990
push str.:_n____no_implicit_permissions__n
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x5b
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x5c
mov eax, dword [eax]
lea ecx, [ebp + 0x3c]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x54]
jmp 0x407942
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x44]
push str._n___DACL
push eax
call fcn.0040c990
push str.:_n____NULL__n
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x5d
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x5e
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 9
call fcn.0040f100
test byte [ebx + 0xa8], 2
je 0x407ba5
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x407b57
lea ecx, [ebp + 0x18]
push ecx
push dword [ebp - 0x6c]
mov ecx, ebx
push esi
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00408540
push str._n
push 0x471ddc
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x5f
call fcn.0040d0f0
push 0x472000
push 0x471364
lea ecx, [ebp + 0x54]
call fcn.0040d0f0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x407a25
push eax
lea eax, [ebp + 0x38]
mov ecx, ebx
push eax
call fcn.00402a10
push eax
lea eax, [ebp + 0x40]
mov byte [ebp - 4], 0x60
push str._n___SACL:__error:
push eax
call fcn.0040c990
push 0x471ec8
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x61
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x62
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
cmp byte [ebx + 0x2c], 0
je 0x406ffd
mov dword [ebx + 0x28], 0
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x34], 0
jmp 0x407b9c
cmp dword [ebp + 0x18], 0
jne 0x407a5c
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x40]
push str._n___SACL
push eax
call fcn.0040c990
push str.:_n____empty__n
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x63
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x64
jmp 0x407b34
mov eax, dword [ebp + 0x54]
cmp dword [eax - 0xc], 0
je 0x407b08
push 0x471fb0
lea ecx, [ebp + 0x30]
call fcn.0040e590
lea eax, [ebp + 0x28]
mov byte [ebp - 4], 0x65
push eax
lea eax, [ebp + 0x2c]
push str._n___SACL
push eax
call fcn.0040c990
push str.:_n
push eax
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 0x66
push eax
call fcn.0040ca60
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x67
push ecx
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.0040cb30
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x68
push ecx
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.0040cb30
add esp, 0x30
mov byte [ebp - 4], 0x69
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x38]
call fcn.0040f100
lea ecx, [ebp + 0x2c]
call fcn.0040f100
lea ecx, [ebp + 0x30]
call fcn.0040f100
lea ecx, [ebp + 0x54]
jmp 0x407b9c
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x40]
push str._n___SACL
push eax
call fcn.0040c990
push str.:_n____no_implicit_permissions__n
push eax
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0x6a
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x6b
mov eax, dword [eax]
lea ecx, [ebp + 0x3c]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x44]
call fcn.0040f100
lea ecx, [ebp + 0x40]
call fcn.0040f100
lea ecx, [ebp + 0x54]
jmp 0x407b9c
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x44]
push str._n___SACL
push eax
call fcn.0040c990
push str.:_n____NULL__n
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x6c
push eax
call fcn.0040ca60
add esp, 0x18
mov byte [ebp - 4], 0x6d
lea ecx, [ebp + 0x3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040d7e0
lea ecx, [ebp + 0x54]
call fcn.0040f100
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 9
call fcn.0040f100
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x407bbb
push ecx
push eax
lea ecx, [ebp + 0x1c]
call fcn.0040d7e0
jmp 0x407bc8
push 0x472d50
lea ecx, [ebp + 0x1c]
call fcn.0040ebe0
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebx + 0xe8]
call fcn.0040f050
mov eax, dword [ebp + 0x1c]
cmp dword [eax - 0xc], 0
je 0x406654
mov ecx, dword [ebx + 0xb8]
test ecx, ecx
je 0x407c0e
push eax
push 0x470a48
push ecx
call fcn.0040eb00
add esp, 0xc
test eax, eax
jns 0x407c0e
mov ebx, 0x24
or esi, 0xffffffff
jmp 0x407cea
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp + 0x54]
call fcn.0040eb20
mov byte [ebp - 4], 0x6e
cmp dword [ebx + 4], 0
je 0x407c3b
push ecx
mov ecx, esp
lea eax, [ebp + 0x54]
push eax
mov dword [ebp + 0x44], ecx
call fcn.0040eb20
mov eax, dword [ebx + 4]
call eax
add esp, 4
cmp dword [ebx + 0xc4], 0
je 0x407ca8
push 0x470a3c
push 0x470a44
lea ecx, [ebp + 0x54]
call fcn.0040d0f0
mov esi, dword [ebp + 0x54]
push esi
push 0x470a48
push dword [ebx + 0xc4]
call fcn.0040eb00
mov ebx, eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0xc4]
call fcn.0042f577
add esp, 0x10
test ebx, ebx
jns 0x407cab
lea edx, [esi - 0x10]
mov byte [ebp - 4], 9
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406657
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x406657
mov esi, dword [ebp + 0x54]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 9
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406657
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x406657
mov ebx, dword [ebp + 0x34]
mov eax, dword [ebp + 8]
test eax, eax
je 0x407cea
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp + 8], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], vtable.CSD.0
call fcn.0040b840
mov edx, dword [ebp - 0x58]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407d17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], vtable.CSD.0
call fcn.0040b840
mov edx, dword [ebp - 0x24]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407d44
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov eax, esi
mov edx, dword [ebp + 4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407d62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov eax, esi
mov edx, dword [ebp + 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407d80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, esi
mov edx, dword [ebp + 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407d9e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, esi
mov edx, dword [ebp + 0x3c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407dbc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, esi
mov edx, dword [ebp + 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407dda
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, esi
mov edx, dword [ebp + 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407df8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x407e13
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0x50]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], esi
dec esi
test esi, esi
jg 0x407e32
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x48]
pop ebp
ret 8