Function at 0x1000faf0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002a0c6
mov eax, dword fs:[0]
push eax
sub esp, 0x554
mov eax, dword [0x100370b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [ebp - 0x54c]
call fcn.1000c700
mov dword [ebp - 4], 0
mov dword [ebp - 0x554], 0
call fcn.10003b30
mov ecx, eax
test ecx, ecx
je 0x1001022b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x550], eax
mov ecx, dword [esi + 0x14698]
mov byte [ebp - 4], 1
mov dword [ebp - 0x560], ecx
test ecx, ecx
jle 0x100101d2
xor ebx, ebx
lea edi, [esi + 0x750]
nop dword [eax]
push ebx
mov ecx, esi
call fcn.1000e030
test eax, eax
je 0x100101b9
cmp ebx, 0xf
ja 0x100101b9
mov eax, dword [edi - 4]
lea ecx, [ebp - 0x14]
xor eax, dword [ebp - 0x54c]
and eax, 0x3f7fffc0
xor eax, dword [edi - 4]
mov dword [ebp - 0x54c], eax
mov eax, dword [edi]
mov dword [ebp - 0x548], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x544], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x540], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x53c], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x538], eax
movzx eax, word [edi + 0x14]
mov word [ebp - 0x534], ax
movzx eax, word [edi + 0x16]
mov word [ebp - 0x532], ax
movzx eax, word [edi + 0x18]
mov word [ebp - 0x530], ax
movzx eax, word [edi + 0x1a]
mov word [ebp - 0x52e], ax
mov al, byte [edi + 0x1c]
mov byte [ebp - 0x52c], al
lea eax, [edi + 0x534]
push eax
call fcn.1000cb70
lea eax, [edi + 0x1d]
push eax
lea eax, [ebp - 0x52b]
push 0x104
push eax
call fcn.10018410
lea eax, [edi + 0x32a]
push eax
lea eax, [ebp - 0x21e]
push 0x104
push eax
call fcn.10018410
lea eax, [edi + 0x42e]
push eax
lea eax, [ebp - 0x11a]
push 0x104
push eax
call fcn.10018410
mov eax, 0x10ec
add esp, 0x24
cmp word [ebp - 0x534], ax
jne 0x100101b9
mov eax, 0x298
cmp word [ebp - 0x532], ax
jne 0x100101b9
imul eax, dword [esi + 0x146a8], 0x53c
mov ecx, esi
test byte [eax + esi + 0x74c], 4
jne 0x1000fcb4
call fcn.100126e0
test eax, eax
jne 0x1000fccc
mov ecx, esi
call fcn.100126b0
jmp 0x1000fcc4
call fcn.100126b0
test eax, eax
jne 0x1000fccc
mov ecx, esi
call fcn.100126e0
test eax, eax
je 0x100101b9
mov al, byte [ebp - 0x54c]
test al, 0x10
je 0x1000fd1b
lea eax, [ebp - 0x55c]
mov dword [ebp - 0x55c], 0
push eax
push 4
lea eax, [ebp - 0x558]
mov dword [ebp - 0x558], 0x20000000
push eax
push 4
push eax
push 0x220410
mov ecx, esi
call fcn.1000f050
neg eax
sbb eax, eax
neg eax
mov dword [esi + 0x146d4], eax
mov al, byte [ebp - 0x54c]
test al, 2
je 0x1000fe56
cmp dword [esi + 0x146b8], 0
je 0x1000fe56
test al, 0x3c
jne 0x1000fe56
push 0
push 0xf00
push 0
mov ecx, esi
call fcn.1000cf80
cmp eax, 0xffffffff
jne 0x1000fd5c
mov dword [ebp - 0x554], 0
jmp 0x1000fe63
mov ecx, eax
and ecx, 0xffff0000
cmp ecx, 0x10ec0000
jne 0x1000fe56
imul ecx, dword [esi + 0x14698], 0x53c
mov edx, 0x10ec
push 0
push 0xf20
push 1
mov dword [ebp - 0x554], 1
mov word [ecx + esi + 0x764], dx
imul ecx, dword [esi + 0x14698], 0x53c
mov word [ecx + esi + 0x766], ax
mov ecx, esi
call fcn.1000cf80
imul ecx, dword [esi + 0x14698], 0x53c
mov edx, eax
shr edx, 0x10
mov word [ecx + esi + 0x768], dx
imul ecx, dword [esi + 0x14698], 0x53c
mov word [ecx + esi + 0x76a], ax
imul ecx, dword [esi + 0x14698], 0x53c
add ecx, esi
movzx eax, word [ecx + 0x76a]
push eax
movzx eax, word [ecx + 0x768]
push eax
movzx eax, word [ecx + 0x766]
push eax
movzx eax, word [ecx + 0x764]
push eax
push 0
lea eax, [ebp - 0x550]
push str.Cad:_d_VEN__04XDEV__04XSUBSYS__04X_04X
push eax
call fcn.1000dca0
add esp, 0x1c
lea eax, [ebp - 0x550]
lea ecx, [esi + 0xc84]
push eax
imul eax, dword [esi + 0x14698], 0x53c
add ecx, eax
call fcn.1000cb70
imul eax, dword [esi + 0x14698], 0x53c
or dword [eax + esi + 0x74c], 0x800000
jmp 0x1000ffa0
cmp dword [ebp - 0x554], 0
jne 0x100101af
push 0xf0000
mov ecx, esi
call fcn.1000ceb0
test eax, eax
je 0x100101af
mov ecx, dword [esi + 0x146cc]
mov eax, ecx
and eax, 0xffff0000
cmp eax, 0x10ec0000
jne 0x100101af
imul eax, dword [esi + 0x14698], 0x53c
mov edx, 0x10ec
push 0x1f2000
mov word [eax + esi + 0x764], dx
imul eax, dword [esi + 0x14698], 0x53c
mov word [eax + esi + 0x766], cx
mov ecx, esi
imul eax, dword [esi + 0x14698], 0x53c
or dword [eax + esi + 0x74c], 0x800000
call fcn.1000ceb0
test eax, eax
je 0x1000ff0e
imul eax, dword [esi + 0x14698], 0x53c
mov edx, dword [esi + 0x146cc]
mov ecx, edx
shr ecx, 0x10
mov word [eax + esi + 0x768], cx
imul eax, dword [esi + 0x14698], 0x53c
mov word [eax + esi + 0x76a], dx
jmp 0x1000ff40
imul ecx, dword [esi + 0x14698], 0x53c
movzx eax, word [ebp - 0x530]
mov word [ecx + esi + 0x768], ax
imul ecx, dword [esi + 0x14698], 0x53c
movzx eax, word [ebp - 0x52e]
mov word [ecx + esi + 0x76a], ax
imul ecx, dword [esi + 0x14698], 0x53c
add ecx, esi
movzx eax, word [ecx + 0x76a]
push eax
movzx eax, word [ecx + 0x768]
push eax
movzx eax, word [ecx + 0x766]
push eax
movzx eax, word [ecx + 0x764]
push eax
push 0
lea eax, [ebp - 0x550]
push str.Cad:_d_VEN__04XDEV__04XSUBSYS__04X_04X
push eax
call fcn.1000dca0
add esp, 0x1c
lea eax, [ebp - 0x550]
lea ecx, [esi + 0xc84]
push eax
imul eax, dword [esi + 0x14698], 0x53c
add ecx, eax
call fcn.1000cb70
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ecx + esi + 0x74c]
xor eax, dword [ebp - 0x54c]
and eax, 1
xor dword [ecx + esi + 0x74c], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ecx + esi + 0x74c]
xor eax, dword [ebp - 0x54c]
and eax, 2
xor dword [ecx + esi + 0x74c], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ecx + esi + 0x74c]
xor eax, dword [ebp - 0x54c]
and eax, 4
xor dword [ecx + esi + 0x74c], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ecx + esi + 0x74c]
xor eax, dword [ebp - 0x54c]
and eax, 8
xor dword [ecx + esi + 0x74c], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ecx + esi + 0x74c]
xor eax, dword [ebp - 0x54c]
and eax, 0x10
xor dword [ecx + esi + 0x74c], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ecx + esi + 0x74c]
xor eax, dword [ebp - 0x54c]
and eax, 0x20
xor dword [ecx + esi + 0x74c], eax
imul edx, dword [esi + 0x14698], 0x53c
mov ecx, dword [edx + esi + 0x74c]
xor ecx, dword [ebp - 0x54c]
and ecx, 0x7fffffff
xor ecx, dword [ebp - 0x54c]
mov dword [edx + esi + 0x74c], ecx
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ecx + esi + 0x74c]
xor eax, dword [ebp - 0x54c]
and eax, 0x40000000
xor dword [ecx + esi + 0x74c], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ebp - 0x548]
mov dword [ecx + esi + 0x750], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ebp - 0x544]
mov dword [ecx + esi + 0x754], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ebp - 0x540]
mov dword [ecx + esi + 0x758], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ebp - 0x53c]
mov dword [ecx + esi + 0x75c], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov eax, dword [ebp - 0x538]
mov dword [ecx + esi + 0x760], eax
imul ecx, dword [esi + 0x14698], 0x53c
mov al, byte [ebp - 0x52c]
mov byte [ecx + esi + 0x76c], al
lea ecx, [ebp - 0x52b]
imul eax, dword [esi + 0x14698], 0x53c
push ecx
push 0x104
add eax, 0x76d
add eax, esi
push eax
call fcn.10018410
imul eax, dword [esi + 0x14698], 0x53c
lea ecx, [ebp - 0x21e]
push ecx
push 0x104
add eax, 0xa7a
add eax, esi
push eax
call fcn.10018410
imul eax, dword [esi + 0x14698], 0x53c
lea ecx, [ebp - 0x11a]
push ecx
push 0x104
add eax, 0xb7e
add eax, esi
push eax
call fcn.10018410
add esp, 0x24
inc dword [esi + 0x14698]
mov dword [esi + 0x146d4], 0
inc ebx
add edi, 0x53c
cmp ebx, dword [ebp - 0x560]
jl 0x1000fb80
mov eax, dword [ebp - 0x550]
or esi, 0xffffffff
mov byte [ebp - 4], 0
lea edx, [eax - 0x10]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100101f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x1001020f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100142a9
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10002040
int3