Function at 0x8f9c1c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
mov byte [ebp - 5], cl
mov dword [ebp - 4], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
cmp byte [eax + 0x809], 0
je 0x8faa74
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf84]
cmp eax, dword [ebp + 0xc]
jne 0x8f9c5d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf88]
cmp eax, dword [ebp + 8]
je 0x8f9c6a
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb2c], edx
mov bl, 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0xf84], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov dword [eax + 0xf88], edx
xor ecx, ecx
push ebp
push 0x8faa6a
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0xba5], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0xf18], 0
je 0x8f9cc2
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.008f8694
test al, al
jne 0x8f9cc2
mov eax, dword [ebp - 4]
mov byte [eax + 0xf18], 0
mov al, byte [0x8faa80]
cmp al, byte [ebp - 5]
jne 0x8f9ce0
mov eax, dword [ebp - 4]
mov byte [eax + 0xf59], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0xba4], 0
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x514]
cmp byte [edi + 0x57], 0
je 0x8f9d7f
mov eax, edi
mov si, 0xffb5
call fcn.00404028
test al, al
jne 0x8f9d7f
mov al, byte [0x8faa80]
cmp al, byte [ebp - 5]
je 0x8f9d16
mov al, byte [0x8faa84]
cmp al, byte [ebp - 5]
jne 0x8f9d7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
call fcn.00499fdc
test al, al
jne 0x8f9d7f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x103d], 0
jne 0x8f9d7f
mov eax, dword [ebp - 4]
call fcn.008f8604
test al, al
jne 0x8f9d71
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa08], 1
jne 0x8f9d71
mov eax, 0x4b
call fcn.008ae474
cmp eax, dword [ebp + 8]
jle 0x8f9d71
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x604]
mov si, 0xffb5
call fcn.00404028
test al, al
jne 0x8f9d7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.008b54a0
test byte [ebp - 5], 4
jne 0x8f9e1d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa88]
cmp dx, ax
je 0x8f9e05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa84]
cmp dx, ax
je 0x8f9e05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa8c]
cmp dx, ax
je 0x8f9e05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa90]
cmp dx, ax
je 0x8f9e05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp word [eax + 0x23c], 0x6f4
jne 0x8f9e1d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dx, word [0x8faa94]
mov ecx, dword [eax]
call dword [ecx + 0x104]
test byte [ebp - 5], 1
jne 0x8f9e5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa98]
cmp dx, ax
jne 0x8f9e5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dx, word [0x8faa94]
mov ecx, dword [eax]
call dword [ecx + 0x104]
push ebp
call fcn.008f9960
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0xba4], 0
jne 0x8fa0e4
mov al, byte [0x8faa80]
cmp al, byte [ebp - 5]
je 0x8f9e84
mov al, byte [0x8faa94]
cmp al, byte [ebp - 5]
jne 0x8fa0e4
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x514]
cmp byte [esi + 0x46d], 0
je 0x8f9f45
mov eax, esi
mov edx, dword [ebp + 0xc]
call fcn.0061a054
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c4c
cmp esi, eax
jl 0x8f9f45
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [ebp + 0xc]
call fcn.0061a054
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619cd4
cmp esi, eax
jg 0x8f9f45
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [ebp + 8]
call fcn.0061a118
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c90
cmp esi, eax
jl 0x8f9f45
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [ebp + 8]
call fcn.0061a118
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619d18
cmp esi, eax
jg 0x8f9f45
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x514]
mov cx, 0x4cc
mov eax, dword [ebp - 4]
call fcn.008e3e20
jmp 0x8fa0e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp word [eax + 0x23c], 0x6f6
jne 0x8f9f62
mov dx, 0x4c9
call fcn.00628c20
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x2d8], 0
je 0x8f9fc8
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb28], 0xa
jge 0x8f9f9b
mov eax, dword [ebp - 4]
call fcn.008f8604
xor al, 1
or bl, al
je 0x8f9f9b
mov eax, dword [ebp - 4]
inc dword [eax + 0xb28]
mov eax, dword [ebp - 4]
call fcn.008f8604
test al, al
je 0x8f9fb3
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb28], 0xa
jl 0x8f9fdb
mov eax, dword [ebp + 8]
push eax
push 0
mov ecx, dword [ebp + 0xc]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fda80
jmp 0x8f9fdb
mov eax, dword [ebp + 8]
push eax
push 0
mov ecx, dword [ebp + 0xc]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fda80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov ax, word [eax + 0x23c]
cmp ax, 0xfffa
je 0x8fa00d
cmp ax, 0xfff9
je 0x8fa00d
cmp ax, 0xfff8
je 0x8fa00d
cmp ax, 0xfff7
je 0x8fa00d
cmp ax, 0xffea
jne 0x8fa0e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp byte [eax + 0x46d], 0
je 0x8fa0c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [ebp + 0xc]
call fcn.0061a054
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c4c
sub eax, 0xa
cmp ebx, eax
jl 0x8fa0c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [ebp + 0xc]
call fcn.0061a054
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619cd4
add eax, 0xa
cmp ebx, eax
jg 0x8fa0c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [ebp + 8]
call fcn.0061a118
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c90
sub eax, 0xa
cmp ebx, eax
jl 0x8fa0c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [ebp + 8]
call fcn.0061a118
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619d18
add eax, 0xa
cmp ebx, eax
jle 0x8fa0e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
call fcn.00628c20
push 0xffffffffffffffff
push 1
or ecx, 0xffffffff
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fda80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
cmp byte [eax + 0x5b], 0
jne 0x8fa15a
mov eax, dword [ebp - 4]
cmp byte [eax + 0xba4], 0
jne 0x8fa15a
mov al, byte [0x8faa80]
cmp al, byte [ebp - 5]
jne 0x8fa15a
mov eax, dword [ebp - 4]
cmp byte [eax + 0xf18], 0
jne 0x8fa15a
cmp dword [ebp + 8], 3
jl 0x8fa135
mov eax, dword [ebp - 4]
call fcn.008f88b0
test al, al
je 0x8fa15a
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008f88d8
jmp 0x8fa15a
mov eax, dword [ebp - 4]
call fcn.008f88b0
test al, al
jne 0x8fa15a
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008f88d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8faa74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
cmp byte [eax + 0x5b], 0
jne 0x8fa618
mov eax, dword [ebp - 4]
cmp byte [eax + 0xba4], 0
jne 0x8fa618
mov al, byte [0x8faa80]
cmp al, byte [ebp - 5]
jne 0x8fa618
mov eax, dword [ebp - 4]
cmp byte [eax + 0xf18], 0
jne 0x8fa618
mov eax, dword [ebp - 4]
cmp dword [eax + 0xea4], 0
je 0x8fa618
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
cmp byte [eax + 0x57], 0
je 0x8fa618
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x65], 0
je 0x8fa271
mov eax, 0x10e
call fcn.008ae474
cmp eax, dword [ebp + 0xc]
jl 0x8fa201
mov eax, 5
call fcn.008ae474
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50c]
mov edx, dword [edx + 0x4c]
sub edx, eax
cmp edx, dword [ebp + 8]
jle 0x8fa22f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp + 0xc]
jl 0x8fa250
mov eax, 3
call fcn.008ae474
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50c]
mov edx, dword [edx + 0x4c]
sub edx, eax
cmp edx, dword [ebp + 8]
jg 0x8fa250
mov eax, dword [ebp - 4]
call fcn.008f9300
test al, al
jne 0x8fa618
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008f9324
jmp 0x8fa618
mov eax, dword [ebp - 4]
call fcn.008f9300
test al, al
je 0x8fa618
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008f9324
jmp 0x8fa618
mov eax, 0x10e
call fcn.008ae474
cmp eax, dword [ebp + 0xc]
jl 0x8fa294
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov eax, dword [eax + 0x4c]
sub eax, 4
cmp eax, dword [ebp + 8]
jle 0x8fa2c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp + 0xc]
jl 0x8fa2dc
mov eax, 1
call fcn.008ae474
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50c]
mov edx, dword [edx + 0x4c]
sub edx, eax
cmp edx, dword [ebp + 8]
jg 0x8fa2dc
mov eax, dword [ebp - 4]
call fcn.008f9300
test al, al
jne 0x8fa2f4
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008f9324
jmp 0x8fa2f4
mov eax, dword [ebp - 4]
call fcn.008f9300
test al, al
je 0x8fa2f4
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008f9324
call fcn.008b08a4
test al, al
je 0x8fa54e
xor edx, edx
push ebp
push 0x8fa53f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, 0xc8
call fcn.008ae474
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50c]
mov edx, dword [edx + 0x48]
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
mov eax, dword [eax + 0x48]
call fcn.00437fc0
cmp eax, dword [ebp + 0xc]
jge 0x8fa4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
mov eax, dword [eax + 0x4c]
dec eax
cmp eax, dword [ebp + 8]
jg 0x8fa4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
cmp byte [eax + 0x5b], 5
jne 0x8fa532
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0xea4]
mov eax, ebx
call fcn.00474e44
call fcn.004786bc
cmp eax, dword [ebx + 0x4c]
jne 0x8fa532
lea eax, [ebp - 0x15]
call fcn.008b0160
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
call fcn.00474e44
call fcn.004786d8
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
call fcn.00474e44
call fcn.004786bc
add esi, eax
mov eax, esi
mov ebx, dword [ebp - 9]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x8fa532
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
call fcn.00474e44
call fcn.004786a4
sub eax, dword [ebp - 0x15]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jg 0x8fa532
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
call fcn.00474e44
call fcn.004786a4
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
call fcn.00474e44
call fcn.004786f0
add esi, eax
mov eax, esi
sub eax, dword [ebp - 0xd]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jg 0x8fa532
mov eax, ebx
sub eax, dword [ebp - 0x11]
cmp eax, 0xf
jle 0x8fa532
mov eax, 0x64
call fcn.008ae474
mov edx, ebx
sub edx, dword [ebp - 0x11]
cmp eax, edx
jl 0x8fa532
mov eax, ebx
sub eax, dword [ebp - 0x11]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0xd]
sub edx, dword [ebp - 0x15]
cmp eax, edx
jge 0x8fa532
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
xor edx, edx
call fcn.0045818c
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0xea4]
mov eax, esi
call fcn.00474e44
call fcn.004786bc
mov edx, eax
sub ebx, dword [ebp - 0x11]
sub edx, ebx
mov eax, 0xa
call fcn.00437fc0
mov edx, eax
mov eax, esi
call fcn.00458458
call fcn.008b18dc
call sub.user32.dll_GetForegroundWindow
mov edx, dword [ebp - 4]
mov dword [edx + 0x9ac], eax
jmp 0x8fa532
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
cmp byte [eax + 0x5b], 5
je 0x8fa532
mov eax, dword [ebp - 4]
call fcn.008f98d0
xor edx, edx
push ebp
push 0x8fa528
push dword fs:[edx]
mov dword fs:[edx], esp
call sub.user32.dll_GetForegroundWindow
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
call fcn.0045f564
cmp ebx, eax
je 0x8fa51e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x9ac]
test eax, eax
je 0x8fa51e
cmp eax, ebx
jne 0x8fa51e
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x9ac], edx
call fcn.004719cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8fa532
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8fa618
xor eax, eax
push ebp
push 0x8fa60e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax + 0x48]
sub edx, 0xc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
mov eax, dword [eax + 0x48]
call fcn.00437fc0
cmp eax, dword [ebp + 0xc]
jge 0x8fa59f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov eax, dword [eax + 0x4c]
sub eax, 2
cmp eax, dword [ebp + 8]
jg 0x8fa59f
call fcn.008b18dc
jmp 0x8fa604
xor eax, eax
push ebp
push 0x8fa5fa
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.user32.dll_GetForegroundWindow
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov eax, dword [eax + 0x30]
call fcn.0045f564
cmp ebx, eax
je 0x8fa5f0
push 0
push 0x8faa9c
call sub.user32.dll_FindWindowA
cmp ebx, eax
jne 0x8fa5f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov eax, dword [eax + 0x30]
call fcn.0045f564
push eax
call sub.user32.dll_SetForegroundWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8fa604
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8fa618
mov eax, dword [ebp - 4]
call fcn.008f8604
test al, al
jne 0x8fa634
mov eax, dword [ebp - 4]
cmp byte [eax + 0xefc], 0
je 0x8fa6c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0xba4], 0
jne 0x8fa6c8
mov al, byte [0x8faa80]
cmp al, byte [ebp - 5]
jne 0x8fa6c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0xf18], 0
jne 0x8fa6c8
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50c]
mov edx, dword [edx + 0x48]
sub edx, 5
cmp edx, dword [ebp + 0xc]
jge 0x8fa6b0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2d4]
mov edx, dword [edx + 0x44]
cmp edx, dword [ebp + 8]
jg 0x8fa6b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d4]
mov edx, dword [eax + 0x44]
add edx, dword [eax + 0x4c]
sub edx, 0xa
cmp edx, dword [ebp + 8]
jl 0x8fa6b0
mov eax, dword [ebp - 4]
call fcn.008f8f28
test al, al
jne 0x8fa6c8
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008f8f54
jmp 0x8fa6c8
mov eax, dword [ebp - 4]
call fcn.008f8f28
test al, al
je 0x8fa6c8
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008f8f54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
cmp byte [eax + 0x5b], 0
jne 0x8fa77d
mov eax, dword [ebp - 4]
call fcn.008f8604
test al, al
je 0x8fa77d
mov eax, dword [ebp - 4]
cmp byte [eax + 0xba4], 0
jne 0x8fa77d
mov al, byte [0x8faa80]
cmp al, byte [ebp - 5]
jne 0x8fa77d
mov eax, dword [ebp - 4]
cmp byte [eax + 0xf18], 0
jne 0x8fa77d
cmp dword [ebp + 0xc], 5
jge 0x8fa765
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xea4]
mov edx, dword [edx + 0x30c]
mov edx, dword [edx + 0x44]
cmp edx, dword [ebp + 8]
jg 0x8fa765
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xea4]
mov eax, dword [eax + 0x30c]
mov edx, dword [eax + 0x44]
add edx, dword [eax + 0x4c]
sub edx, 0xa
cmp edx, dword [ebp + 8]
jl 0x8fa765
mov eax, dword [ebp - 4]
call fcn.008f8d40
test al, al
jne 0x8fa77d
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008f8d68
jmp 0x8fa77d
mov eax, dword [ebp - 4]
call fcn.008f8d40
test al, al
je 0x8fa77d
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008f8d68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa80]
cmp dx, ax
jne 0x8fa987
mov eax, dword [ebp - 4]
cmp byte [eax + 0xbf4], 0
jne 0x8fa7b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8faa74
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x8b8], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov dword [eax + 0x8bc], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xbf0], 0
jle 0x8fa81e
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x518]
fild dword [ebx + 0x48]
fdiv dword [0x8faaa4]
call fcn.00402ffc
mov edx, dword [ebp + 0xc]
sub edx, eax
mov eax, ebx
call fcn.004583e8
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x518]
fild dword [ebx + 0x4c]
fdiv dword [0x8faaa4]
call fcn.00402ffc
mov edx, dword [ebp + 8]
sub edx, eax
mov eax, ebx
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
mov edx, dword [eax]
call dword [edx + 0x7c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x8b8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.0061a054
mov ebx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x8bc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.0061a118
mov esi, eax
test ebx, ebx
jl 0x8fa89e
test esi, esi
jl 0x8fa89e
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]
cmp ebx, eax
jg 0x8fa89e
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]
cmp esi, eax
jle 0x8fa930
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
xor edx, edx
call fcn.00458bcc
xor eax, eax
push ebp
push 0x8fa8e3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0xbf0], 0
jne 0x8fa8d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8fa8ed
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008f5658
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00938adc
mov edx, dword [0x98a548]
mov edx, dword [edx]
cmp dword [edx + 0x7cc], 7
setge dl
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov byte [eax + 0x5e4], dl
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.008e3e20
jmp 0x8fa987
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
cmp byte [eax + 0x57], 0
jne 0x8fa973
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov byte [eax + 0x5e4], 0
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008f5658
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
mov dl, 1
call fcn.00458bcc
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00938adc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x514]
or ecx, 0xffffffff
mov eax, dword [ebp - 4]
call fcn.008e3e20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa88]
cmp dx, ax
je 0x8faa09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa84]
cmp dx, ax
je 0x8faa09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa8c]
cmp dx, ax
je 0x8faa09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa90]
cmp dx, ax
je 0x8faa09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.006248c8
mov dx, word [0x8faa90]
cmp dx, ax
jne 0x8faa60
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x514]
mov ax, word [edx + 0x23c]
cmp ax, 0x4c9
je 0x8faa54
cmp ax, 0x4cc
je 0x8faa54
test ax, ax
je 0x8faa54
cmp ax, 0xfff5
je 0x8faa54
cmp ax, 0xffff
je 0x8faa54
cmp ax, 0x4ca
je 0x8faa54
cmp ax, 0x4d2
je 0x8faa54
cmp ax, 0x4d3
je 0x8faa54
cmp ax, 0x4d4
je 0x8faa54
cmp ax, 0x4d5
jne 0x8faa60
mov cx, 0x6f4
mov eax, dword [ebp - 4]
call fcn.008e3e20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8faa74
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8