Function at 0x40cd90
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x4369c7
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x448fb0]
xor eax, esp
push eax
lea eax, [esp + 0xdc]
mov dword fs:[0], eax
mov esi, ecx
xor ebp, ebp
mov dword [esp + 0xe4], ebp
mov dword [esp + 0x1c], ebp
xor ebx, ebx
mov dword [esp + 0x54], ebp
call fcn.0041583d
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x40cdec
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x44], eax
mov byte [esp + 0xe4], 1
call fcn.0041583d
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x40ce1e
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov byte [esp + 0xe4], 2
call fcn.0041583d
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x40ce50
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x48], eax
mov byte [esp + 0xe4], 3
call fcn.0041583d
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x40ce82
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0xe4], 4
call fcn.0041583d
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x40ceb4
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
mov byte [esp + 0xe4], 5
call fcn.0041583d
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x40cee6
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0xe4], 6
call fcn.0041583d
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x40cf18
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x50], edi
push esi
lea ecx, [esp + 0x60]
mov byte [esp + 0xe8], 7
call fcn.004073e0
push esi
lea ecx, [esp + 0xa0]
mov byte [esp + 0xe8], 8
call fcn.004073e0
mov ecx, dword [esi + 0x50]
push ecx
lea edx, [esp + 0x4c]
push 0x43bae4
push edx
mov byte [esp + 0xf0], 9
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x64], ebp
call fcn.00403f70
add esp, 0xc
cmp dword [esi + 0xc8], ebp
jne 0x40d0fa
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe4], 8
call fcn.00402da0
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe4], 7
call fcn.00402da0
lea eax, [edi - 0x10]
mov byte [esp + 0xe4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cfd2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cffa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d022
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d04a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d072
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d09a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d0c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
mov dword [esp + 0xe4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d0f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x1a
jmp 0x40eea8
mov eax, dword [esp + 0xec]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x38], esp
mov edi, esp
push eax
call fcn.00402730
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.00404210
cmp eax, ebp
je 0x40d33e
push str.__because_a_filter_keyword_matched._n
lea ecx, [esp + 0x2c]
call fcn.004046c0
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x30]
push str.INFO:_Omitting_ACL_of:__
mov bl, 0xa
push edx
mov byte [esp + 0xf0], bl
call fcn.00403dc0
add esp, 8
mov ecx, esp
mov dword [esp + 0x38], esp
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
mov byte [esp + 0xf4], 0xb
call fcn.00403c20
add esp, 0xc
mov ecx, esi
call fcn.00403f90
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0xe4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d1a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d1cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe4], 8
call fcn.00402da0
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe4], 7
call fcn.00402da0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d219
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d241
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d269
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d291
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d2b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d2e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d309
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
mov dword [esp + 0xe4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d337
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x40eea8
mov eax, dword [esi + 0xc8]
test al, 1
je 0x40d351
mov ebx, 4
mov dword [esp + 0x1c], ebx
test al, 2
je 0x40d35d
or dword [esp + 0x1c], 8
or ebx, 8
test al, 8
je 0x40d366
or dword [esp + 0x1c], 2
test al, 4
je 0x40d36f
or dword [esp + 0x1c], 1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 0x50]
mov eax, dword [esp + 0xec]
or ecx, 1
push ecx
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov edi, esp
push eax
call fcn.00402730
add eax, 0x10
add esp, 4
lea ecx, [esp + 0x68]
mov dword [edi], eax
call fcn.0040a7a0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], eax
mov dword [esi + 0x44], ecx
cmp eax, ebp
jne 0x40eba8
mov eax, dword [esp + 0x70]
cmp eax, ebp
jne 0x40d435
push str.__has_a_NULL_security_descriptor__granting_full_control_to_everyone__and_is_being_ignored._n
lea ecx, [esp + 0x2c]
call fcn.004046c0
lea edx, [esi + 0x4c]
push edx
lea eax, [esp + 0x30]
push str.INFO:_The_object__
push eax
mov byte [esp + 0xf0], 0xc
call fcn.00403dc0
add esp, 8
mov ecx, esp
mov dword [esp + 0x38], esp
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
mov byte [esp + 0xf4], 0xd
call fcn.00403c20
add esp, 0xc
mov ecx, esi
call fcn.00403f90
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x28]
mov byte [esp + 0xe4], 9
call fcn.00402640
mov dword [esp + 0x30], 0x2c
jmp 0x40eba8
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x50]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorControl]
test eax, eax
jne 0x40d460
mov dword [esp + 0x30], 0x11
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x44], eax
jmp 0x40eba8
mov eax, dword [esp + 0x4c]
test eax, 0x1000
je 0x40d46e
and ebx, 0xfffffffb
test eax, 0x2000
je 0x40d478
and ebx, 0xfffffff7
cmp ebx, ebp
je 0x40d4f9
mov ecx, dword [esi + 0x50]
lea eax, [esp + 0x50]
push eax
push ecx
push ecx
lea edx, [esp + 0xf8]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00402810
call fcn.004074a0
add esp, 0xc
cmp eax, ebp
je 0x40d4f5
mov eax, dword [esi + 0x50]
push ebx
push eax
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00402810
lea ecx, [esp + 0xa8]
call fcn.0040a7a0
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x30], eax
mov dword [esi + 0x44], ecx
cmp eax, ebp
jne 0x40d4e2
cmp dword [esp + 0xb0], ebp
jne 0x40d4f5
lea ecx, [esp + 0x9c]
call fcn.004023e0
mov dword [esp + 0x30], ebp
mov dword [esi + 0x44], ebp
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0xf0]
test al, 4
je 0x40d568
test eax, 0x1000
je 0x40d512
push str._protected
jmp 0x40d53c
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
push edx
push eax
push ebp
push ecx
mov ecx, esi
call fcn.00401b00
test eax, eax
je 0x40d537
push str._pseudo_protected
jmp 0x40d53c
push str._not_protected
lea ecx, [esp + 0x3c]
call fcn.00404c20
test dword [esp + 0x4c], 0x400
lea ecx, [esp + 0x38]
je 0x40d55a
push 0x43b9b8
jmp 0x40d55f
push 0x43b9b4
call fcn.00404c80
mov eax, dword [esp + 0x4c]
test al, 0x10
je 0x40d5cc
test eax, 0x2000
je 0x40d57a
push str._protected
jmp 0x40d5a4
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
push edx
push eax
push ebp
push ecx
mov ecx, esi
call fcn.00401b00
test eax, eax
je 0x40d59f
push str._pseudo_protected
jmp 0x40d5a4
push str._not_protected
lea ecx, [esp + 0x40]
call fcn.00404c20
test dword [esp + 0x4c], 0x800
lea ecx, [esp + 0x3c]
je 0x40d5c2
push 0x43b9b8
jmp 0x40d5c7
push 0x43b9b4
call fcn.00404c80
mov eax, dword [esi + 0xc4]
xor edi, edi
cmp eax, edi
jne 0x40d8b8
mov ebx, dword [esp + 0x1c]
cmp dword [esi + 0xd0], edi
jne 0x40d678
test bl, 4
je 0x40d631
push 1
push 0x10
push 1
lea ecx, [esp + 0x68]
call fcn.00401820
mov dword [esp + 0x30], eax
cmp eax, edi
jne 0x40eba8
mov eax, dword [esp + 0xa0]
lea edx, [esp + 0x2c]
push edx
push eax
push ebp
push 1
lea ecx, [esp + 0x6c]
call fcn.004022e0
mov dword [esp + 0x30], eax
test eax, eax
jne 0x40eba8
test bl, 8
je 0x40d678
push 1
push 0x10
push 2
lea ecx, [esp + 0x68]
call fcn.00401820
mov dword [esp + 0x30], eax
cmp eax, edi
jne 0x40eba8
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x24]
push ecx
push edx
push ebp
push 2
lea ecx, [esp + 0x6c]
call fcn.004022e0
mov dword [esp + 0x30], eax
test eax, eax
jne 0x40eba8
xor edi, edi
mov ecx, dword [esp + 0x70]
push edi
lea eax, [esp + 0x58]
push eax
push ebx
push 1
push ecx
call sub.ADVAPI32.dll_ConvertSecurityDescriptorToStringSecurityDescriptorW
test eax, eax
jne 0x40d6a5
mov dword [esp + 0x30], 0x1b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x44], eax
jmp 0x40eba8
mov edx, dword [esp + 0x54]
push edx
lea ecx, [esp + 0x48]
call fcn.00404c20
mov eax, dword [esp + 0x44]
mov eax, dword [eax - 0xc]
cmp eax, edi
je 0x40d719
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x30]
push 0x43b9b0
push edx
call fcn.00403dc0
push 0x43b9b0
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0xfc], 0xe
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xe8], 0xf
call fcn.00403eb0
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe4], 9
call fcn.00402640
push 1
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0xf4]
call fcn.00402f40
push 0x43b9b0
push eax
call fcn.004024d0
add esp, 8
lea ecx, [esp + 0x24]
mov bl, al
call fcn.00402640
test bl, bl
je 0x40d813
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x1c]
push 0x43b9b0
push eax
call fcn.00403dc0
push 0x43b3bc
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0xfc], 0x10
call fcn.00403ce0
lea edx, [esp + 0x60]
push edx
push eax
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x108], 0x11
call fcn.00403c20
push 0x43a9e4
push eax
lea ecx, [esp + 0x58]
push ecx
mov byte [esp + 0x114], 0x12
call fcn.00403ce0
lea edx, [esp + 0x74]
push edx
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x120], 0x13
call fcn.00403c20
add esp, 0x3c
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xe8], 0x14
call fcn.00403eb0
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x28]
call fcn.00402640
lea ecx, [esp + 0x1c]
call fcn.00402640
lea ecx, [esp + 0x18]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40eae6
push 0x43a9e4
lea ecx, [esp + 0xf0]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00403ce0
lea ecx, [esp + 0x54]
push ecx
push eax
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0xfc], 0x15
call fcn.00403c20
push 0x43a9e4
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x108], 0x16
call fcn.00403ce0
lea ecx, [esp + 0x68]
push ecx
push eax
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x114], 0x17
call fcn.00403c20
add esp, 0x30
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xe8], 0x18
call fcn.00403eb0
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x28]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40eae6
cmp eax, 1
jne 0x40e1ef
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xf4]
call fcn.00402f40
push 0x43b9b0
push eax
call fcn.004024d0
add esp, 8
lea ecx, [esp + 0x18]
mov bl, al
call fcn.00402640
lea ecx, [esp + 0xec]
test bl, bl
je 0x40d989
push ecx
lea edx, [esp + 0x20]
push 0x43b9b0
push edx
call fcn.00403dc0
push 0x43b3bc
push eax
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0xfc], 0x19
call fcn.00403ce0
lea ecx, [esp + 0x60]
push ecx
push eax
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x108], 0x1a
call fcn.00403c20
push 0x43a9e4
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x114], 0x1b
call fcn.00403ce0
add esp, 0x30
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xe8], 0x1c
call fcn.00403eb0
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40d9f4
push 0x43a9e4
push ecx
lea edx, [esp + 0x34]
push edx
call fcn.00403ce0
lea ecx, [esp + 0x54]
push ecx
push eax
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0xfc], 0x1d
call fcn.00403c20
push 0x43a9e4
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x108], 0x1e
call fcn.00403ce0
add esp, 0x24
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xe8], 0x1f
call fcn.00403eb0
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe4], 9
call fcn.00402640
test byte [esi + 0xc8], 1
je 0x40dc70
mov eax, dword [esp + 0x60]
cmp eax, edi
je 0x40dc15
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
push eax
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00409ad0
mov eax, dword [esi + 0x44]
mov byte [esp + 0xe4], 0x20
cmp eax, edi
je 0x40db30
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.004040b0
mov edi, eax
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x34]
push str.DACL
push eax
mov byte [esp + 0xf0], 0x21
call fcn.00403dc0
push 0x43b990
push eax
lea ecx, [esp + 0x40]
push ecx
mov byte [esp + 0xfc], 0x22
call fcn.00403ce0
push edi
push eax
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x108], 0x23
call fcn.00403c20
push 0x43b98c
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x114], 0x24
call fcn.00403ce0
add esp, 0x30
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x25
call fcn.00403eb0
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x30]
call fcn.00402640
lea ecx, [esp + 0x14]
call fcn.00402640
xor eax, eax
cmp dword [esi + 0x48], eax
je 0x40db12
mov dword [esi + 0x44], eax
mov dword [esp + 0x30], eax
xor edi, edi
lea ecx, [esp + 0x1c]
jmp 0x40dc63
lea ecx, [esp + 0x1c]
mov dword [esp + 0x30], 0x1c
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40eba8
cmp dword [esp + 0x28], edi
jne 0x40db92
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1c]
push str.DACL
push edx
call fcn.00403dc0
push str.:_empty_
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x26
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x27
call fcn.00403eb0
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40dc63
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], edi
je 0x40dc0f
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x28]
push str.DACL
push eax
call fcn.00403dc0
push 0x43ae3c
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0xfc], 0x28
call fcn.00403ce0
lea edx, [esp + 0x34]
push edx
push eax
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x108], 0x29
call fcn.00403c20
add esp, 0x24
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x2a
call fcn.00403eb0
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40dc63
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1c]
push str.DACL
push edx
call fcn.00403dc0
push 0x43b968
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x2b
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x2c
call fcn.00403eb0
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
mov byte [esp + 0xe4], 9
call fcn.00402640
test byte [esi + 0xc8], 2
je 0x40ded3
push 0x43b964
lea ecx, [esp + 0x24]
call fcn.00404c80
mov eax, dword [esp + 0x64]
cmp eax, edi
je 0x40de78
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
push eax
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00409ad0
mov eax, dword [esi + 0x44]
mov byte [esp + 0xe4], 0x2d
cmp eax, edi
je 0x40dd93
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.004040b0
mov edi, eax
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x30]
push str.SACL
push eax
mov byte [esp + 0xf0], 0x2e
call fcn.00403dc0
push 0x43b990
push eax
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0xfc], 0x2f
call fcn.00403ce0
push edi
push eax
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x108], 0x30
call fcn.00403c20
push 0x43b98c
push eax
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x114], 0x31
call fcn.00403ce0
add esp, 0x30
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x32
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x28]
call fcn.00402640
xor eax, eax
cmp dword [esi + 0x48], eax
je 0x40db12
mov dword [esi + 0x44], eax
mov dword [esp + 0x30], eax
xor edi, edi
lea ecx, [esp + 0x1c]
jmp 0x40dec6
cmp dword [esp + 0x28], edi
jne 0x40ddf5
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x1c]
push str.SACL
push edx
call fcn.00403dc0
push str.:_empty_
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x33
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x34
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40dec6
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], edi
je 0x40de72
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x28]
push str.SACL
push eax
call fcn.00403dc0
push 0x43ae3c
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0xfc], 0x35
call fcn.00403ce0
lea edx, [esp + 0x34]
push edx
push eax
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x108], 0x36
call fcn.00403c20
add esp, 0x24
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x37
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40dec6
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x1c]
push str.SACL
push edx
call fcn.00403dc0
push 0x43b968
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x38
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x39
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
mov byte [esp + 0xe4], 9
call fcn.00402640
test byte [esi + 0xc8], 4
je 0x40e044
push 0x43b964
lea ecx, [esp + 0x24]
call fcn.00404c80
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x40e036
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.00405f40
mov eax, dword [esi + 0x44]
mov byte [esp + 0xe4], 0x3a
cmp eax, edi
je 0x40dfc7
push eax
lea edx, [esp + 0x28]
push edx
mov ecx, esi
call fcn.004040b0
push eax
lea eax, [esp + 0x1c]
push str.Owner:_error:
push eax
mov byte [esp + 0xf0], 0x3b
call fcn.00403dc0
push 0x43b98c
push eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0xfc], 0x3c
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x3d
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
cmp dword [esi + 0x48], edi
je 0x40dfa9
lea ecx, [esp + 0x28]
mov dword [esi + 0x44], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e044
lea ecx, [esp + 0x28]
mov dword [esp + 0x30], 0x1c
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40eba8
mov edx, dword [esp + 0x28]
cmp dword [edx - 0xc], edi
jne 0x40dff1
push str.Owner:_empty_
lea ecx, [esp + 0x24]
call fcn.00404c80
lea ecx, [esp + 0x28]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e044
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x18]
push str.Owner:
push ecx
call fcn.00403dc0
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x3e
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x28]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e044
push str.Owner:_NULL_
lea ecx, [esp + 0x24]
call fcn.00404c80
test byte [esi + 0xc8], 8
je 0x40e198
push 0x43b964
lea ecx, [esp + 0x24]
call fcn.00404c80
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x40e18a
push eax
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
call fcn.00405f40
mov eax, dword [esi + 0x44]
mov byte [esp + 0xe4], 0x3f
cmp eax, edi
je 0x40e11b
push eax
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.004040b0
push eax
lea ecx, [esp + 0x1c]
push str.Group:_error:
push ecx
mov byte [esp + 0xf0], 0x40
call fcn.00403dc0
push 0x43b98c
push eax
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0xfc], 0x41
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x42
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
cmp dword [esi + 0x48], edi
je 0x40dfa9
lea ecx, [esp + 0x28]
mov dword [esi + 0x44], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e198
mov eax, dword [esp + 0x28]
cmp dword [eax - 0xc], edi
jne 0x40e145
push str.Group:_empty_
lea ecx, [esp + 0x24]
call fcn.00404c80
lea ecx, [esp + 0x28]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e198
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x18]
push str.Group:
push edx
call fcn.00403dc0
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x43
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x28]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e198
push str.Group:_NULL_
lea ecx, [esp + 0x24]
call fcn.00404c80
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], edi
je 0x40ead8
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push 0x43b9b0
push edx
call fcn.00403dc0
push 0x43b9b0
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x44
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xe8], 0x45
call fcn.00404c60
lea ecx, [esp + 0x14]
jmp 0x40d7f8
cmp eax, 2
jne 0x40eae6
push 0x43957c
lea ecx, [esp + 0xf0]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.00403ce0
add esp, 0xc
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xe8], 0x46
call fcn.00403eb0
lea ecx, [esp + 0x14]
mov byte [esp + 0xe4], 9
call fcn.00402640
push 0x43a20c
lea ecx, [esp + 0x24]
call fcn.00404c20
test byte [esi + 0xc8], 4
je 0x40e3ad
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x40e39f
push eax
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call fcn.00405f40
mov eax, dword [esi + 0x44]
mov byte [esp + 0xe4], 0x47
cmp eax, edi
je 0x40e30f
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
call fcn.004040b0
push eax
lea edx, [esp + 0x1c]
push str._n___Owner:__error:
push edx
mov byte [esp + 0xf0], 0x48
call fcn.00403dc0
push 0x43b860
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x49
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x4a
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
cmp dword [esi + 0x48], edi
je 0x40db12
lea ecx, [esp + 0x1c]
mov dword [esi + 0x44], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e3ad
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], edi
jne 0x40e339
push str._n___Owner:__empty__n
lea ecx, [esp + 0x24]
call fcn.00404c80
lea ecx, [esp + 0x1c]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e3ad
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push str._n___Owner:
push eax
call fcn.00403dc0
push 0x43957c
push eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0xfc], 0x4b
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x4c
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x1c]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e3ad
push str._n___Owner:__NULL__n
lea ecx, [esp + 0x24]
call fcn.00404c80
test byte [esi + 0xc8], 8
je 0x40e539
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x40e52b
push eax
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.00405f40
mov eax, dword [esi + 0x44]
mov byte [esp + 0xe4], 0x4d
cmp eax, edi
je 0x40e479
push eax
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.004040b0
push eax
lea ecx, [esp + 0x1c]
push str._n___Group:__error:
push ecx
mov byte [esp + 0xf0], 0x4e
call fcn.00403dc0
push 0x43b860
push eax
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0xfc], 0x4f
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x50
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
cmp dword [esi + 0x48], edi
je 0x40db12
lea ecx, [esp + 0x1c]
mov dword [esi + 0x44], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e539
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], edi
jne 0x40e4a6
push 0x43b7a8
lea ecx, [esp + 0x24]
call fcn.00404c80
lea ecx, [esp + 0x1c]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e539
push 0x43b7a4
lea ecx, [esp + 0x30]
call fcn.004046c0
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push str._n___Group:
push edx
mov byte [esp + 0xf0], 0x51
call fcn.00403dc0
lea ecx, [esp + 0x38]
push ecx
push eax
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0xfc], 0x52
call fcn.00403c20
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x53
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x1c]
mov byte [esp + 0xe4], 9
call fcn.00402640
jmp 0x40e539
push str._n___Group:__NULL__n
lea ecx, [esp + 0x24]
call fcn.00404c80
test byte [esi + 0xc8], 1
je 0x40e80c
mov eax, dword [esp + 0x60]
cmp eax, edi
je 0x40e7b1
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
push eax
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00409ad0
push 0x43b758
push 0x43ae3c
lea ecx, [esp + 0x24]
mov byte [esp + 0xec], 0x54
call fcn.00403670
push 0x43b750
push 0x43a9e4
lea ecx, [esp + 0x24]
call fcn.00403670
mov eax, dword [esi + 0x44]
cmp eax, edi
je 0x40e62c
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
call fcn.004040b0
push eax
lea edx, [esp + 0x1c]
push str._n___DACL:__error:
push edx
mov byte [esp + 0xf0], 0x55
call fcn.00403dc0
push 0x43b860
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x56
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x57
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
cmp dword [esi + 0x48], edi
je 0x40db12
mov dword [esi + 0x44], edi
mov dword [esp + 0x30], edi
lea ecx, [esp + 0x1c]
jmp 0x40e7ff
cmp dword [esp + 0x28], edi
jne 0x40e68e
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1c]
push str._n___DACL
push edx
call fcn.00403dc0
push str.:_n____empty__n
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xfc], 0x58
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x59
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40e7ff
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], edi
je 0x40e758
push 0x43b7a4
lea ecx, [esp + 0x30]
call fcn.004046c0
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x38]
push str._n___DACL
push eax
mov byte [esp + 0xf0], 0x5a
call fcn.00403dc0
push str.:_n
push eax
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0xfc], 0x5b
call fcn.00403ce0
lea edx, [esp + 0x34]
push edx
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x108], 0x5c
call fcn.00403c20
lea ecx, [esp + 0x50]
push ecx
push eax
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0x114], 0x5d
call fcn.00403c20
add esp, 0x30
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x5e
call fcn.00404c60
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x34]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40e7ff
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x18]
push str._n___DACL
push ecx
call fcn.00403dc0
push str.:_n____no_implicit_permissions__n
push eax
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0xfc], 0x5f
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x60
call fcn.00404c60
lea ecx, [esp + 0x34]
call fcn.00402640
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40e7ff
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x18]
push str._n___DACL
push ecx
call fcn.00403dc0
push str.:_n____NULL__n
push eax
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0xfc], 0x61
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x62
call fcn.00404c60
lea ecx, [esp + 0x34]
call fcn.00402640
lea ecx, [esp + 0x14]
mov byte [esp + 0xe4], 9
call fcn.00402640
test byte [esi + 0xc8], 2
je 0x40eabf
mov eax, dword [esp + 0x64]
cmp eax, edi
je 0x40ea64
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
push eax
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00409ad0
push 0x43b758
push 0x43ae3c
lea ecx, [esp + 0x24]
mov byte [esp + 0xec], 0x63
call fcn.00403670
push 0x43b750
push 0x43a9e4
lea ecx, [esp + 0x24]
call fcn.00403670
mov eax, dword [esi + 0x44]
cmp eax, edi
je 0x40e8ff
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004040b0
push eax
lea edx, [esp + 0x18]
push str._n___SACL:__error:
push edx
mov byte [esp + 0xf0], 0x64
call fcn.00403dc0
push 0x43b860
push eax
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0xfc], 0x65
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x66
call fcn.00404c60
lea ecx, [esp + 0x34]
call fcn.00402640
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
cmp dword [esi + 0x48], edi
je 0x40db12
mov dword [esi + 0x44], edi
mov dword [esp + 0x30], edi
lea ecx, [esp + 0x1c]
jmp 0x40eab2
cmp dword [esp + 0x28], edi
jne 0x40e941
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x18]
push str._n___SACL
push edx
call fcn.00403dc0
push str.:_n____empty__n
push eax
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0xfc], 0x67
call fcn.00403ce0
add esp, 0x18
mov byte [esp + 0xe4], 0x68
jmp 0x40ea42
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], edi
je 0x40ea0b
push 0x43b7a4
lea ecx, [esp + 0x30]
call fcn.004046c0
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x28]
push str._n___SACL
push eax
mov byte [esp + 0xf0], 0x69
call fcn.00403dc0
push str.:_n
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0xfc], 0x6a
call fcn.00403ce0
lea edx, [esp + 0x34]
push edx
push eax
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x108], 0x6b
call fcn.00403c20
lea ecx, [esp + 0x50]
push ecx
push eax
lea edx, [esp + 0x60]
push edx
mov byte [esp + 0x114], 0x6c
call fcn.00403c20
add esp, 0x30
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x6d
call fcn.00404c60
lea ecx, [esp + 0x34]
call fcn.00402640
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x18]
call fcn.00402640
lea ecx, [esp + 0x24]
call fcn.00402640
lea ecx, [esp + 0x2c]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40eab2
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
push str._n___SACL
push ecx
call fcn.00403dc0
push str.:_n____no_implicit_permissions__n
push eax
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0xfc], 0x6e
call fcn.00403ce0
add esp, 0x18
mov byte [esp + 0xe4], 0x6f
push eax
lea ecx, [esp + 0x24]
call fcn.00404c60
lea ecx, [esp + 0x34]
call fcn.00402640
lea ecx, [esp + 0x14]
call fcn.00402640
lea ecx, [esp + 0x1c]
jmp 0x40eab2
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
push str._n___SACL
push ecx
call fcn.00403dc0
push str.:_n____NULL__n
push eax
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0xfc], 0x70
call fcn.00403ce0
add esp, 0x18
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe8], 0x71
call fcn.00404c60
lea ecx, [esp + 0x34]
call fcn.00402640
lea ecx, [esp + 0x14]
mov byte [esp + 0xe4], 9
call fcn.00402640
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], edi
je 0x40ead8
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x44]
call fcn.00404c60
jmp 0x40eae6
push 0x43a20c
lea ecx, [esp + 0x44]
call fcn.00404c20
mov edx, dword [esp + 0x40]
cmp dword [edx - 0xc], edi
je 0x40eba8
mov eax, dword [esi + 0xd8]
test eax, eax
je 0x40eb90
mov ecx, edx
push ecx
push 0x439570
push eax
call fcn.00422675
add esp, 0xc
test eax, eax
jge 0x40eb90
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe4], 8
call fcn.00402da0
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe4], 7
call fcn.00402da0
lea ecx, [esp + 0x50]
call fcn.00402640
lea ecx, [esp + 0x3c]
call fcn.00402640
lea ecx, [esp + 0x38]
call fcn.00402640
lea ecx, [esp + 0x20]
call fcn.00402640
lea ecx, [esp + 0x48]
call fcn.00402640
lea ecx, [esp + 0x40]
call fcn.00402640
lea ecx, [esp + 0x44]
call fcn.00402640
lea ecx, [esp + 0xec]
call fcn.00402640
mov eax, 0x24
jmp 0x40eea8
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00402810
mov ecx, esi
call fcn.00403f90
xor ebp, ebp
cmp dword [esi + 0x44], ebp
je 0x40ed15
push str.__failed_with:
lea ecx, [esp + 0x30]
call fcn.004046c0
mov eax, dword [esi + 0x44]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0xec], 0x72
call fcn.004040b0
mov edi, eax
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x1c]
push str.ERROR:_Parsing_the_SD_of__
push eax
mov byte [esp + 0xf0], 0x73
call fcn.00403dc0
lea ecx, [esp + 0x38]
push ecx
push eax
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0xfc], 0x74
call fcn.00403c20
push edi
push eax
lea eax, [esp + 0x54]
mov bl, 0x75
push eax
mov byte [esp + 0x108], bl
call fcn.00403c20
add esp, 0x20
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x43957c
push eax
push ecx
mov byte [esp + 0xf4], 0x76
call fcn.00403ce0
add esp, 0xc
mov ecx, esi
call fcn.00403f90
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0xe4], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ec75
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 0x74
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ec9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 0x73
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ecc5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 0x72
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40eced
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ed15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0x48], ebp
jne 0x40ed23
mov edi, dword [esp + 0x30]
cmp edi, 0x2c
jne 0x40ed28
mov dword [esi + 0x44], ebp
xor edi, edi
mov eax, dword [esp + 0x54]
cmp eax, ebp
je 0x40ed3b
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [esp + 0x54], ebp
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe4], 8
call fcn.00402da0
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe4], 7
call fcn.00402da0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ed88
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40edb0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40edd8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ee00
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ee28
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ee50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0xe4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ee78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
mov dword [esp + 0xe4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40eea6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [esp + 0xdc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd4
ret 8