Function at 0x10198880
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x11ad127c]
xor eax, esp
mov dword [esp + 0x60], eax
cmp dword [0x11d0c744], 0
mov edx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x44], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0
je 0x10198b79
cmp dword [edi + 4], 0x58544e43
jne 0x10198b79
mov eax, dword [0x11d0c5b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [edi]
mov dword [ecx + 0x10], eax
mov dword [edi + 8], 0
mov eax, dword [edi + 0x7fcc]
mov dword [edi + 0x7fc8], eax
mov dword [edi + 0x7fcc], 0x16
test edx, edx
je 0x10198b79
test esi, esi
je 0x10198919
test ebx, ebx
je 0x10198b79
cmp dword [0x11d221e8], 0
je 0x10198989
mov esi, dword [edi + 0x288c]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x40]
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 8]
test eax, eax
je 0x10198946
mov eax, dword [eax + 8]
mov dword [0x11d23b90], eax
jmp 0x10198950
mov dword [0x11d23b90], 0
mov eax, dword [esi + 0x30]
mov ecx, esi
mov dword [0x11d23b94], eax
mov eax, dword [esi + 0x34]
mov dword [0x11d23b98], eax
mov eax, dword [esi]
call dword [eax + 0x40]
xor ecx, ecx
mov eax, dword [eax]
mov dword [0x11d23b9c], eax
call fcn.101a5400
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0x10
mov ecx, edi
call fcn.100bba70
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 1
mov eax, dword [eax]
and eax, 8
test esi, esi
jne 0x10198a03
test eax, eax
je 0x101989f6
movzx ecx, word [edi + 0x28cc]
lea eax, [esp + 0x5c]
movzx edx, word [edi + 0x28d0]
mov dword [esp + 0x38], eax
movzx eax, word [edi + 0x28ce]
add eax, ecx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x64], eax
movzx eax, word [edi + 0x28d2]
add eax, edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], eax
jmp 0x10198abd
mov dword [esp + 0x18], 0
jmp 0x10198abd
test eax, eax
je 0x10198acc
xor ecx, ecx
mov eax, esi
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10450898
xor esi, esi
mov dword [esp + 0x14], eax
add esp, 4
mov dword [esp + 0x3c], esi
test eax, eax
je 0x10198b66
movzx ecx, word [edi + 0x28cc]
movzx eax, word [edi + 0x28ce]
movzx edx, word [edi + 0x28d0]
add eax, ecx
mov dword [esp + 0x50], eax
movzx eax, word [edi + 0x28d2]
add eax, edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], eax
cmp dword [esp + 0x14], esi
jbe 0x10198b66
mov edi, dword [esp + 0x14]
nop word [eax + eax]
lea eax, [esp + 0x48]
shl esi, 4
add esi, dword [esp + 0x10]
push eax
push ebx
push esi
call dword [sym.imp.USER32.dll_IntersectRect]
mov esi, dword [esp + 0x3c]
test eax, eax
je 0x10198aa1
inc esi
mov dword [esp + 0x3c], esi
add ebx, 0x10
sub edi, 1
jne 0x10198a80
mov edi, dword [esp + 0x44]
test esi, esi
je 0x10198b66
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
cmp dword [esp + 0x18], 0
mov ebx, edi
je 0x10198b66
jmp 0x10198ad6
mov dword [esp + 0x38], ebx
mov ebx, edi
mov dword [esp + 0x3c], esi
push dword [ebx + 0x288c]
mov eax, dword fs:[0x2c]
push 0
push ecx
mov ecx, dword [0x11d0c5b8]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x7a68]
mov ecx, dword [ecx + 8]
call fcn.101e4a30
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x24], edi
mov eax, dword [ecx + 4]
movss xmm0, dword [ecx + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov ecx, ebx
push eax
push dword [esp + 0x40]
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x30], eax
call fcn.100a08b0
test eax, eax
je 0x10198b47
mov dword [esp + 0x40], 0
jmp 0x10198b52
mov edx, ebx
lea ecx, [esp + 0x24]
call fcn.100a9270
mov ecx, dword [ebx + 0x11d8]
test byte [ecx + 0x668], 1
je 0x10198b66
call fcn.101d3990
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10198ba6
push ebx
call fcn.10450877
add esp, 4
jmp 0x10198ba6
mov dword [esp + 0x20], 0x80004005
call fcn.1027e6c0
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x5c], 0
xorps xmm0, xmm0
mov ecx, 0x80004005
push eax
movups xmmword [esp + 0x50], xmm0
call fcn.1027e560
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0x10