Function at 0x47df90
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e0c4b
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x515de0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x47e062
mov ecx, dword [esi + 0xcdb0]
cmp eax, ecx
jne 0x47e062
mov eax, dword [ebp + 8]
dec eax
je 0x47e00f
dec eax
je 0x47e38c
sub eax, 0x270e
jne 0x47e494
test ecx, ecx
je 0x47dff2
mov eax, dword [ecx]
push 1
call dword [eax + 0x28]
mov dword [esi + 0xcdb0], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
movsd xmm0, qword [0x4e3770]
sub esp, 8
movsd qword [esp], xmm0
call fcn.00488dc0
mov ecx, dword [esi + 0xcda4]
mov byte [esi + 0xced6], 1
call fcn.004893b0
mov byte [esi + 0xce53], 1
mov ecx, dword [0x51a3d4]
push 0x5dc
push 0xffffffffffffffff
call fcn.004a2c20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esi + 0xcdac]
cmp eax, ecx
jne 0x47e0be
test eax, eax
je 0x47e0be
mov eax, dword [ebp + 8]
cmp eax, 1
je 0x47e38c
cmp eax, 0x2710
jne 0x47e494
mov ecx, dword [0x51a3d4]
push 0x5dc
push 0xffffffffffffffff
call fcn.004a2c20
mov ecx, dword [esi + 0xcda4]
call fcn.004893b0
mov byte [esi + 0xce53], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, dword [esi + 0xcda4]
jne 0x47e368
test eax, eax
je 0x47e368
cmp byte [esi + 0xce50], 0
jne 0x47e494
mov eax, dword [ebp + 8]
cmp eax, 0x68
jne 0x47e125
push 0x24
call fcn.004c3c3a
add esp, 4
test eax, eax
je 0x47e0fe
mov ecx, eax
call fcn.00465e50
jmp 0x47e100
xor eax, eax
push 1
push 0xa
push esi
mov ecx, eax
mov dword [esi + 0xcdb4], eax
call fcn.0044f610
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 4
jne 0x47e1dd
mov ecx, esi
call fcn.0047de50
test eax, eax
jne 0x47e145
cmp dword [esi + 0xcd10], eax
jne 0x47e494
cmp dword [esi + 0xce88], 0
jne 0x47e494
movsd xmm0, qword [esi + 0xcea0]
ucomisd xmm0, qword [0x4e3758]
lahf
test ah, 0x44
jp 0x47e494
mov ecx, dword [esi + 0xcda4]
xorps xmm0, xmm0
push 7
mov dword [esi + 0xce88], 1
movsd qword [esi + 0xce80], xmm0
movsd qword [esi + 0xce98], xmm0
mov dword [esi + 0xcd0c], 0
call fcn.00488f20
mov ecx, dword [esi + 0xcda4]
push 8
call fcn.00488ea0
movsd xmm0, qword [0x4e3770]
sub esp, 8
mov ecx, dword [esi + 0xcec0]
movsd qword [esp], xmm0
push 0
call fcn.004a26d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 3
jne 0x47e255
push 0x1f8
call fcn.004c3c3a
add esp, 4
mov dword [ebp + 8], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x47e20c
push 0x82
push esi
mov ecx, eax
call fcn.00449ee0
jmp 0x47e20e
xor eax, eax
push str.dialogs_skip_minigames.xml
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0xcdb0], eax
call fcn.004894b0
movsd xmm0, qword [0x4e3770]
sub esp, 8
mov ecx, dword [esi + 0xcdb0]
movsd qword [esp], xmm0
call fcn.00488c50
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x65
jne 0x47e33b
mov edx, dword [esi + 0xcd0c]
test edx, edx
je 0x47e494
cmp dword [esi + 0xcd10], 0
jne 0x47e494
mov byte [esi + 0xce49], 1
mov eax, dword [edx + 0x18]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
lea eax, [eax + ecx*8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
mov dword [esi + eax*4 + 0x58], 0
mov ecx, dword [esi + 0xcd0c]
mov dword [esi + 0xcd10], ecx
mov dword [esi + 0x50], 2
mov dword [esi + 0x20], ecx
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x30], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x38], eax
mov eax, ecx
mov dword [esi + 0xcd0c], 0
movsd xmm0, qword [eax]
movsd qword [esi + 0x40], xmm0
movsd xmm0, qword [eax + 8]
movsd qword [esi + 0x48], xmm0
movsd xmm0, qword [0x4ea160]
mov dword [eax + 0x18], 0x64
mov eax, dword [esi + 0xcd10]
movsd qword [eax], xmm0
mov eax, dword [esi + 0xcd10]
movsd xmm0, qword [0x4ea128]
movsd qword [eax + 8], xmm0
xorps xmm0, xmm0
mov eax, dword [esi + 0xcd10]
mov dword [eax + 0x1c], 3
movsd qword [esi + 0xce30], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x66
jne 0x47e494
cmp dword [esi + 0x50], 0
je 0x47e494
mov ecx, esi
call fcn.0047ed30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esi + 0xcda8]
cmp eax, ecx
jne 0x47e42d
test ecx, ecx
je 0x47e42d
mov eax, dword [ebp + 8]
cmp eax, 1
jne 0x47e3b4
mov byte [esi + 0xce60], al
movsd xmm0, qword [0x4e3770]
sub esp, 8
movsd qword [esp], xmm0
call fcn.00488dc0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 2
jne 0x47e3da
movsd xmm0, qword [0x4e3770]
sub esp, 8
mov byte [esi + 0xce60], 0
movsd qword [esp], xmm0
call fcn.00488dc0
jmp 0x47e03d
cmp eax, 0x2710
jne 0x47e494
mov eax, dword [ecx]
push 1
call dword [eax + 0x28]
cmp byte [esi + 0xce60], 0
mov dword [esi + 0xcda8], 0
je 0x47e099
movsd xmm0, qword [0x4e3758]
mov byte [esi + 0xce70], 1
movsd qword [esi + 0xce78], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
test eax, eax
jne 0x47e494
mov eax, dword [ebp + 8]
cmp eax, 0x407
jne 0x47e472
mov edi, dword [esi + 0xcdb4]
test edi, edi
je 0x47e455
mov ecx, edi
call fcn.0044f5d0
push edi
call fcn.004c3c8b
add esp, 4
mov dword [esi + 0xcdb4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x213
jne 0x47e494
mov ecx, dword [esi + 0xcdb8]
test ecx, ecx
je 0x47e48a
push 1
call fcn.0044dbd0
mov dword [esi + 0xcdb8], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8