Function at 0x8a3a28
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff9c
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x8a4c92
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 5
je 0x8a3a78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8a4c9c
imul eax, dword [ebp - 8], 0x3e8
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fadd qword [ebp + 8]
fstp qword [ebp - 0x60]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x8a3ab0
fld qword [ebp - 0x60]
fadd dword [0x8a4ca8]
fstp qword [ebp - 0x60]
wait
jmp 0x8a3ae1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x8a3ad4
fld qword [ebp - 0x60]
fadd dword [0x8a4cac]
fstp qword [ebp - 0x60]
wait
jmp 0x8a3ae1
fld qword [ebp - 0x60]
fadd dword [0x8a4cb0]
fstp qword [ebp - 0x60]
wait
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x2f0]
jne 0x8a46d3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x400], 0
je 0x8a3b3e
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
mov dword [ebp - 0x14], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0x8a6a0c
jmp 0x8a3bdc
xor edx, edx
mov eax, ebx
call fcn.0061a054
mov edx, eax
sub edx, 0xa
xor eax, eax
call fcn.00437fc0
mov dword [ebp - 0xc], eax
xor edx, edx
mov eax, ebx
call fcn.0061a118
mov edx, eax
sub edx, 0xa
xor eax, eax
call fcn.00437fc0
mov dword [ebp - 0x10], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x110]
mov edx, eax
dec edx
mov eax, ebx
call fcn.0061a054
mov edx, eax
add edx, 0xa
pop eax
call fcn.00437efc
mov dword [ebp - 0x14], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x114]
mov edx, eax
dec edx
mov eax, ebx
call fcn.0061a118
mov edx, eax
add edx, 0xa
pop eax
call fcn.00437efc
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x400], 0
je 0x8a3cd1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3a8], 0
je 0x8a3cd1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a8]
cmp byte [eax + 0x57], 0
je 0x8a3cd1
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x350]
mov edx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
call fcn.0041f9dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [eax + 0x48]
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3f4]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [eax + 0x48]
sub edx, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax + 0x44]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
xor edx, edx
call fcn.006e5a8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x400], 0
je 0x8a3d07
cmp dword [ebp - 8], 0
jne 0x8a3d07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x404]
mov ecx, dword [eax]
call dword [ecx + 0x28]
jmp 0x8a422c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x400], 0
je 0x8a3db0
fld qword [ebp - 0x60]
mov eax, dword [ebp - 4]
fcomp qword [eax + 0x3d0]
fnstsw ax
sahf
jne 0x8a3db0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c0], 0
je 0x8a3db0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jne 0x8a3db0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov edx, dword [eax]
call dword [edx + 8]
cmp ebx, eax
jne 0x8a3db0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c0]
mov ecx, dword [eax]
call dword [ecx + 0x28]
jmp 0x8a422c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x401], 0
je 0x8a3e7e
fld qword [ebp - 0x60]
mov eax, dword [ebp - 4]
fcomp qword [eax + 0x3d0]
fnstsw ax
sahf
jne 0x8a3e7e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c0], 0
je 0x8a3e7e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jne 0x8a3e7e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov edx, dword [eax]
call dword [edx + 8]
cmp ebx, eax
jne 0x8a3e7e
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
inc eax
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov ecx, dword [ebp - 0xc]
call fcn.00636e04
jmp 0x8a422c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 0
jne 0x8a4038
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x8a3ee6
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 8]
push eax
push 4
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x404]
mov ecx, dword [ebp - 0xc]
call fcn.005f0fb4
jmp 0x8a422c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x8a3f9d
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
inc eax
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x404]
mov ecx, dword [ebp - 0xc]
call fcn.00636e04
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdiv dword [0x8a4cb4]
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x404]
mov ecx, dword [ebp - 0xc]
call fcn.005eb50c
jmp 0x8a422c
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
inc eax
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x404]
mov ecx, dword [ebp - 0xc]
call fcn.00636e04
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x18]
push eax
fild dword [ebp - 8]
fdiv dword [0x8a4cb4]
fadd dword [0x8a4cb8]
fdivr dword [0x8a4cbc]
mov eax, dword [ebp - 8]
add eax, 3
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivrp st(1)
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.005eb2a4
jmp 0x8a422c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
cmp eax, 1
je 0x8a404f
cmp eax, 2
jne 0x8a422c
cmp dword [ebp - 8], 0
jg 0x8a409a
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
inc eax
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x404]
mov ecx, dword [ebp - 0xc]
call fcn.00636e04
jmp 0x8a422c
xor eax, eax
push ebp
push 0x8a4225
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov dword [ebp - 0x24], eax
mov dl, 5
mov eax, dword [ebp - 0x24]
call fcn.00633c60
mov eax, dword [ebp - 4]
fild dword [eax + 0x414]
mov eax, dword [ebp - 4]
fild dword [eax + 0x40c]
fdivp st(1)
fstp qword [ebp - 0x38]
wait
fild dword [ebp - 0xc]
fmul qword [ebp - 0x38]
call fcn.00402ffc
mov ebx, eax
fild dword [ebp - 0x10]
fmul qword [ebp - 0x38]
call fcn.00402ffc
mov esi, eax
fild dword [ebp - 0x14]
fmul qword [ebp - 0x38]
call fcn.00402ffc
mov edi, eax
fild dword [ebp - 0x18]
fmul qword [ebp - 0x38]
call fcn.00402ffc
mov dword [ebp - 0x1c], eax
mov edx, edi
sub edx, ebx
inc edx
mov eax, dword [ebp - 0x24]
call fcn.00633528
mov edx, dword [ebp - 0x1c]
sub edx, esi
inc edx
mov eax, dword [ebp - 0x24]
call fcn.006336e8
push esi
push 0
push 0
sub edi, ebx
inc edi
push edi
mov eax, dword [ebp - 0x1c]
sub eax, esi
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
mov ecx, ebx
mov edx, dword [ebp - 0x24]
call fcn.00636e04
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 1
jne 0x8a4189
push 0
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
push eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
push eax
mov eax, dword [ebp - 8]
push eax
push 0x32
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.008a3760
jmp 0x8a41ca
mov edx, dword [ebp - 8]
dec edx
xor eax, eax
call fcn.005cf504
mov edx, eax
mov eax, 9
call fcn.005cf50c
fild dword [eax*4 + 0x98967c]
fdiv dword [0x8a4cb4]
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
xor ecx, ecx
mov dl, byte [0x8a4cc0]
mov eax, dword [ebp - 0x24]
call fcn.005e9364
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
inc eax
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
inc eax
push eax
push 0xd
push 0x3ff00000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
call fcn.0063321c
call fcn.00435bf8
mov edx, eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
call fcn.00638b44
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8a422c
lea eax, [ebp - 0x24]
call fcn.004120b8
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x400], 0
je 0x8a430f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x2f8]
je 0x8a430f
cmp dword [ebp - 8], 0
jne 0x8a4288
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
mov edx, 0x64
call fcn.006e5a8c
push 0x32
call sub.kernel32.dll_Sleep_1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
xor edx, edx
call fcn.006e5a8c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2f8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [ebp - 0x58]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [eax + 0x48]
sub edx, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [ebp - 0x54]
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [ebp - 0x50]
call fcn.0045840c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x400], 0
je 0x8a4c88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3a8]
cmp eax, dword [edx + 0x48]
jg 0x8a4367
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
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 + 0x3a8]
cmp eax, dword [edx + 0x4c]
jle 0x8a43b0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x3a8]
mov eax, dword [ebx + 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
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 + 0x2f0]
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
jmp 0x8a43e6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
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 + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
lea ecx, [ebp - 0x48]
pop edx
call fcn.0041f9dc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c0], 0
jne 0x8a4428
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x3c0], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x10]
mov edx, eax
mov eax, ebx
call fcn.00633c60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x60]
mov dword [eax + 0x3d0], edx
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x3d4], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c4], 0
jne 0x8a4510
xor eax, eax
push ebp
push 0x8a4509
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x3c4], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x404]
mov edx, dword [eax]
call dword [edx + 0x10]
mov edx, eax
mov eax, ebx
call fcn.00633c60
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5ce108]
call fcn.005d0d78
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x404]
mov eax, dword [ebp - 0x4c]
call fcn.005e95cc
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov dl, 9
call fcn.00796860
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c4]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
call fcn.005d4598
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8a4510
lea eax, [ebp - 0x4c]
call fcn.004120b8
ret
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c8], 0
jne 0x8a4552
mov dl, 1
mov eax, dword [0x62a81c]
call fcn.00632eb8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x3c8], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x10]
mov edx, eax
mov eax, ebx
call fcn.00633c60
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov dl, 9
call fcn.00796860
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00624ac0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c8]
mov ecx, dword [ebp - 0x48]
call fcn.005d4598
mov eax, dword [ebp - 4]
cmp byte [eax + 0x400], 0
je 0x8a4c88
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3a8], 0
je 0x8a4c88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a8]
cmp byte [eax + 0x57], 0
je 0x8a4c88
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 0
jne 0x8a4634
xor eax, eax
push ebp
push 0x8a462d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3f4]
mov edx, dword [eax]
call dword [edx + 0xe0]
mov al, byte [0x8a4cc4]
push eax
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008a7284
mov al, byte [0x8a4cc4]
push eax
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008a740c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8a4c88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3f4]
mov edx, dword [eax]
call dword [edx + 0xe4]
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
cmp eax, 1
je 0x8a464b
cmp eax, 2
jne 0x8a4c88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jge 0x8a469e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c8]
mov ecx, dword [eax]
call dword [ecx + 0x28]
jmp 0x8a46bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c0]
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3f4]
mov edx, dword [eax]
call dword [edx + 0x88]
jmp 0x8a4c88
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov esi, dword [eax + 0x514]
cmp ebx, esi
jne 0x8a4c88
xor edx, edx
push ebp
push 0x8a4c66
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x98a548]
mov eax, esi
call fcn.00624ac0
mov al, byte [eax + 0x30]
mov byte [ebp - 0x29], al
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x41f], 0
jne 0x8a47f5
fld qword [ebp - 0x60]
mov eax, dword [ebp - 4]
fcomp qword [eax + 0x3d0]
fnstsw ax
sahf
jne 0x8a47f5
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c0], 0
je 0x8a47f5
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jne 0x8a47f5
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov edx, dword [eax]
call dword [edx + 8]
cmp ebx, eax
jne 0x8a47f5
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c0]
mov ecx, dword [eax]
call dword [ecx + 0x28]
jmp 0x8a4c3a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 0
jne 0x8a4a48
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
push 0x8a4cd0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
lea ecx, [ebp - 0xc]
mov dx, word [0x8a4cd4]
call fcn.005d6358
test al, al
je 0x8a4c3a
xor eax, eax
push ebp
push 0x8a4a41
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x41f], 0
je 0x8a4882
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x28]
jmp 0x8a48eb
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
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 + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
xor ecx, ecx
pop edx
call fcn.00636e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x8a4947
push 0
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
push eax
mov eax, dword [ebp - 8]
push eax
push 4
mov eax, dword [ebp - 4]
push eax
push 0x8a6a0c
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
xor ecx, ecx
mov edx, dword [ebp - 0x20]
call fcn.005f0fb4
jmp 0x8a4a10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x8a49bb
push 0
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
push eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdiv dword [0x8a4cb4]
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0
mov eax, dword [ebp - 4]
push eax
push 0x8a6a0c
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
xor ecx, ecx
mov edx, dword [ebp - 0x20]
call fcn.005eb50c
jmp 0x8a4a10
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
push eax
fild dword [ebp - 8]
fdiv dword [0x8a4cb4]
fadd dword [0x8a4cb8]
fdivr dword [0x8a4cbc]
mov eax, dword [ebp - 8]
add eax, 3
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivrp st(1)
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 4]
push eax
push 0x8a6a0c
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.005eb2a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8a4c3a
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
call fcn.005d6484
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
cmp eax, 1
je 0x8a4a5f
cmp eax, 2
jne 0x8a4c3a
cmp eax, 1
jne 0x8a4aa5
push 0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x408]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
push eax
mov eax, dword [ebp - 8]
push eax
push 0x32
mov eax, dword [ebp - 4]
push eax
push 0x8a6a0c
mov edx, ebx
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.008a3760
jmp 0x8a4aef
cmp eax, 2
jne 0x8a4aef
mov edx, dword [ebp - 8]
dec edx
xor eax, eax
call fcn.005cf504
mov edx, eax
mov eax, 9
call fcn.005cf50c
fild dword [eax*4 + 0x98967c]
fdiv dword [0x8a4cb4]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
xor ecx, ecx
mov dl, byte [0x8a4cc0]
call fcn.005e9364
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x408]
mov ecx, dword [eax]
call dword [ecx + 0x28]
lea edx, [ebp - 0x40]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov ecx, dword [eax]
call dword [ecx + 0x120]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x414]
jne 0x8a4b62
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x410]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x418]
je 0x8a4c13
xor eax, eax
push ebp
push 0x8a4c0c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 2
jne 0x8a4ba0
mov eax, dword [ebp - 4]
push eax
push 0x8a6a0c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0x11c]
push 0xa
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x410]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40c]
call fcn.005d4530
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8a4c13
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 2
jne 0x8a4c0b
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0x11c]
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
mov edx, dword [eax + 0x184]
call fcn.006e5a8c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 2
jne 0x8a4c3a
push 0x32
call sub.kernel32.dll_Sleep_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8a4c6d
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624ac0
mov dl, byte [ebp - 0x29]
mov byte [eax + 0x30], dl
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8a4c9c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8