Function at 0x8e0148
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x8e0150
push ebx
push esi
push edi
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x8e16ab
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
push ebp
push 0x8e167e
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [0x989a84]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0xb5c], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xde9], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0xa54], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xa55], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xa56], 0
mov eax, dword [0x98a2cc]
mov edx, dword [ebp - 4]
mov dword [eax + 4], edx
mov dword [eax], 0x95cfd4
mov eax, dword [ebp - 4]
mov byte [eax + 0xac4], 0
mov eax, dword [ebp - 4]
call fcn.0094ebec
mov eax, dword [0x98aa60]
mov byte [eax], 0x2e
mov eax, dword [ebp - 4]
mov byte [eax + 0xac5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xac6], 0
mov dl, 1
mov eax, dword [0x4820cc]
call fcn.00483400
mov edx, dword [ebp - 4]
mov dword [edx + 0xad0], eax
mov dl, 1
mov eax, dword [0x4820cc]
call fcn.00483400
mov edx, dword [ebp - 4]
mov dword [edx + 0xad4], eax
mov dl, 1
mov eax, dword [0x4820cc]
call fcn.00483400
mov edx, dword [ebp - 4]
mov dword [edx + 0xad8], eax
mov dl, 1
mov eax, dword [0x4820cc]
call fcn.00483400
mov edx, dword [ebp - 4]
mov dword [edx + 0xae0], eax
mov eax, dword [ebp - 4]
add eax, 0xae4
call fcn.004053b0
mov eax, dword [ebp - 4]
mov dword [eax + 0xadc], 0xffffffff
mov eax, dword [ebp - 4]
mov byte [eax + 0xaf8], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0xae8], 0
mov eax, dword [ebp - 4]
add eax, 0xaec
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xaf0
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xaf4
call fcn.004053b0
mov eax, dword [ebp - 4]
mov byte [eax + 0xaf9], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb2c], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb28], edx
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5fc9b4]
call fcn.005fceb8
mov edx, dword [ebp - 4]
mov dword [edx + 0xb30], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5fc9b4]
call fcn.005fceb8
mov edx, dword [ebp - 4]
mov dword [edx + 0xb34], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5ce108]
call fcn.005d0d78
mov edx, dword [ebp - 4]
mov dword [edx + 0xb38], eax
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xb3c], ebx
mov eax, ebx
xor edx, edx
call fcn.00638894
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb30]
mov eax, dword [eax + 0x1bc]
mov dword [eax + 0xc8], 0x46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb34]
mov eax, dword [eax + 0x1bc]
mov dword [eax + 0xc8], 0x46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb30]
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 0
mov byte [eax + 0x54b], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb34]
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xd8], 0
mov byte [eax + 0xcd], 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xb3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb30]
call fcn.00611784
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xb3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb34]
call fcn.00611784
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xb3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb38]
call fcn.005e95cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb38]
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xc14], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xb40], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xb41], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xb43], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xb44], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xb5f], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xb5d], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xb5e], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7cc]
test eax, eax
jl 0x8e047f
mov edx, dword [0x98a548]
cmp eax, 4
jg 0x8e047f
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov byte [eax + 0x284], 0
jmp 0x8e0493
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov byte [eax + 0x284], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
mov byte [eax + 0x198], 1
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov byte [eax + 0x198], 1
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 1
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xb6c], ebx
mov eax, ebx
xor edx, edx
call fcn.00638894
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xb70], ebx
mov eax, ebx
xor edx, edx
call fcn.00638894
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xb6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
call fcn.00611784
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xb70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
call fcn.00611784
mov eax, dword [ebp - 4]
add eax, 0xb60
call fcn.004053b0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb64], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb68], edx
mov eax, dword [ebp - 4]
add eax, 0xb74
call fcn.004053b0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb78], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb7c], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb80], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xddc], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb88], edx
mov dword [eax + 0xb8c], 0x40000000
mov eax, dword [ebp - 4]
add eax, 0xb90
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xb94
call fcn.00404c7c
mov eax, dword [ebp - 4]
add eax, 0xb98
call fcn.00404c7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov byte [eax + 0x198], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x8e0610
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e4]
mov dl, 2
mov ecx, dword [eax]
call dword [ecx + 0x124]
jmp 0x8e0641
mov edx, dword [0x98a548]
dec eax
jne 0x8e062e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e4]
mov dl, 3
mov ecx, dword [eax]
call dword [ecx + 0x124]
jmp 0x8e0641
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e4]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x124]
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xbc8], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xbd0], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0xbd8], 0
mov dword [eax + 0xbdc], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xbe0], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dword [eax + 0x3cc], 5
mov eax, dword [ebp - 4]
mov byte [eax + 0xe99], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe9a], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe9b], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe9c], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xc20], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xc21], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0xec]
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0xc22], al
mov eax, dword [ebp - 4]
mov dword [eax + 0xe94], 0xffffffff
mov eax, dword [ebp - 4]
mov dword [eax + 0xdec], 0x1f4
mov dl, 1
mov eax, dword [0x41ed28]
call fcn.00403dfc
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xdf0], ebx
mov eax, ebx
mov edx, 0x8e16c4
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov dl, 1
mov eax, dword [0x47f6cc]
call fcn.00403dfc
mov edx, dword [ebp - 4]
mov dword [edx + 0xe84], eax
mov dl, 1
mov eax, dword [0x47f6cc]
call fcn.00403dfc
mov edx, dword [ebp - 4]
mov dword [edx + 0xe88], eax
mov dl, 1
mov eax, dword [0x47f6cc]
call fcn.00403dfc
mov edx, dword [ebp - 4]
mov dword [edx + 0xe8c], eax
mov dl, 1
mov eax, dword [0x47f6cc]
call fcn.00403dfc
mov edx, dword [ebp - 4]
mov dword [edx + 0xe90], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [eax + 0x3a8]
mov eax, dword [ebp - 4]
call fcn.008dfb80
xor edx, edx
push ebp
push 0x8e0dc1
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0xb20], 0
je 0x8e0d78
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
call fcn.00405594
mov eax, dword [ebp - 0x14]
call fcn.008b4aa0
test al, al
jne 0x8e09ef
mov eax, dword [0x98a548]
mov eax, dword [eax]
cmp byte [eax + 0x728], 0
je 0x8e088a
mov edx, dword [0x98a1b0]
cmp dword [edx], 2
jne 0x8e0825
mov edx, dword [0x98a548]
mov edx, dword [edx]
cmp byte [edx + 0x7c8], 0
je 0x8e0825
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x4c]
test eax, eax
jl 0x8e0825
mov edx, dword [0x98a548]
cmp eax, 5
jle 0x8e085f
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp dword [eax + 0x40], 0xf0
jl 0x8e084b
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x4c], 3
jmp 0x8e085f
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x4c], 2
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov ecx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
call fcn.00906ac0
jmp 0x8e09e1
mov edx, dword [0x98a1b0]
cmp dword [edx], 2
jne 0x8e08c9
mov edx, dword [0x98a548]
mov edx, dword [edx]
cmp byte [edx + 0x7c8], 0
je 0x8e08c9
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x48]
test eax, eax
jl 0x8e08c9
mov edx, dword [0x98a548]
cmp eax, 5
jle 0x8e09bb
call fcn.008b0800
test al, al
je 0x8e095d
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp dword [eax + 0x40], 0xc0
jl 0x8e08ff
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 4
jmp 0x8e09bb
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp dword [eax + 0x40], 0x78
jl 0x8e0947
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.004789bc
mov ebx, eax
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.004789b0
imul ebx, eax
cmp ebx, 0x10acc0
jle 0x8e0947
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 3
jmp 0x8e09bb
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 2
jmp 0x8e09bb
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, 0xc0
jl 0x8e0984
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 4
jmp 0x8e09bb
mov edx, dword [0x98aad0]
cmp eax, 0x90
jl 0x8e09a7
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 3
jmp 0x8e09bb
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 2
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x20]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
call fcn.00906ac0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a344
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a8d4
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e8]
mov ecx, dword [eax]
call dword [ecx + 0x258]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
mov ecx, dword [eax]
call dword [ecx + 0x258]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x258]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0092df4c
cmp dword [ebp - 0x10], 9
jne 0x8e0a83
cmp dword [ebp - 0xc], 0xffffffff
jne 0x8e0db7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a344
mov eax, dword [0x98a548]
mov eax, dword [eax]
cmp byte [eax + 0x728], 0
je 0x8e0b45
mov edx, dword [0x98a1b0]
cmp dword [edx], 2
jne 0x8e0ae0
mov edx, dword [0x98a548]
mov edx, dword [edx]
cmp byte [edx + 0x7c8], 0
je 0x8e0ae0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x4c]
test eax, eax
jl 0x8e0ae0
mov edx, dword [0x98a548]
cmp eax, 5
jle 0x8e0b1a
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp dword [eax + 0x40], 0xf0
jl 0x8e0b06
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x4c], 3
jmp 0x8e0b1a
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x4c], 2
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x34]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov ecx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
call fcn.00906ac0
jmp 0x8e0c9c
mov edx, dword [0x98a1b0]
cmp dword [edx], 2
jne 0x8e0b84
mov edx, dword [0x98a548]
mov edx, dword [edx]
cmp byte [edx + 0x7c8], 0
je 0x8e0b84
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x48]
test eax, eax
jl 0x8e0b84
mov edx, dword [0x98a548]
cmp eax, 5
jle 0x8e0c76
call fcn.008b0800
test al, al
je 0x8e0c18
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp dword [eax + 0x40], 0xc0
jl 0x8e0bba
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 4
jmp 0x8e0c76
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp dword [eax + 0x40], 0x78
jl 0x8e0c02
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.004789bc
mov ebx, eax
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.004789b0
imul ebx, eax
cmp ebx, 0x10acc0
jle 0x8e0c02
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 3
jmp 0x8e0c76
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 2
jmp 0x8e0c76
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, 0xc0
jl 0x8e0c3f
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 4
jmp 0x8e0c76
mov edx, dword [0x98aad0]
cmp eax, 0x90
jl 0x8e0c62
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 3
jmp 0x8e0c76
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0x48], 2
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x38]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
call fcn.00906ac0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a378
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a344
mov eax, dword [ebp - 0xc]
test eax, eax
jl 0x8e0cc4
cmp eax, 5
jle 0x8e0ccb
mov dword [ebp - 0xc], 2
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0092e0cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a378
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a344
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0069a8d4
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e8]
mov ecx, dword [eax]
call dword [ecx + 0x258]
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
mov ecx, dword [eax]
call dword [ecx + 0x258]
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.009068e8
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x258]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0092df4c
jmp 0x8e0db7
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x98a548]
mov eax, dword [eax]
cmp byte [eax + 0x728], 0
je 0x8e0da4
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xc], eax
jmp 0x8e0db7
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8e0dcb
mov eax, dword [ebp - 0xc]
test eax, eax
jl 0x8e0dd7
cmp eax, 5
jle 0x8e0dde
mov dword [ebp - 0xc], 2
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
mov dword [eax + 0xac0], ebx
mov eax, 0x3c
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf4], eax
mov eax, 0x2d
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf8], eax
test ebx, ebx
jne 0x8e0e3f
mov eax, 0x3c
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf4], eax
mov eax, 0x2d
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf8], eax
jmp 0x8e0f24
cmp ebx, 1
jne 0x8e0e6f
mov eax, 0x50
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf4], eax
mov eax, 0x3c
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf8], eax
jmp 0x8e0f24
cmp ebx, 2
jne 0x8e0e9f
mov eax, 0x78
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf4], eax
mov eax, 0x5a
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf8], eax
jmp 0x8e0f24
cmp ebx, 3
jne 0x8e0ecc
mov eax, 0xa0
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf4], eax
mov eax, 0x78
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf8], eax
jmp 0x8e0f24
cmp ebx, 4
jne 0x8e0ef9
mov eax, 0xc8
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf4], eax
mov eax, 0x96
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf8], eax
jmp 0x8e0f24
cmp ebx, 5
jne 0x8e0f24
mov eax, 0x104
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf4], eax
mov eax, 0xc3
call fcn.008ae50c
mov edx, dword [ebp - 4]
mov dword [edx + 0xdf8], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xe64], 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0xe68
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xe6c
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xe70
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xe74
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xe78
call fcn.004053b0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xe80], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xc24], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0xdb8], 0xffffffff
mov eax, dword [ebp - 4]
mov byte [eax + 0xdc8], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xddd], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0xde0], 0
mov dword [eax + 0xde4], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xde8], 0
mov eax, dword [ebp - 4]
add eax, 0xdbc
call fcn.004053b0
mov eax, dword [ebp - 4]
mov byte [eax + 0xdc0], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0xdc4], 0xffffffff
mov eax, dword [ebp - 4]
mov dword [eax + 0xdcc], 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0xdd0
call fcn.004053b0
mov eax, dword [ebp - 4]
mov byte [eax + 0xdd4], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xea0], edx
mov eax, 0x5b1f68
mov edx, dword [0x98a88c]
mov dword [edx], eax
mov eax, 0x5b27b4
mov edx, dword [0x98a188]
mov dword [edx], eax
mov eax, 0x5b2be4
mov edx, dword [0x98977c]
mov dword [edx], eax
mov eax, 0x5b3094
mov edx, dword [0x98a54c]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x8b4], 0
mov eax, dword [ebp - 4]
add eax, 0xe44
call fcn.004053b0
mov eax, dword [ebp - 4]
mov byte [eax + 0xe48], 0
mov eax, dword [ebp - 4]
add eax, 0xe4c
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xe50
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xe54
call fcn.004053b0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xe58], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xe5c], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0xe60], 1
mov eax, dword [ebp - 4]
call fcn.008e3b64
mov eax, dword [0x98a548]
mov eax, dword [eax]
cmp dword [eax + 0x820], 0
jne 0x8e1107
cmp byte [ebp - 5], 0
je 0x8e10f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dx, 0xfff5
call fcn.00628c20
jmp 0x8e1107
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
call fcn.00628c20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov eax, dword [eax + 0x524]
mov byte [eax + 5], 0
mov byte [eax + 6], 1
mov dword [eax + 8], 0x19
mov eax, dword [ebp - 4]
call fcn.00905280
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov dl, byte [0x8e1798]
call fcn.005dbf48
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x514]
mov byte [ebx + 0x4a0], 1
mov eax, ebx
call fcn.00624ac0
mov edx, 0xa
call fcn.005f08d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov byte [eax + 0x88], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov byte [eax + 0x30], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov byte [eax + 0x239], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x8e8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
mov byte [eax + 0x1f8], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0xba4], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xba5], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x8b8], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x8bc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xba6], 1
mov eax, dword [ebp - 4]
mov dword [eax + 0xba8], 1
mov dl, 1
mov eax, dword [0x42ea70]
call fcn.00435630
mov edx, dword [ebp - 4]
mov dword [edx + 0x8cc], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x8f1], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x8f2], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x8f6], edx
mov eax, dword [ebp - 4]
add eax, 0xeaa
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xeae
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xeb6
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xee2
call fcn.00404c7c
mov eax, dword [ebp - 4]
mov dword [eax + 0xeba], 0
mov dword [eax + 0xebe], 0
mov eax, dword [ebp - 4]
add eax, 0xec2
call fcn.004053b0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xec6], edx
mov dword [eax + 0xeca], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xece], edx
mov dword [eax + 0xed2], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xed6], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0xeda], 0
mov dword [eax + 0xede], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xee6], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xeea], edx
mov eax, 0x78
call fcn.008ae474
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x79c]
xor edx, edx
call fcn.006f8ef4
mov eax, dword [ebp - 4]
call fcn.008e3330
mov eax, dword [ebp - 4]
mov byte [eax + 0x8fa], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xea8], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xea9], 1
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov edx, dword [ebp - 4]
mov dword [edx + 0xbe8], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0xbe5], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xbec], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xbf4], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
fild dword [eax + 0xf8]
mov eax, dword [ebp - 4]
fstp qword [eax + 0xbf8]
wait
mov eax, dword [ebp - 4]
fld qword [eax + 0xbf8]
fcomp dword [0x8e179c]
fnstsw ax
sahf
je 0x8e13ec
mov eax, dword [ebp - 4]
fld qword [eax + 0xbf8]
fcomp dword [0x8e17a0]
fnstsw ax
sahf
je 0x8e13ec
mov eax, dword [ebp - 4]
fld qword [eax + 0xbf8]
fcomp dword [0x8e17a4]
fnstsw ax
sahf
je 0x8e13ec
mov eax, dword [ebp - 4]
fld qword [eax + 0xbf8]
fcomp dword [0x8e17a8]
fnstsw ax
sahf
je 0x8e13ec
mov eax, dword [ebp - 4]
fld qword [eax + 0xbf8]
fcomp dword [0x8e17ac]
fnstsw ax
sahf
je 0x8e13ec
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xbf8], edx
mov dword [eax + 0xbfc], 0x40340000
mov eax, dword [ebp - 4]
fld qword [eax + 0xbf8]
fdiv dword [0x8e179c]
mov eax, dword [ebp - 4]
fstp qword [eax + 0xbf8]
wait
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x100]
mov edx, dword [ebp - 4]
mov dword [edx + 0xbf0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbf0]
test eax, eax
je 0x8e1478
cmp eax, 0x64
je 0x8e1478
cmp eax, 0x96
je 0x8e1478
cmp eax, 0xc8
je 0x8e1478
cmp eax, 0x12c
je 0x8e1478
cmp eax, 0x190
je 0x8e1478
cmp eax, 0x1f4
je 0x8e1478
cmp eax, 0x226
je 0x8e1478
cmp eax, 0x258
je 0x8e1478
cmp eax, 0x28a
je 0x8e1478
mov eax, dword [ebp - 4]
mov dword [eax + 0xbf0], 0x1f4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xef0], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xef4], 1
mov eax, dword [ebp - 4]
add eax, 0xb9c
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xba0
call fcn.004053b0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov edx, dword [eax + 0x7c4]
mov eax, dword [edx + 0x2ec]
test eax, eax
jl 0x8e14c9
mov ecx, dword [0x98a548]
cmp eax, 2
jle 0x8e14d6
mov eax, dword [0x98a548]
xor eax, eax
mov dword [edx + 0x2ec], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0xef5], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [eax + 0x3a8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6f0]
call fcn.006d4e90
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dl, byte [eax + 0xed]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e4]
call fcn.00458dfc
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp byte [eax + 0xb20], 0
jne 0x8e154c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov byte [eax + 0xee], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xf0], 0x8000ff
je 0x8e156d
mov eax, dword [ebp - 4]
call fcn.008dff48
mov eax, dword [ebp - 4]
call fcn.00945f80
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [eax + 0x3b0]
mov eax, dword [ebp - 4]
call fcn.0094616c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x415], 0
je 0x8e15eb
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.00478a0c
cmp eax, 2
jl 0x8e15eb
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd4], 0
je 0x8e15dd
mov eax, dword [0x98a548]
mov eax, dword [eax]
cmp byte [eax + 0x798], 0
jne 0x8e15eb
push 0
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00946800
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov edx, dword [eax + 0x7c4]
mov eax, dword [edx + 0x118]
test eax, eax
jl 0x8e160d
mov ecx, dword [0x98a548]
cmp eax, 3
jle 0x8e161a
mov eax, dword [0x98a548]
xor eax, eax
mov dword [edx + 0x118], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x118]
test eax, eax
jle 0x8e1641
mov edx, dword [0x98a548]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.00900f88
mov eax, dword [ebp - 4]
add eax, 0xf24
call fcn.004053b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov edx, dword [ebp - 4]
mov dword [eax + 0x38c], edx
mov dword [eax + 0x388], 0x956ffc
mov eax, dword [ebp - 4]
mov byte [eax + 0xabc], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8e1688
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8e16b2
lea eax, [ebp - 0x48]
mov edx, 0xd
call fcn.00404ca0
lea eax, [ebp - 0x14]
call fcn.004053b0
ret