Function at 0x8eb550
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x8eb9f1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0xe99], 0
jne 0x8eb9af
mov eax, dword [ebp - 4]
cmp byte [eax + 0xe9a], 0
jne 0x8eb9af
mov eax, dword [ebp - 4]
cmp byte [eax + 0xe48], 0
jne 0x8eb9af
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa60], 0
jle 0x8eb9af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x24], 3
jne 0x8eb9af
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov ebx, dword [eax + 0xd0]
cmp ebx, 1
je 0x8eb60f
mov eax, dword [0x98a548]
cmp ebx, 2
je 0x8eb60f
mov eax, dword [ebp - 4]
call fcn.008f8634
test al, al
je 0x8eb9af
mov eax, dword [ebp - 4]
cmp byte [eax + 0xefc], 0
jne 0x8eb9af
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8eb9af
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe44]
call fcn.0040b2a4
mov eax, dword [ebp - 0x14]
xor edx, edx
call fcn.00405738
je 0x8eb9af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
call fcn.005d1348
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
call fcn.005d1350
add ebx, eax
test ebx, ebx
jne 0x8eb9af
xor eax, eax
push ebp
push 0x8eb9a3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [ebp - 4]
mov ebx, dword [edx + 0x514]
cmp eax, dword [ebx + 0x48]
jg 0x8eb6cf
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x514]
cmp eax, dword [edx + 0x4c]
jle 0x8eb934
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp dword [eax + 0x48], 0
jle 0x8eb934
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp dword [eax + 0x4c], 0
jle 0x8eb934
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8f2]
mov edx, dword [ebp - 4]
mov dword [edx + 0xa8c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8f6]
mov edx, dword [ebp - 4]
mov dword [edx + 0xa90], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x514]
mov eax, dword [ebx + 0x4c]
push eax
lea eax, [ebp - 0xd]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ecx, dword [ebx + 0x48]
pop edx
call fcn.008b8f08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov al, byte [eax + 0x30]
mov byte [ebp - 5], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov byte [eax + 0x30], 0
xor eax, eax
push ebp
push 0x8eb84c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe0]
xor eax, eax
push ebp
push 0x8eb7e3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.007967f0
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov ecx, dword [ebp - 9]
mov edx, dword [ebp - 0xd]
call fcn.005d4530
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8eb7ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov edx, dword [eax + 0x1bc]
pop eax
call fcn.008bcac4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8eb853
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov dl, byte [ebp - 5]
mov byte [eax + 0x30], dl
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe8]
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov edx, dword [eax + 0x1bc]
pop eax
call fcn.008bcac4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xe44]
mov eax, dword [ebp - 4]
call fcn.008e1e7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8eb9db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov edx, dword [eax + 0x1bc]
pop eax
call fcn.008bcac4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8eb9f8
lea eax, [ebp - 0x14]
call fcn.004053b0
ret