Function at 0x10080cd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x101749d4
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10206870]
xor eax, esp
push eax
lea eax, [esp + 0x10c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x11c]
mov esi, dword [eax + 0x1134]
push 0xc
mov dword [esp + 0x2c], esi
call fcn.1003ddbb
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x10080d2e
mov dword [eax], vtable.CTList_class_CCounterItem_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov edi, eax
jmp 0x10080d30
xor edi, edi
cmp esi, ebx
je 0x10080dc6
mov ebp, dword [esi + 4]
cmp ebp, ebx
je 0x10080dc6
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x10080dc6
lea ebx, [ebx]
mov esi, dword [eax + 0x1c]
push 8
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x10080d6e
mov dword [eax], vtable.CCounterItem.0
mov dword [eax + 4], esi
mov ecx, eax
jmp 0x10080d70
xor ecx, ecx
cmp edi, ebx
je 0x10080d9e
mov edx, dword [edi + 4]
cmp edx, ebx
je 0x10080d9e
mov eax, dword [edx + 4]
cmp eax, ebx
je 0x10080d9e
mov esi, dword [ecx + 4]
cmp dword [eax + 4], esi
je 0x10080da6
cmp edx, ebx
je 0x10080d9e
mov eax, dword [edx + 8]
cmp eax, ebx
je 0x10080d9e
mov edx, eax
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10080d85
push ecx
call fcn.10005f90
jmp 0x10080dae
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
cmp ebp, ebx
je 0x10080dc2
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x10080dc2
mov ebp, eax
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10080d50
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x11c]
mov edx, dword [ecx + 0x1134]
mov eax, dword [edx + 8]
cmp eax, dword [edi + 8]
je 0x10080e06
xor edx, edx
cmp esi, ebx
je 0x10080e06
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x10080e06
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x10080e06
nop
mov dword [ecx + 0x1c], edx
inc edx
cmp eax, ebx
je 0x10080e06
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x10080e06
mov ecx, dword [eax + 4]
cmp ecx, ebx
jne 0x10080df0
mov ebx, edi
call fcn.10004650
mov eax, dword [edi]
mov edx, dword [eax]
push 1
mov ecx, edi
call edx
test esi, esi
je 0x10080fde
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10080fde
mov esi, dword [eax + 4]
test esi, esi
je 0x10080fde
lea esp, [esp]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x10080e63
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
cmp eax, 0xffffffff
je 0x10080e63
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x20], eax
jmp 0x10080eb0
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x10080e86
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
cmp eax, 0xffffffff
je 0x10080e86
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x20], eax
jmp 0x10080eb0
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x10080ea9
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
cmp eax, 0xffffffff
je 0x10080ea9
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x20], eax
jmp 0x10080eb0
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x10080ed1
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp eax, 0xffffffff
je 0x10080ed1
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ebp, eax
jmp 0x10080f1a
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x10080ef2
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp eax, 0xffffffff
je 0x10080ef2
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ebp, eax
jmp 0x10080f1a
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x10080f17
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp eax, 0xffffffff
je 0x10080f17
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ebp, eax
mov dword [esp + 0x18], eax
jmp 0x10080f1e
mov ebp, dword [esi + 0x5c]
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x20]
cmp dword [esi + 0x58], eax
jge 0x10080f2a
mov dword [esi + 0x58], eax
cmp dword [esi + 0x4c], 0
jne 0x10080fc0
mov edi, dword [esi + 0x1c]
mov edx, 1
or al, 0xff
xor cl, cl
cmp dword [esi + 0x58], edx
jle 0x10080f52
mov ebx, dword [esi + 0x58]
add edx, edx
add al, al
inc cl
cmp edx, ebx
jl 0x10080f48
mov edx, dword [esi + 0x3c0]
test edx, edx
jle 0x10080f6d
movzx ebx, cl
cmp ebx, edx
jge 0x10080f6d
mov cl, dl
mov al, 1
shl al, cl
dec al
not al
movzx eax, al
mov edx, edi
sar edx, cl
not eax
and edi, eax
mov eax, dword [esi + 0x60]
or bl, 0xff
xor cl, cl
mov dword [esi + 0x24], edx
cmp eax, 0xffffffff
jne 0x10080f9c
test ebp, ebp
jle 0x10080f97
mov eax, dword [esp + 0x20]
cdq
idiv dword [esp + 0x18]
jmp 0x10080f9c
mov eax, 1
mov edx, 1
cmp eax, edx
jle 0x10080faf
add edx, edx
add bl, bl
inc cl
cmp edx, eax
jl 0x10080fa5
mov edx, edi
movzx eax, bl
sar edx, cl
not eax
and edi, eax
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10080fde
mov eax, dword [eax + 8]
test eax, eax
je 0x10080fde
mov esi, dword [eax + 4]
mov dword [esp + 0x2c], eax
test esi, esi
jne 0x10080e40
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + 0x112c]
test eax, eax
je 0x10081094
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x10081094
mov edx, eax
mov edi, dword [edx + 4]
test edi, edi
je 0x10081094
nop
call fcn.1013c470
mov ebx, eax
mov esi, dword [ebx + 0x30]
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 8]
xor eax, eax
test ecx, ecx
je 0x10081061
cmp dword [ecx + 4], edi
je 0x1008103d
mov eax, ecx
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10081061
mov edx, dword [ecx + 8]
mov dword [esp + 0x1c], edx
jmp 0x10081026
push 1
test eax, eax
je 0x10081052
mov edx, dword [esp + 0x20]
mov dword [eax + 8], edx
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
jmp 0x1008105e
mov eax, dword [ecx + 8]
mov dword [esi + 4], eax
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
dec dword [esi + 8]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx + 8]
dec ebp
cmp eax, ebp
jne 0x10081076
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10081094
mov eax, dword [eax + 8]
test eax, eax
je 0x10081094
mov edi, dword [eax + 4]
mov dword [esp + 0x3c], eax
test edi, edi
jne 0x10081010
mov ecx, dword [esp + 0x11c]
mov edi, dword [ecx + 0x112c]
mov ecx, dword [edi + 4]
mov esi, ecx
xor eax, eax
cmp esi, eax
je 0x100810c7
lea esp, [esp]
mov esi, dword [esi + 8]
cmp ecx, eax
je 0x100810c1
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
xor eax, eax
mov ecx, esi
cmp esi, eax
jne 0x100810b0
mov ecx, dword [esp + 0x11c]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [ecx + 0x18], eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0x28], eax
je 0x1008162d
mov edx, dword [esp + 0x28]
mov ebp, dword [edx + 4]
test ebp, ebp
je 0x10081246
mov edi, dword [ebp + 4]
test edi, edi
je 0x10081246
mov edx, ecx
cmp dword [esp + 0x18], 0
jne 0x10081181
mov eax, dword [edi + 0x24]
push 0x1d4
mov dword [esp + 0x88], eax
call fcn.1003ddbb
add esp, 4
mov dword [esp + 0x1c], eax
xor esi, esi
mov dword [esp + 0x114], esi
cmp eax, esi
je 0x10081138
push eax
call fcn.10064ff0
mov esi, eax
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x114], 0xffffffff
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0x10], ecx
mov edx, dword [edi + 0x24]
mov dword [esi + 0x14], edx
mov eax, dword [ebx + 0x112c]
mov eax, dword [eax + 8]
mov dword [esi + 0x18], eax
mov ecx, dword [ebx + 0x112c]
push esi
call fcn.100014e0
call fcn.1013c470
mov ecx, dword [eax + 0x30]
push esi
call fcn.100014e0
inc dword [ebx + 0x18]
mov edx, ebx
xor eax, eax
cmp dword [edx + 0x18], eax
jle 0x100811a3
mov ecx, dword [edi + 0x24]
jmp 0x10081190
cmp dword [esp + eax*4 + 0x84], ecx
je 0x10081226
inc eax
cmp eax, dword [edx + 0x18]
jl 0x10081190
push 0x1d4
call fcn.1003ddbb
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x114], 1
test eax, eax
je 0x100811cd
push eax
call fcn.10064ff0
mov esi, eax
jmp 0x100811cf
xor esi, esi
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x114], 0xffffffff
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0x10], ecx
mov edx, dword [edi + 0x24]
mov dword [esi + 0x14], edx
mov eax, dword [ebx + 0x112c]
mov eax, dword [eax + 8]
mov dword [esi + 0x18], eax
mov ecx, dword [ebx + 0x112c]
push esi
call fcn.100014e0
call fcn.1013c470
mov ecx, dword [eax + 0x30]
push esi
call fcn.100014e0
mov eax, dword [ebx + 0x18]
mov ecx, dword [edi + 0x24]
mov dword [esp + eax*4 + 0x84], ecx
inc eax
mov dword [ebx + 0x18], eax
mov edx, ebx
test ebp, ebp
je 0x10081238
mov eax, dword [ebp + 8]
test eax, eax
je 0x10081238
mov edi, dword [eax + 4]
mov ebp, eax
jmp 0x1008123a
xor edi, edi
inc dword [esp + 0x18]
test edi, edi
jne 0x10081101
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1008162d
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x1008162d
jmp 0x10081270
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x1008160b
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x24]
mov eax, dword [esp + 0x11c]
mov eax, dword [eax + 0x112c]
test eax, eax
je 0x1008160b
mov eax, dword [eax + 4]
test eax, eax
je 0x1008160b
mov esi, dword [eax + 4]
test esi, esi
je 0x1008160b
lea ecx, [ecx]
cmp dword [esi + 0x14], ecx
je 0x100812d4
test eax, eax
je 0x1008160b
mov eax, dword [eax + 8]
test eax, eax
je 0x1008160b
mov esi, dword [eax + 4]
test esi, esi
jne 0x100812b0
jmp 0x1008160b
cmp dword [edx + 0x10], 0
jl 0x1008160b
cmp dword [esi + 0x1c], 0
jne 0x1008130c
push 0xc
call fcn.1003ddbb
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x10081305
mov dword [eax], vtable.CTList_class_CCPUNode_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [esi + 0x1c], eax
jmp 0x1008130e
xor eax, eax
mov dword [esi + 0x1c], eax
jmp 0x1008130e
xor ebx, ebx
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x1c]
mov ecx, dword [edi + 0x3c]
mov edx, dword [ecx + 0x10]
cmp eax, ebx
je 0x10081349
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x10081349
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x10081349
lea ecx, [ecx]
cmp dword [eax + 4], edx
je 0x1008136e
cmp ecx, ebx
je 0x10081349
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x10081349
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10081330
push 0x10
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x10081376
mov edx, dword [edi + 0x3c]
mov ecx, dword [edx + 0x10]
mov dword [eax], vtable.CCPUNode.0
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
jmp 0x10081378
mov ebp, eax
mov dword [esp + 0x20], ebp
jmp 0x1008138b
xor eax, eax
mov edi, dword [esi + 0x1c]
mov ebp, eax
push eax
mov dword [esp + 0x24], ebp
call fcn.10005dc0
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x3c]
mov edx, dword [eax + 0xc]
cmp edx, ebx
jl 0x10081538
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x100813c9
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x100813c9
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x100813c9
mov edi, edi
cmp dword [eax + 4], edx
je 0x10081416
cmp ecx, ebx
je 0x100813c9
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x100813c9
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x100813b0
push 0xc
call fcn.1003ddbb
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x114], 2
cmp esi, ebx
je 0x10081421
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + 0xc]
push 0xc
mov dword [esi], vtable.CCoreComplexDie.0
mov dword [esi + 4], eax
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x1008141a
mov dword [eax], vtable.CTList_class_CCPUComplex_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [esi + 8], eax
jmp 0x10081423
mov ebp, eax
jmp 0x10081467
xor eax, eax
mov dword [esi + 8], eax
jmp 0x10081423
xor esi, esi
mov dword [esp + 0x114], 0xffffffff
mov edi, dword [esp + 0x20]
mov ebp, esi
cmp dword [edi + 8], ebx
jne 0x1008145a
push 0xc
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x10081455
mov dword [eax], vtable.CTList_class_CCoreComplexDie_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x10081457
xor eax, eax
mov dword [edi + 8], eax
mov ecx, dword [esp + 0x20]
mov edi, dword [ecx + 8]
push esi
call fcn.10001320
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x3c]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x100814a3
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x100814a3
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x100814a3
cmp dword [eax + 4], edx
je 0x1008160b
cmp ecx, ebx
je 0x100814a3
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x100814a3
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10081486
push 0x14
call fcn.1003ddbb
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x114], 3
cmp esi, ebx
je 0x10081523
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx + 8]
push 0xc
mov dword [esi], vtable.CCPUComplex.0
mov dword [esi + 4], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 8], ebx
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x1008150b
mov dword [eax], vtable.CTList_class_CCPUCore_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [esi + 0x10], eax
mov dword [esp + 0x114], 0xffffffff
mov edi, dword [ebp + 8]
jmp 0x10081605
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esp + 0x114], 0xffffffff
mov edi, dword [ebp + 8]
jmp 0x10081605
mov dword [esp + 0x114], 0xffffffff
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x10081605
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x10081575
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x10081575
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x10081575
cmp dword [eax + 4], edx
je 0x1008160b
cmp ecx, ebx
je 0x1008156d
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x1008156d
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10081550
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
push 0x14
call fcn.1003ddbb
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x114], 4
cmp esi, ebx
je 0x100815cf
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + 8]
push 0xc
mov dword [esi], vtable.CCPUComplex.0
mov dword [esi + 4], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 8], ebx
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x100815c8
mov dword [eax], vtable.CTList_class_CCPUCore_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [esi + 0x10], eax
jmp 0x100815d1
xor eax, eax
mov dword [esi + 0x10], eax
jmp 0x100815d1
xor esi, esi
mov dword [esp + 0x114], 0xffffffff
cmp dword [ebp + 0xc], ebx
jne 0x10081602
push 0xc
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x100815fd
mov dword [eax], vtable.CTList_class_CCPUComplex_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x100815ff
xor eax, eax
mov dword [ebp + 0xc], eax
mov edi, dword [ebp + 0xc]
push esi
call fcn.10001260
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1008162d
mov eax, dword [eax + 8]
test eax, eax
je 0x1008162d
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10081270
mov ecx, dword [esp + 0x11c]
mov ebx, dword [ecx + 0x1130]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
call fcn.10004650
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10081974
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10081974
mov edx, eax
mov ebp, dword [edx + 4]
test ebp, ebp
je 0x10081974
jmp 0x10081680
mov eax, dword [esp + 0x11c]
mov eax, dword [eax + 0x112c]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x10081947
mov eax, dword [eax + 4]
test eax, eax
je 0x10081947
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x10081947
mov edi, edi
cmp dword [ebx + 0x14], ecx
je 0x100816d4
test eax, eax
je 0x10081947
mov eax, dword [eax + 8]
test eax, eax
je 0x10081947
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x100816b0
jmp 0x10081947
mov eax, dword [ebx + 0x20]
mov edx, dword [ebp + 0x28]
test eax, eax
je 0x10081709
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10081709
mov eax, dword [ecx + 4]
test eax, eax
je 0x10081709
lea esp, [esp]
cmp dword [eax + 4], edx
je 0x10081731
test ecx, ecx
je 0x10081709
mov eax, dword [ecx + 8]
test eax, eax
je 0x10081709
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x100816f0
push 0x58
call fcn.1003ddbb
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x114], 5
test eax, eax
je 0x10081747
mov esi, eax
call fcn.1013f1f0
mov esi, eax
jmp 0x10081749
mov edi, dword [eax + 0x10]
push ebp
mov esi, eax
call fcn.10005c20
mov edi, dword [ebx + 0x24]
push ebp
call fcn.10005c20
jmp 0x10081794
xor esi, esi
mov dword [esp + 0x114], 0xffffffff
mov ecx, dword [ebp + 0x28]
mov edi, dword [esi + 0x10]
push ebp
mov dword [esi + 4], ecx
call fcn.10005c20
mov edi, dword [ebx + 0x24]
push ebp
call fcn.10005c20
mov edi, dword [ebx + 0x20]
push esi
call fcn.10005d00
mov edx, dword [esp + 0x11c]
mov edi, dword [edx + 0x1130]
push esi
call fcn.10005d00
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x48], eax
inc eax
mov dword [esp + 0x1c], eax
mov edi, dword [ebp + 0x3c]
test edi, edi
je 0x10081947
mov ebx, dword [ebx + 0x1c]
mov edx, dword [edi + 0x10]
test ebx, ebx
je 0x10081947
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 4]
test eax, eax
je 0x10081947
cmp dword [eax + 4], edx
je 0x100817e9
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 8]
test eax, eax
je 0x10081947
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x100817c3
jmp 0x10081947
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x100818d3
mov ecx, dword [ecx + 4]
mov edx, dword [edi + 0xc]
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 4]
test eax, eax
je 0x10081947
lea ecx, [ecx]
cmp dword [eax + 4], edx
je 0x10081836
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 8]
test eax, eax
je 0x10081947
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10081810
jmp 0x10081947
mov eax, dword [eax + 8]
mov edx, dword [edi + 8]
test eax, eax
je 0x10081947
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 4]
test eax, eax
je 0x10081947
lea ebx, [ebx]
cmp dword [eax + 4], edx
je 0x10081886
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 8]
test eax, eax
je 0x10081947
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10081860
jmp 0x10081947
inc dword [eax + 8]
mov eax, dword [eax + 0x10]
mov edi, dword [ebp + 0x28]
test eax, eax
je 0x1008193f
mov edx, dword [eax + 4]
test edx, edx
je 0x1008193f
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x1008193f
lea ecx, [ecx]
cmp dword [ecx + 4], edi
je 0x10081947
test edx, edx
je 0x1008193f
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x1008193f
mov edx, ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x100818b0
jmp 0x1008193f
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10081947
mov ecx, dword [eax + 4]
mov edx, dword [edi + 8]
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 4]
test eax, eax
je 0x10081947
jmp 0x100818f0
cmp dword [eax + 4], edx
je 0x1008190b
test ecx, ecx
je 0x10081947
mov eax, dword [ecx + 8]
test eax, eax
je 0x10081947
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x100818f0
jmp 0x10081947
inc dword [eax + 8]
mov eax, dword [eax + 0x10]
mov edi, dword [ebp + 0x28]
test eax, eax
je 0x1008193f
mov edx, dword [eax + 4]
test edx, edx
je 0x1008193f
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x1008193f
cmp dword [ecx + 4], edi
je 0x10081947
test edx, edx
je 0x1008193f
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x1008193f
mov edx, ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x10081926
push esi
mov edi, eax
call fcn.10005d00
mov eax, dword [esp + 0x18]
mov dword [ebp + 0x44], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10081966
mov eax, dword [eax + 8]
test eax, eax
je 0x10081966
mov ebp, dword [eax + 4]
mov dword [esp + 0x2c], eax
jmp 0x10081968
xor ebp, ebp
inc dword [esp + 0x18]
test ebp, ebp
jne 0x10081680
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + 0x112c]
test eax, eax
je 0x10083553
mov eax, dword [eax + 4]
mov dword [esp + 0x80], eax
test eax, eax
je 0x10083553
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
test eax, eax
je 0x10083553
mov ebp, dword [esp + 0x24]
mov esi, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push 0xc
mov dword [esp + 0x2c], esi
mov dword [esp + 0x78], edx
call fcn.1003ddbb
xor edi, edi
add esp, 4
cmp eax, edi
je 0x100819de
mov dword [eax], vtable.CTList_class_CCPUThread_.0
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [esp + 0x20], eax
jmp 0x100819e2
mov dword [esp + 0x20], edi
push 0xc
call fcn.1003ddbb
add esp, 4
cmp eax, edi
je 0x10081a04
mov dword [eax], vtable.CTList_class_CCounterItem_.0
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov ebx, eax
mov dword [esp + 0x1c], eax
jmp 0x10081a0a
xor ebx, ebx
mov dword [esp + 0x1c], ebx
cmp esi, edi
je 0x10081ab9
mov esi, dword [esi + 4]
mov dword [esp + 0x2c], esi
cmp esi, edi
je 0x10081ab9
mov eax, esi
mov esi, dword [eax + 4]
cmp esi, edi
je 0x10081ab9
push 8
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x10081a4f
mov ecx, dword [esi + 0x31c]
mov dword [eax + 4], ecx
mov dword [eax], vtable.CCounterItem.0
mov ecx, eax
jmp 0x10081a51
xor ecx, ecx
test ebx, ebx
je 0x10081a7f
mov edx, dword [ebx + 4]
test edx, edx
je 0x10081a7f
mov eax, dword [edx + 4]
test eax, eax
je 0x10081a7f
mov edi, dword [ecx + 4]
cmp dword [eax + 4], edi
je 0x10081a93
test edx, edx
je 0x10081a7f
mov eax, dword [edx + 8]
test eax, eax
je 0x10081a7f
mov edx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10081a66
push ecx
mov edi, ebx
call fcn.10005f90
mov edi, dword [esp + 0x20]
push esi
call fcn.10005c20
jmp 0x10081a9b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10081ab9
mov eax, dword [eax + 8]
test eax, eax
je 0x10081ab9
mov esi, dword [eax + 4]
mov dword [esp + 0x2c], eax
test esi, esi
jne 0x10081a2e
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp + 0x2c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1003de3e
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x24]
xor edi, edi
add esp, 4
mov dword [esp + 0x50], edi
cmp eax, edi
je 0x10081af7
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
cmp eax, edi
je 0x10081af7
mov edi, dword [eax + 4]
xor ebx, ebx
cmp edi, ebx
je 0x10081bc2
xor esi, esi
push 0x24
call fcn.1003ddbb
mov ecx, dword [ebp + 0x30]
mov dword [esi + ecx], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [esi + edx]
mov dword [eax], ebx
mov ecx, dword [ebp + 0x30]
mov edx, dword [esi + ecx]
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x30]
mov ecx, dword [esi + eax]
mov dword [ecx + 8], edi
mov edx, dword [ebp + 0x30]
mov eax, dword [esi + edx]
mov dword [eax + 0xc], ebx
mov ecx, dword [ebp + 0x30]
mov edx, dword [esi + ecx]
mov dword [edx + 0x10], ebx
mov eax, dword [ebp + 0x30]
mov ecx, dword [esi + eax]
mov dword [ecx + 0x14], ebx
mov edx, dword [ebp + 0x30]
mov eax, dword [esi + edx]
add esp, 4
push 0xc
mov dword [eax + 0x18], ebx
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x10081b6d
mov dword [eax], vtable.CTList_class_CCPUThread_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x10081b6f
xor eax, eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [esi + ecx]
push 0xc
mov dword [edx + 0x1c], eax
call fcn.1003ddbb
add esp, 4
cmp eax, ebx
je 0x10081b94
mov dword [eax], vtable.CTList_class_CCacheDescriptor_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x10081b96
xor eax, eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [esi + ecx]
add esi, 4
mov dword [edx + 0x20], eax
cmp dword [esp + 0x50], ebx
je 0x10081bc2
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x10081bc2
mov edi, dword [eax + 4]
mov dword [esp + 0x50], eax
cmp edi, ebx
jne 0x10081b03
mov ebx, dword [esp + 0x1c]
call fcn.10004650
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 4]
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
je 0x10081bf9
mov esi, dword [esi + 8]
cmp ecx, ebx
je 0x10081bf3
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, esi
cmp esi, ebx
jne 0x10081be4
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
cmp dword [ebp + 0x2c], 0
jle 0x10081cdc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10081c72
mov esi, dword [eax + 4]
test esi, esi
je 0x10081c72
mov eax, dword [esi + 4]
test eax, eax
je 0x10081c72
lea esp, [esp]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + ebx*4]
mov edx, dword [edx + 8]
mov edi, dword [eax + 0x31c]
lea ecx, [ecx + ebx*4]
cmp edi, dword [edx + 0x31c]
jne 0x10081c5e
mov ecx, dword [ecx]
inc dword [ecx + 4]
push eax
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + ebx*4]
mov edi, dword [ecx + 0x1c]
call fcn.10005c20
test esi, esi
je 0x10081c72
mov eax, dword [esi + 8]
test eax, eax
je 0x10081c72
mov esi, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10081c30
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10081cd2
mov esi, dword [eax + 4]
test esi, esi
je 0x10081cd2
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10081cd2
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x10081cbe
mov eax, dword [eax + 4]
test eax, eax
je 0x10081cbe
mov edx, dword [eax + 4]
test edx, edx
je 0x10081cbe
mov eax, dword [ebp + 0x30]
mov edi, dword [eax + ebx*4]
mov edi, dword [edi + 8]
mov edx, dword [edx + 0x31c]
lea eax, [eax + ebx*4]
cmp edx, dword [edi + 0x31c]
jne 0x10081cbe
mov eax, dword [eax]
inc dword [eax]
mov dword [ecx + 0xc], ebx
test esi, esi
je 0x10081cd2
mov eax, dword [esi + 8]
test eax, eax
je 0x10081cd2
mov ecx, dword [eax + 4]
mov esi, eax
test ecx, ecx
jne 0x10081c88
inc ebx
cmp ebx, dword [ebp + 0x2c]
jl 0x10081c13
push 0xc
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x10081d06
mov edi, eax
mov dword [eax], vtable.CTList_class_CCacheDescriptor_.0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [esp + 0x20], edi
jmp 0x10081d12
mov dword [esp + 0x20], 0
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10081df1
mov edx, dword [eax + 4]
mov dword [esp + 0x2c], edx
test edx, edx
je 0x10081df1
mov eax, dword [edx + 4]
test eax, eax
je 0x10081df1
jmp 0x10081d40
mov eax, dword [eax + 0x54]
test eax, eax
je 0x10081dd5
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x10081dd5
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10081dd5
test edi, edi
je 0x10081db7
mov edx, dword [edi + 4]
test edx, edx
je 0x10081db7
mov eax, dword [edx + 4]
test eax, eax
je 0x10081db7
mov esi, dword [ecx + 8]
cmp dword [eax + 8], esi
jne 0x10081da3
mov ebp, dword [eax + 4]
cmp ebp, dword [ecx + 4]
jne 0x10081da3
mov ebp, dword [eax + 0xc]
cmp ebp, dword [ecx + 0xc]
jne 0x10081da3
mov ebp, dword [eax + 0x18]
cmp ebp, dword [ecx + 0x18]
jne 0x10081da3
mov ebp, dword [eax + 0x14]
cmp ebp, dword [ecx + 0x14]
jne 0x10081da3
mov eax, dword [eax + 0x10]
cmp eax, dword [ecx + 0x10]
je 0x10081dbd
test edx, edx
je 0x10081db7
mov eax, dword [edx + 8]
test eax, eax
je 0x10081db7
mov edx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10081d76
push ecx
call fcn.10002010
test ebx, ebx
je 0x10081dd1
mov eax, dword [ebx + 8]
test eax, eax
je 0x10081dd1
mov ecx, dword [eax + 4]
mov ebx, eax
test ecx, ecx
jne 0x10081d61
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x10081df1
mov eax, dword [edx + 8]
test eax, eax
je 0x10081df1
mov edx, eax
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], edx
test eax, eax
jne 0x10081d40
test edi, edi
je 0x10081f67
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
mov dword [esp + 0x68], eax
test eax, eax
je 0x10081f67
mov edx, eax
mov eax, dword [edx + 4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x10081f67
lea ecx, [ecx]
push 0xc
xor ebp, ebp
call fcn.1003ddbb
add esp, 4
cmp eax, ebp
je 0x10081e40
mov dword [eax], vtable.CTList_class_CCounterItem_.0
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov ebx, eax
jmp 0x10081e42
xor ebx, ebx
cmp dword [esp + 0x28], ebp
je 0x10081f1f
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
cmp eax, ebp
je 0x10081f1f
mov ecx, eax
mov esi, dword [ecx + 4]
cmp esi, ebp
je 0x10081f1f
lea esp, [esp]
mov edx, dword [esp + 0x18]
mov eax, esi
call fcn.100e7390
test eax, eax
je 0x10081f01
mov eax, dword [edx + 0x10]
dec eax
mov ecx, 1
lea esp, [esp]
mov edx, eax
sar edx, cl
add ecx, ecx
or eax, edx
cmp ecx, 0x20
jb 0x10081e90
mov esi, dword [esi + 0x1c]
not eax
push 8
and esi, eax
call fcn.1003ddbb
add esp, 4
cmp eax, ebp
je 0x10081ebf
mov dword [eax], vtable.CCounterItem.0
mov dword [eax + 4], esi
mov ecx, eax
jmp 0x10081ec1
xor ecx, ecx
cmp ebx, ebp
je 0x10081eef
mov edx, dword [ebx + 4]
cmp edx, ebp
je 0x10081eef
mov eax, dword [edx + 4]
cmp eax, ebp
je 0x10081eef
mov esi, dword [ecx + 4]
cmp dword [eax + 4], esi
je 0x10081ef9
cmp edx, ebp
je 0x10081eef
mov eax, dword [edx + 8]
cmp eax, ebp
je 0x10081eef
mov edx, eax
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x10081ed6
push ecx
mov edi, ebx
call fcn.10005f90
jmp 0x10081f01
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov eax, dword [esp + 0x2c]
cmp eax, ebp
je 0x10081f1f
mov eax, dword [eax + 8]
cmp eax, ebp
je 0x10081f1f
mov esi, dword [eax + 4]
mov dword [esp + 0x2c], eax
cmp esi, ebp
jne 0x10081e70
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x28]
push ecx
call fcn.10002010
call fcn.10004650
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x10081f67
mov eax, dword [eax + 8]
test eax, eax
je 0x10081f67
mov dword [esp + 0x68], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10081e20
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x2c], 0
mov dword [esp + 0x18], 0
jle 0x10082237
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x30]
mov ecx, dword [esp + 0x18]
cmp dword [eax + ecx*4], 0
je 0x10082221
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 4]
mov esi, ecx
xor ebp, ebp
cmp esi, ebp
je 0x10081fb6
mov esi, dword [esi + 8]
cmp ecx, ebp
je 0x10081fb0
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, esi
cmp esi, ebp
jne 0x10081fa1
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov dword [edi + 4], ebp
mov dword [edi + 8], ebp
mov edx, dword [ecx + 0x30]
mov ecx, dword [edx + eax*4]
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x30], eax
cmp eax, ebp
je 0x100820b1
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
cmp eax, ebp
je 0x100820b1
mov eax, dword [eax + 4]
cmp eax, ebp
je 0x100820b1
mov eax, dword [eax + 0x54]
cmp eax, ebp
je 0x10082093
mov esi, dword [eax + 4]
cmp esi, ebp
je 0x10082093
mov ecx, dword [esi + 4]
cmp ecx, ebp
je 0x10082093
jmp 0x1008201a
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 4]
cmp edx, ebp
je 0x10082075
mov eax, dword [edx + 4]
cmp eax, ebp
je 0x10082075
mov ebx, dword [ecx + 8]
jmp 0x10082030
cmp dword [eax + 8], ebx
jne 0x1008205d
mov edi, dword [eax + 4]
cmp edi, dword [ecx + 4]
jne 0x1008205d
mov edi, dword [eax + 0xc]
cmp edi, dword [ecx + 0xc]
jne 0x1008205d
mov edi, dword [eax + 0x18]
cmp edi, dword [ecx + 0x18]
jne 0x1008205d
mov edi, dword [eax + 0x14]
cmp edi, dword [ecx + 0x14]
jne 0x1008205d
mov eax, dword [eax + 0x10]
cmp eax, dword [ecx + 0x10]
je 0x1008207b
cmp edx, ebp
je 0x10082071
mov eax, dword [edx + 8]
cmp eax, ebp
je 0x10082071
mov edx, eax
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x10082030
mov edi, dword [esp + 0x20]
push ecx
call fcn.10002010
cmp esi, ebp
je 0x1008208f
mov eax, dword [esi + 8]
cmp eax, ebp
je 0x1008208f
mov ecx, dword [eax + 4]
mov esi, eax
cmp ecx, ebp
jne 0x10082016
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x100820b1
mov eax, dword [eax + 8]
cmp eax, ebp
je 0x100820b1
mov dword [esp + 0x34], eax
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x10081ff3
mov eax, dword [edi + 4]
mov dword [esp + 0x58], eax
cmp eax, ebp
je 0x10082221
mov ecx, eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10082221
push 0xc
xor ebp, ebp
call fcn.1003ddbb
add esp, 4
cmp eax, ebp
je 0x100820f1
mov dword [eax], vtable.CTList_class_CCounterItem_.0
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov ebx, eax
jmp 0x100820f3
xor ebx, ebx
cmp dword [esp + 0x30], ebp
je 0x100821cf
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
mov dword [esp + 0x34], eax
cmp eax, ebp
je 0x100821cf
mov esi, dword [eax + 4]
cmp esi, ebp
je 0x100821cf
jmp 0x10082120
mov edx, dword [esp + 0x1c]
mov eax, esi
call fcn.100e7390
test eax, eax
je 0x100821b1
mov ecx, edx
mov eax, dword [ecx + 0x10]
dec eax
mov ecx, 1
mov edi, edi
mov edx, eax
sar edx, cl
add ecx, ecx
or eax, edx
cmp ecx, 0x20
jb 0x10082140
mov edi, dword [esi + 0x1c]
not eax
push 8
and edi, eax
call fcn.1003ddbb
add esp, 4
cmp eax, ebp
je 0x1008216f
mov dword [eax], vtable.CCounterItem.0
mov dword [eax + 4], edi
mov ecx, eax
jmp 0x10082171
xor ecx, ecx
cmp ebx, ebp
je 0x1008219f
mov edx, dword [ebx + 4]
cmp edx, ebp
je 0x1008219f
mov eax, dword [edx + 4]
cmp eax, ebp
je 0x1008219f
mov esi, dword [ecx + 4]
cmp dword [eax + 4], esi
je 0x100821a9
cmp edx, ebp
je 0x1008219f
mov eax, dword [edx + 8]
cmp eax, ebp
je 0x1008219f
mov edx, eax
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x10082186
push ecx
mov edi, ebx
call fcn.10005f90
jmp 0x100821b1
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x100821cf
mov eax, dword [eax + 8]
cmp eax, ebp
je 0x100821cf
mov esi, dword [eax + 4]
mov dword [esp + 0x34], eax
cmp esi, ebp
jne 0x10082120
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 0x20]
call fcn.10002010
call fcn.10004650
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x10082221
mov eax, dword [eax + 8]
test eax, eax
je 0x10082221
mov dword [esp + 0x58], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x100820d1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, dword [ecx + 0x2c]
mov dword [esp + 0x18], eax
jl 0x10081f7d
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 4]
mov esi, ecx
xor ebp, ebp
cmp esi, ebp
je 0x1008225b
mov esi, dword [esi + 8]
cmp ecx, ebp
je 0x10082255
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, esi
cmp esi, ebp
jne 0x10082246
mov dword [edi + 4], ebp
mov dword [edi + 8], ebp
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x34], ebp
jne 0x1008228c
mov eax, dword [ebx + 0x24]
cmp eax, ebp
je 0x10082287
mov eax, dword [eax + 4]
cmp eax, ebp
je 0x10082287
mov eax, dword [eax + 4]
jmp 0x10082289
xor eax, eax
mov dword [ebx + 0x34], eax
mov edi, dword [ebx + 0x34]
cmp edi, ebp
je 0x10082908
mov eax, dword [edi + 0x498]
cmp eax, ebp
je 0x100822d2
mov ecx, dword [eax + 0x144]
and ecx, 0xffff000
cmp ecx, 0x1802000
jne 0x100822d2
movzx edx, byte [ebx + 0x14]
shl edx, 4
or dword [eax + 0x144], edx
mov ecx, dword [edi + 0x498]
mov eax, dword [ebx]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, ebx
call edx
cmp dword [edi + 0x49c], ebp
je 0x100822fd
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x49c]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x49c]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x494], ebp
je 0x100824c2
cmp dword [ebx + 0x2c], 1
jg 0x100824c2
mov esi, dword [ebx + 0x1c8]
cmp esi, ebp
jne 0x10082416
push 0x16c
call fcn.1003ddbb
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x100823c2
fld dword [0x101f69a8]
push 0x1018093c
fst dword [esi + 0x154]
lea eax, [esi + 0x104]
fstp dword [esi + 0x158]
or ecx, 0xffffffff
fld1
push 0x40
fstp dword [esi + 0x164]
push eax
fld dword [0x101f69a4]
mov dword [esi + 0x144], 0x2000
fstp dword [esi + 0x15c]
mov dword [esi + 0x148], ecx
fld dword [0x101f69a0]
mov byte [esi + 4], 0
fstp dword [esi + 0x160]
mov byte [eax], 0
mov dword [esi + 0x14c], ecx
mov dword [esi + 0x150], ebp
mov dword [esi], vtable.CTemperatureSensor.0
call fcn.1013b440
fldz
fstp dword [esi + 0x168]
add esp, 0xc
fld dword [0x101f69a0]
fstp dword [esi + 0x158]
jmp 0x100823c4
xor esi, esi
movzx eax, byte [ebx + 0x14]
push str.Cores__Max_
or eax, 0x280200
lea ecx, [esi + 4]
shl eax, 4
or dword [esi + 0x144], eax
push 0x100
push ecx
call fcn.1013b440
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
add esp, 0xc
push esi
mov ecx, ebx
mov dword [ebx + 0x1c8], esi
call eax
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push esi
call fcn.100021e0
mov edx, dword [edi + 0x494]
fld dword [edx + 0x158]
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100824be
fld dword [esi + 0x158]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
je 0x100824b1
fstp st(1)
fmul dword [esi + 0x164]
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
fstp dword [esi + 0x158]
call edx
test eax, eax
je 0x100824c2
fld dword [esi + 0x158]
fld dword [esi + 0x160]
fcompp
fnstsw ax
test ah, 5
jp 0x1008248e
fld dword [esi + 0x158]
fstp dword [esi + 0x160]
fld dword [esi + 0x158]
fld dword [esi + 0x15c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x100824c2
fld dword [esi + 0x158]
fstp dword [esi + 0x15c]
jmp 0x100824c2
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100824c0
jmp 0x10082454
fstp st(0)
fstp st(0)
mov eax, dword [edi + 0x4a4]
cmp eax, ebp
je 0x10082501
mov eax, dword [eax + 0x144]
and eax, 0xffff000
cmp eax, 0x405000
jne 0x10082501
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4a4]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4a4]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
mov eax, dword [edi + 0x4a8]
cmp eax, ebp
je 0x100826f0
mov eax, dword [eax + 0x144]
and eax, 0xffff000
cmp eax, 0xc05000
jne 0x100826b9
mov esi, dword [ebx + 0x1c4]
cmp esi, ebp
jne 0x10082633
push 0x188
call fcn.1003ddbb
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x100825de
fld dword [0x101f69a8]
push 0x10180948
fst dword [esi + 0x154]
lea eax, [esi + 0x104]
fstp dword [esi + 0x158]
or ecx, 0xffffffff
fld1
push 0x40
fstp dword [esi + 0x164]
push eax
fld dword [0x101f69a4]
mov dword [esi + 0x144], 0x5000
fstp dword [esi + 0x15c]
mov dword [esi + 0x148], ecx
fld dword [0x101f69a0]
mov byte [esi + 4], 0
fstp dword [esi + 0x160]
mov byte [eax], 0
mov dword [esi + 0x14c], ecx
mov dword [esi + 0x150], ebp
mov dword [esi], vtable.CPowerSensor.0
call fcn.1013b440
fld qword [0x101f69b0]
fst qword [esi + 0x170]
add esp, 0xc
fst qword [esi + 0x168]
fst qword [esi + 0x180]
fstp qword [esi + 0x178]
jmp 0x100825e0
xor esi, esi
movzx ecx, byte [ebx + 0x14]
push 0x10188634
or ecx, 0x80500
lea edx, [esi + 4]
shl ecx, 4
or dword [esi + 0x144], ecx
push 0x100
push edx
call fcn.1013b440
mov eax, dword [ebx]
mov edx, dword [eax + 0x14]
add esp, 0xc
push esi
mov ecx, ebx
mov dword [ebx + 0x1c4], esi
call edx
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push esi
call fcn.100021e0
fld dword [esi + 0x158]
fstp dword [esp + 0x1c]
fldz
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jnp 0x100826b9
mov edx, dword [edi + 0x4a8]
fld dword [edx + 0x158]
mov eax, dword [esi]
mov edx, dword [eax + 4]
fstp dword [esp + 0x1c]
fld dword [esi + 0x164]
mov ecx, esi
fmul dword [esp + 0x1c]
fstp dword [esi + 0x158]
call edx
test eax, eax
je 0x100826b9
fld dword [esi + 0x158]
fld dword [esi + 0x160]
fcompp
fnstsw ax
test ah, 5
jp 0x10082698
fld dword [esi + 0x158]
fstp dword [esi + 0x160]
fld dword [esi + 0x158]
fld dword [esi + 0x15c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x100826b9
fld dword [esi + 0x158]
fstp dword [esi + 0x15c]
mov eax, dword [edi + 0x4a8]
mov ecx, dword [eax + 0x144]
and ecx, 0xffff000
cmp ecx, 0xc05000
je 0x100826f0
movzx edx, byte [ebx + 0x14]
shl edx, 4
or dword [eax + 0x144], edx
mov ecx, dword [edi + 0x4a8]
mov eax, dword [ebx]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, ebx
call edx
cmp dword [edi + 0x4ac], ebp
je 0x1008271b
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4ac]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4ac]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4b0], ebp
je 0x10082746
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4b0]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4b0]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4b4], ebp
je 0x10082771
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4b4]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4b4]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
mov eax, dword [edi + 0x4b8]
cmp eax, ebp
je 0x100827b0
mov eax, dword [eax + 0x144]
and eax, 0xffff000
cmp eax, 0x3801000
je 0x100827b0
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4b8]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4b8]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4bc], ebp
je 0x100827db
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4bc]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4bc]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4c0], ebp
je 0x10082806
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4c0]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4c0]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4c4], ebp
je 0x10082831
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4c4]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4c4]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4c8], ebp
je 0x1008285c
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4c8]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4c8]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4cc], ebp
je 0x10082887
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4cc]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4cc]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4dc], ebp
je 0x100828b2
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4dc]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4dc]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x4e0], ebp
je 0x100828dd
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x4e0]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x4e0]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [edi + 0x508], ebp
je 0x10082908
movzx ecx, byte [ebx + 0x14]
mov eax, dword [edi + 0x508]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [ebx]
mov eax, dword [edi + 0x508]
mov edx, dword [edx + 0x14]
push eax
mov ecx, ebx
call edx
cmp dword [ebx + 0x1c0], ebp
jne 0x100829df
push 0x168
call fcn.1003ddbb
add esp, 4
cmp eax, ebp
je 0x1008298b
fld dword [0x101f69a8]
or ecx, 0xffffffff
fst dword [eax + 0x154]
mov dword [eax + 0x148], ecx
fstp dword [eax + 0x158]
mov byte [eax + 4], 0
fld1
mov byte [eax + 0x104], 0
fstp dword [eax + 0x164]
mov dword [eax + 0x14c], ecx
fld dword [0x101f69a4]
mov dword [eax + 0x150], ebp
fstp dword [eax + 0x15c]
mov dword [eax], vtable.CUtilizationSensor.0
fld dword [0x101f69a0]
mov dword [eax + 0x144], 0xe000
fstp dword [eax + 0x160]
mov esi, eax
jmp 0x1008298d
xor esi, esi
movzx eax, byte [ebx + 0x14]
push 0x1018863c
or eax, 0x40e00
lea ecx, [esi + 4]
shl eax, 4
or dword [esi + 0x144], eax
push 0x100
push ecx
call fcn.1013b440
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
add esp, 0xc
push esi
mov ecx, ebx
mov dword [ebx + 0x1c0], esi
call eax
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push esi
call fcn.100021e0
mov eax, dword [ebx + 0x2c]
cmp eax, 1
jle 0x10082bf5
xor edi, edi
cmp eax, ebp
jle 0x10082bf5
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + edi*4]
cmp dword [eax + 0xc], ebp
jne 0x10082ad9
push 0x168
call fcn.1003ddbb
add esp, 4
cmp eax, ebp
je 0x10082a29
mov ecx, 0xe000
call fcn.10054ad0
mov dword [eax], vtable.CUtilizationSensor.0
mov esi, eax
jmp 0x10082a2b
xor esi, esi
mov ecx, edi
and ecx, 0xfff
add ecx, 0x80e000
or dword [esi + 0x144], ecx
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + edi*4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x31c]
cmp eax, 0x10
je 0x10082a96
cmp eax, 0x20
je 0x10082a86
cmp eax, 0x40
je 0x10082a76
push edi
push 0x101a8de0
lea edx, [esi + 4]
push 0x100
push edx
call fcn.1013b440
add esp, 0x10
jmp 0x10082aac
push str.P_Cores
push 0x100
lea eax, [esi + 4]
push eax
jmp 0x10082aa4
push str.E_Cores
push 0x100
lea ecx, [esi + 4]
push ecx
jmp 0x10082aa4
push str.LP_Cores
push 0x100
lea edx, [esi + 4]
push edx
call fcn.1013b440
add esp, 0xc
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + edi*4]
mov dword [ecx + 0xc], esi
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
push esi
mov ecx, ebx
call eax
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push esi
call fcn.100021e0
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + edi*4]
cmp dword [eax + 0x10], ebp
jne 0x10082beb
push 0x16c
call fcn.1003ddbb
add esp, 4
cmp eax, ebp
je 0x10082b05
push ebp
mov ecx, eax
call fcn.100550e0
mov esi, eax
jmp 0x10082b07
xor esi, esi
mov ecx, edi
and ecx, 0xfff
add ecx, 0x2c02000
or dword [esi + 0x144], ecx
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + edi*4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x31c]
cmp eax, 0x10
je 0x10082b72
cmp eax, 0x20
je 0x10082b62
cmp eax, 0x40
je 0x10082b52
push edi
push str.Core_Set__d
lea edx, [esi + 4]
push 0x100
push edx
call fcn.1013b440
add esp, 0x10
jmp 0x10082b88
push str.P_Cores__Max_
push 0x100
lea eax, [esi + 4]
push eax
jmp 0x10082b80
push str.E_Cores__Max_
push 0x100
lea ecx, [esi + 4]
push ecx
jmp 0x10082b80
push str.LP_Cores__Max_
push 0x100
lea edx, [esi + 4]
push edx
call fcn.1013b440
add esp, 0xc
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 8]
cmp eax, ebp
je 0x10082bbe
cmp dword [eax + 0x494], ebp
je 0x10082bbe
mov edx, dword [eax + 0x494]
fld dword [edx + 0x158]
push 1
fstp dword [esp + 0x20]
push ecx
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp]
call fcn.10054a50
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + edi*4]
mov dword [ecx + 0x10], esi
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
push esi
mov ecx, ebx
call eax
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push esi
call fcn.100021e0
inc edi
cmp edi, dword [ebx + 0x2c]
jl 0x100829f5
mov esi, dword [ebx + 0x1c]
cmp esi, ebp
je 0x10082e56
mov eax, dword [esp + 0x24]
call fcn.10062650
cmp eax, 1
jle 0x10082e56
mov eax, dword [esi + 4]
xor ebx, ebx
mov dword [esp + 0x70], eax
test eax, eax
je 0x10082e56
mov eax, dword [eax + 4]
test eax, eax
je 0x10082e56
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10082d5a
mov ecx, dword [ecx + 4]
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x10082e38
mov eax, dword [ecx + 4]
test eax, eax
je 0x10082e38
mov eax, dword [eax + 8]
test eax, eax
je 0x10082d2c
mov ebp, dword [eax + 4]
test ebp, ebp
je 0x10082d2c
mov esi, dword [ebp + 4]
test esi, esi
je 0x10082d2c
cmp dword [esi + 0xc], 0
jne 0x10082d08
push 0x168
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x10082ca3
mov ecx, 0xe000
call fcn.10054ad0
mov dword [eax], vtable.CUtilizationSensor.0
mov edi, eax
jmp 0x10082ca5
xor edi, edi
push ebx
mov edx, ebx
push 0x101a8e28
and edx, 0xfff
lea eax, [edi + 4]
add edx, 0xc0e000
or dword [edi + 0x144], edx
push 0x100
push eax
call fcn.1013b440
fldz
add esp, 0x10
push 1
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.10054a50
mov ecx, dword [esp + 0x24]
mov dword [esi + 0xc], edi
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push edi
call eax
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [edi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push edi
call fcn.100021e0
fldz
mov edx, dword [esi + 0xc]
inc ebx
fstp dword [edx + 0x154]
test ebp, ebp
je 0x10082d2c
mov eax, dword [ebp + 8]
test eax, eax
je 0x10082d2c
mov esi, dword [eax + 4]
mov ebp, eax
test esi, esi
jne 0x10082c74
cmp dword [esp + 0x60], 0
je 0x10082e38
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 8]
test eax, eax
je 0x10082e38
mov dword [esp + 0x60], eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10082c53
jmp 0x10082e38
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10082e38
mov ebp, dword [eax + 4]
test ebp, ebp
je 0x10082e38
mov esi, dword [ebp + 4]
test esi, esi
je 0x10082e38
jmp 0x10082d80
cmp dword [esi + 0xc], 0
jne 0x10082e14
push 0x168
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x10082daf
mov ecx, 0xe000
call fcn.10054ad0
mov dword [eax], vtable.CUtilizationSensor.0
mov edi, eax
jmp 0x10082db1
xor edi, edi
push ebx
mov ecx, ebx
push str.CCX__d
and ecx, 0xfff
lea edx, [edi + 4]
add ecx, 0xc0e000
or dword [edi + 0x144], ecx
push 0x100
push edx
call fcn.1013b440
fldz
add esp, 0x10
push 1
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.10054a50
mov ecx, dword [esp + 0x24]
mov dword [esi + 0xc], edi
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push edi
call edx
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [edi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push edi
call fcn.100021e0
fldz
mov edx, dword [esi + 0xc]
inc ebx
fstp dword [edx + 0x154]
test ebp, ebp
je 0x10082e38
mov eax, dword [ebp + 8]
test eax, eax
je 0x10082e38
mov esi, dword [eax + 4]
mov ebp, eax
test esi, esi
jne 0x10082d80
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10082e56
mov eax, dword [eax + 8]
test eax, eax
je 0x10082e56
mov dword [esp + 0x70], eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10082c2e
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10083101
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x10083101
mov eax, dword [ebx + 4]
test eax, eax
je 0x10083101
mov eax, dword [eax + 0x10]
test eax, eax
je 0x100830e9
mov eax, dword [eax + 4]
test eax, eax
je 0x100830e9
mov edi, dword [eax + 4]
test edi, edi
je 0x100830e9
mov eax, dword [edi + 0x494]
test eax, eax
je 0x10082f0c
mov ecx, dword [edi + 0x31c]
cmp ecx, 0x10
je 0x10082edc
cmp ecx, 0x20
je 0x10082ed1
add eax, 4
cmp ecx, 0x40
je 0x10082ec6
mov ecx, dword [edi + 0x48]
push ecx
push 0x101a8e5c
jmp 0x10082ee8
mov edx, dword [edi + 0x48]
push edx
push 0x101a8e38
jmp 0x10082ee8
mov ecx, dword [edi + 0x48]
push ecx
push 0x101a8e44
jmp 0x10082ee5
mov edx, dword [edi + 0x48]
push edx
push 0x101a8e50
add eax, 4
push 0x100
push eax
call fcn.1013b440
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x494]
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
add esp, 0x10
push ecx
mov ecx, esi
call edx
jmp 0x10082f10
mov esi, dword [esp + 0x24]
mov eax, dword [edi + 0x4b8]
test eax, eax
je 0x10082fe6
mov eax, dword [eax + 0x144]
and eax, 0xffff000
cmp eax, 0x3801000
jne 0x10082fe6
mov eax, 0x3c01000
call fcn.100623c0
mov edx, dword [edi + 0x4b8]
fld dword [edx + 0x158]
mov ecx, eax
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10082f9f
fld dword [ecx + 0x158]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
je 0x10082f87
push 1
fstp st(1)
push ecx
fstp dword [esp]
call fcn.10054a50
jmp 0x10082fa3
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x10082fa1
push 1
push ecx
fstp dword [esp]
call fcn.10054a50
jmp 0x10082fa3
fstp st(0)
fstp st(0)
movzx ecx, byte [edi + 0x28]
mov eax, dword [edi + 0x4b8]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [edi + 0x48]
mov eax, dword [edi + 0x4b8]
push edx
push str.VID__d
add eax, 4
push 0x100
push eax
call fcn.1013b440
mov edx, dword [esi]
mov eax, dword [edi + 0x4b8]
mov edx, dword [edx + 0x14]
add esp, 0x10
push eax
mov ecx, esi
call edx
mov eax, dword [edi + 0x4a8]
test eax, eax
je 0x10083045
mov eax, dword [eax + 0x144]
and eax, 0xffff000
cmp eax, 0xc05000
jne 0x10083045
movzx ecx, byte [edi + 0x28]
mov eax, dword [edi + 0x4a8]
shl ecx, 4
or dword [eax + 0x144], ecx
mov edx, dword [edi + 0x48]
mov eax, dword [edi + 0x4a8]
push edx
push 0x101a8e70
add eax, 4
push 0x100
push eax
call fcn.1013b440
mov edx, dword [esi]
mov eax, dword [edi + 0x4a8]
mov edx, dword [edx + 0x14]
add esp, 0x10
push eax
mov ecx, esi
call edx
cmp dword [edi + 0x500], 0
je 0x100830e9
movzx ecx, byte [edi + 0x28]
mov eax, dword [edi + 0x500]
shl ecx, 4
or dword [eax + 0x144], ecx
mov eax, dword [edi + 0x31c]
cmp eax, 0x10
je 0x100830b9
cmp eax, 0x20
je 0x1008309f
cmp eax, 0x40
je 0x10083085
mov edx, dword [edi + 0x48]
push edx
push 0x101a8ea0
jmp 0x100830c2
mov ecx, dword [edi + 0x48]
mov edx, dword [edi + 0x500]
push ecx
push str.P_Core__d
push 0x100
add edx, 4
push edx
jmp 0x100830d1
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x500]
push eax
push str.E_Core__d
push 0x100
add ecx, 4
push ecx
jmp 0x100830d1
mov edx, dword [edi + 0x48]
push edx
push str.LP_Core__d
mov eax, dword [edi + 0x500]
push 0x100
add eax, 4
push eax
call fcn.1013b440
mov edx, dword [esi]
mov eax, dword [edi + 0x500]
mov edx, dword [edx + 0x14]
add esp, 0x10
push eax
mov ecx, esi
call edx
test ebx, ebx
je 0x10083101
mov eax, dword [ebx + 8]
test eax, eax
je 0x10083101
mov ebx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10082e78
mov eax, dword [esp + 0x28]
xor edi, edi
cmp eax, edi
je 0x10083437
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
cmp eax, edi
je 0x10083437
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
cmp eax, edi
je 0x10083437
lea ecx, [ecx]
push 0x168
call fcn.1003ddbb
add esp, 4
cmp eax, edi
je 0x10083153
mov ecx, 0xe000
call fcn.10054ad0
mov dword [eax], vtable.CUtilizationSensor.0
jmp 0x10083155
xor eax, eax
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x4fc], eax
or dword [eax + 0x144], 0x140e000
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x4fc]
push eax
push str.CPU__d
add ecx, 4
push 0x100
push ecx
call fcn.1013b440
mov ebp, dword [esp + 0x34]
mov edx, dword [ebp]
mov eax, dword [ebx + 0x4fc]
mov edx, dword [edx + 0x14]
add esp, 0x10
push eax
mov ecx, ebp
call edx
mov esi, dword [ebx + 0x4fc]
call fcn.1013c470
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x148], ecx
mov ecx, dword [eax + 0x38]
push esi
call fcn.100021e0
mov eax, dword [ebp + 0x2c]
cmp eax, 1
jle 0x1008320f
xor ecx, ecx
cmp eax, edi
jle 0x1008320f
mov edx, dword [ebx + 0x31c]
mov eax, dword [ebp + 0x30]
mov esi, dword [eax]
mov esi, dword [esi + 8]
cmp dword [esi + 0x31c], edx
je 0x100831ed
inc ecx
add eax, 4
cmp ecx, dword [ebp + 0x2c]
jl 0x100831d5
jmp 0x1008320f
mov eax, dword [ebx + 0x4fc]
and ecx, 0xfff
or dword [eax + 0x144], ecx
mov eax, dword [ebx + 0x494]
cmp eax, edi
je 0x1008320f
or dword [eax + 0x144], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, edi
je 0x1008338e
mov eax, dword [eax + 4]
xor ebp, ebp
mov dword [esp + 0x3c], eax
cmp eax, edi
je 0x1008338e
mov edx, eax
mov eax, dword [edx + 4]
cmp eax, edi
je 0x1008338e
jmp 0x10083240
mov ecx, dword [eax + 8]
cmp ecx, edi
je 0x100832e9
mov ebx, dword [ecx + 4]
cmp ebx, edi
je 0x1008334e
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x1008334e
mov eax, dword [eax + 8]
cmp eax, edi
je 0x100832c7
mov edx, dword [eax + 4]
cmp edx, edi
je 0x100832c7
mov eax, dword [edx + 4]
cmp eax, edi
je 0x100832c7
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx + 0x28]
lea ecx, [ecx]
mov eax, dword [eax + 0x10]
cmp eax, edi
je 0x100832b2
mov ecx, dword [eax + 4]
cmp ecx, edi
je 0x100832b2
mov eax, dword [ecx + 4]
cmp eax, edi
je 0x100832b2
cmp dword [eax + 4], esi
je 0x10083370
cmp ecx, edi
je 0x100832b2
mov eax, dword [ecx + 8]
cmp eax, edi
je 0x100832b2
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x10083295
inc ebp
cmp edx, edi
je 0x100832c7
mov eax, dword [edx + 8]
cmp eax, edi
je 0x100832c7
mov edx, eax
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x10083280
cmp ebx, edi
je 0x1008334e
mov eax, dword [ebx + 8]
cmp eax, edi
je 0x1008334e
mov ebx, eax
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x10083261
jmp 0x1008334e
mov eax, dword [eax + 0xc]
cmp eax, edi
je 0x1008334e
mov edx, dword [eax + 4]
cmp edx, edi
je 0x1008334e
mov eax, dword [edx + 4]
cmp eax, edi
je 0x1008334e
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 0x28]
mov eax, dword [eax + 0x10]
cmp eax, edi
je 0x10083339
mov ecx, dword [eax + 4]
cmp ecx, edi
je 0x10083339
mov eax, dword [ecx + 4]
cmp eax, edi
je 0x10083339
lea ebx, [ebx]
cmp dword [eax + 4], esi
je 0x1008337c
cmp ecx, edi
je 0x10083339
mov eax, dword [ecx + 8]
cmp eax, edi
je 0x10083339
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x10083320
inc ebp
cmp edx, edi
je 0x1008334e
mov eax, dword [edx + 8]
cmp eax, edi
je 0x1008334e
mov edx, eax
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x10083305
cmp dword [esp + 0x3c], edi
je 0x1008338e
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 8]
cmp eax, edi
je 0x1008338e
mov dword [esp + 0x3c], eax
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x10083240
jmp 0x1008338e
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x4fc]
jmp 0x10083382
mov eax, dword [ebx + 0x4fc]
and ebp, 0xfff
or dword [eax + 0x144], ebp
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x3c]
cmp eax, edi
je 0x100833e2
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x100833a5
cmp ecx, 0xffffffff
jne 0x100833e2
cmp dword [eax + 8], edi
jne 0x100833e2
cmp dword [eax + 4], edi
jne 0x100833e2
cmp dword [eax], edi
jne 0x100833e2
mov eax, dword [esi + 0x498]
cmp eax, edi
je 0x100833e2
mov ecx, dword [eax + 0x144]
and ecx, 0xffff000
cmp ecx, 0x1c02000
jne 0x100833e2
mov ebp, dword [esp + 0x24]
mov edx, dword [ebp]
push eax
mov eax, dword [edx + 0x14]
mov ecx, ebp
call eax
jmp 0x100833e6
mov ebp, dword [esp + 0x24]
mov eax, dword [esi + 0x3c]
cmp eax, edi
je 0x10083415
cmp dword [eax + 0xc], edi
jl 0x10083415
cmp dword [eax + 8], edi
jne 0x10083415
cmp dword [eax + 4], edi
jne 0x10083415
cmp dword [eax], edi
jne 0x10083415
mov eax, dword [esi + 0x4a0]
cmp eax, edi
je 0x10083415
mov edx, dword [ebp]
push eax
mov eax, dword [edx + 0x14]
mov ecx, ebp
call eax
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x1008343b
mov eax, dword [eax + 8]
cmp eax, edi
je 0x1008343b
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
cmp eax, edi
jne 0x10083130
mov ebp, dword [esp + 0x24]
xor ebx, ebx
cmp dword [ebp + 0x2c], edi
jle 0x1008352b
mov ebp, vtable.CTList_class_CCPUCore_.0
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x24]
push ebx
lea ecx, [esp + 0x44]
mov dword [esp + 0x118], 6
call fcn.100626c0
cmp eax, edi
mov esi, dword [esp + 0x44]
jle 0x100834e2
mov edi, esi
test esi, esi
je 0x100834e2
mov edx, dword [esi + 4]
test edx, edx
je 0x100834e2
mov eax, dword [edx + 0x10]
test eax, eax
je 0x100834ca
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x100834ca
mov eax, dword [ecx + 4]
test eax, eax
je 0x100834ca
lea ebx, [ebx]
cmp dword [eax + 0x500], 0
je 0x100834b6
mov eax, dword [eax + 0x500]
or dword [eax + 0x150], 2
test ecx, ecx
je 0x100834ca
mov eax, dword [ecx + 8]
test eax, eax
je 0x100834ca
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x100834a0
or dword [edx + 8], 1
test edi, edi
je 0x100834e2
mov eax, dword [edi + 8]
test eax, eax
je 0x100834e2
mov edx, dword [eax + 4]
mov edi, eax
test edx, edx
jne 0x10083485
xor edi, edi
mov dword [esp + 0x114], 0xffffffff
mov dword [esp + 0x40], ebp
mov ecx, esi
cmp esi, edi
je 0x10083515
lea esp, [esp]
mov esi, dword [esi + 8]
cmp ecx, edi
je 0x1008350f
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, esi
cmp esi, edi
jne 0x10083500
mov ecx, dword [esp + 0x24]
inc ebx
cmp ebx, dword [ecx + 0x2c]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
jl 0x1008344b
mov eax, dword [esp + 0x80]
cmp eax, edi
je 0x10083553
mov eax, dword [eax + 8]
cmp eax, edi
je 0x10083553
mov dword [esp + 0x80], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
cmp eax, edi
jne 0x100819aa
mov ecx, dword [esp + 0x10c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret 4