Function at 0x43c310
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x50b7f4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, ecx
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x10]
push eax
xor ebx, ebx
push ecx
mov ecx, esi
mov dword [esp + 0x28], ebx
call fcn.0043c2d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], ebx
cmp dword [eax - 8], ebx
jne 0x43c3ab
cmp dword [esp + 0x48], ebx
je 0x43c373
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 0xb
jmp 0x43cd73
push 0xc
call fcn.004dc4af
add esp, 4
cmp eax, ebx
je 0x43c393
mov dword [eax + 8], ebx
mov dword [eax], 0x515e28
mov dword [eax + 4], 0xb
mov ebx, eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, ebx
jmp 0x43cd73
cmp dword [esp + 0x18], ebx
je 0x43c5c3
mov edi, dword [esi + 0x10]
lea edx, [esp + 0x18]
lea eax, [esp + 0x44]
push edx
push eax
mov ecx, esi
call fcn.0043c2d0
mov eax, dword [esp + 0x18]
mov byte [esp + 0x38], 1
cmp eax, ebx
je 0x43c535
lea ecx, [esp + 0x18]
lea edx, [esp + 0x40]
push ecx
push edx
mov ecx, esi
call fcn.0043c2d0
mov eax, dword [esp + 0x40]
push 0x545cec
push eax
mov byte [esp + 0x40], 2
call fcn.004a1876
add esp, 8
test eax, eax
jne 0x43c48b
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004a1a26
mov edi, eax
mov eax, dword [esp + 0x4c]
add esp, 4
cmp eax, ebx
je 0x43c458
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 1
call fcn.004e0a3d
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 9
jmp 0x43cd73
push 0x14
call fcn.004dc4af
add esp, 4
cmp eax, ebx
je 0x43c512
mov edx, dword [esi]
mov esi, eax
mov ecx, dword [edx]
mov dword [eax + 8], ebx
mov dword [eax], 0x515d0c
mov dword [eax + 4], 9
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edi
jmp 0x43c514
mov eax, dword [esp + 0x48]
mov dword [esi + 0x10], edi
cmp eax, ebx
je 0x43c4cd
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 1
call fcn.004e0a3d
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 2
jmp 0x43cd73
push 0x10
call fcn.004dc4af
mov esi, eax
add esp, 4
mov dword [esp + 0x48], esi
cmp esi, ebx
je 0x43c512
mov dword [esi], 0x515d14
mov dword [esi + 8], ebx
mov eax, dword [0x575f54]
lea ecx, [esi + 0xc]
mov dword [ecx], eax
lea edx, [esp + 0x10]
mov byte [esp + 0x38], 5
push edx
mov dword [esi], 0x515df0
mov dword [esi + 4], 2
call fcn.004e0b76
jmp 0x43c514
xor esi, esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 1
call fcn.004e0a3d
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
jmp 0x43cd60
mov eax, dword [esp + 0x48]
mov dword [esi + 0x10], edi
cmp eax, ebx
je 0x43c569
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 2
jmp 0x43cd73
push 0x10
call fcn.004dc4af
mov esi, eax
add esp, 4
mov dword [esp + 0x48], esi
cmp esi, ebx
je 0x43c5ae
mov dword [esi], 0x515d14
mov dword [esi + 8], ebx
mov eax, dword [0x575f54]
lea ecx, [esi + 0xc]
mov dword [ecx], eax
lea edx, [esp + 0x10]
mov byte [esp + 0x38], 8
push edx
mov dword [esi], 0x515df0
mov dword [esi + 4], 2
call fcn.004e0b76
jmp 0x43c5b0
xor esi, esi
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
jmp 0x43cd60
push str.true
push eax
call fcn.004a1876
add esp, 8
test eax, eax
je 0x43ccff
mov eax, dword [esp + 0x10]
push str.false
push eax
call fcn.004a1876
add esp, 8
test eax, eax
je 0x43ccff
mov ecx, dword [esp + 0x10]
push 0x545ce4
push ecx
call fcn.004a1876
add esp, 8
test eax, eax
jne 0x43c662
cmp dword [esp + 0x48], ebx
je 0x43c62a
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 8
jmp 0x43cd73
push 0xc
call fcn.004dc4af
add esp, 4
cmp eax, ebx
je 0x43c64a
mov dword [eax + 8], ebx
mov dword [eax], 0x515de8
mov dword [eax + 4], 8
mov ebx, eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, ebx
jmp 0x43cd73
mov edx, dword [esp + 0x10]
push 0x545ce0
push edx
call fcn.004a1876
add esp, 8
test eax, eax
jne 0x43c70f
cmp dword [esp + 0x48], ebx
jne 0x43c72f
lea eax, [esp + 0x14]
mov ecx, esi
push eax
call fcn.0043bc00
mov esi, dword [esi + 0x1c]
mov byte [esp + 0x38], 9
cmp esi, ebx
je 0x43c6b4
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0043a0d0
push 0x10
call fcn.004dc4af
mov esi, eax
add esp, 4
mov dword [esp + 0x48], esi
cmp esi, ebx
je 0x43c6fa
mov dword [esi], 0x515d14
mov dword [esi + 8], ebx
mov edx, dword [0x575f54]
lea ecx, [esi + 0xc]
mov dword [ecx], edx
lea eax, [esp + 0x14]
mov byte [esp + 0x38], 0xc
push eax
mov dword [esi], 0x515dec
mov dword [esi + 4], 3
call fcn.004e0b76
jmp 0x43c6fc
xor esi, esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
jmp 0x43cd60
mov ecx, dword [esp + 0x10]
push 0x545cdc
push ecx
call fcn.004a1876
add esp, 8
test eax, eax
jne 0x43c7d2
cmp dword [esp + 0x48], ebx
je 0x43c74a
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 3
jmp 0x43cd73
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.0043bea0
mov esi, dword [esi + 0x1c]
mov byte [esp + 0x38], 0xd
cmp esi, ebx
je 0x43c778
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x14]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0043a0d0
push 0x10
call fcn.004dc4af
mov esi, eax
add esp, 4
mov dword [esp + 0x48], esi
cmp esi, ebx
je 0x43c7bd
mov dword [esi], 0x515d14
mov dword [esi + 8], ebx
mov eax, dword [0x575f54]
lea ecx, [esi + 0xc]
mov dword [ecx], eax
lea edx, [esp + 0x14]
mov byte [esp + 0x38], 0x10
push edx
mov dword [esi], 0x515dec
mov dword [esi + 4], 3
call fcn.004e0b76
jmp 0x43c7bf
xor esi, esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
jmp 0x43cd60
mov eax, dword [esp + 0x10]
push 0x545cd8
push eax
call fcn.004a1876
add esp, 8
test eax, eax
jne 0x43c8e1
cmp dword [esp + 0x48], ebx
je 0x43c80d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 5
jmp 0x43cd73
push 0x20
call fcn.004dc4af
mov edi, eax
add esp, 4
mov dword [esp + 0x48], edi
cmp edi, ebx
je 0x43c84a
mov dword [edi], 0x515d14
mov dword [edi + 8], ebx
lea ecx, [edi + 0xc]
mov byte [esp + 0x38], 0x12
call fcn.004db449
mov dword [edi], 0x515d1c
mov dword [edi + 4], 5
mov dword [esp + 0x48], edi
jmp 0x43c84e
mov dword [esp + 0x48], ebx
mov ebp, dword [esp + 0x44]
mov byte [esp + 0x38], 0
mov ecx, dword [esp + 0x40]
push ebx
push ebp
push ecx
mov ecx, esi
call fcn.0043c310
mov edi, eax
cmp edi, ebx
je 0x43c884
cmp dword [edi + 4], 0xa
je 0x43c892
mov edx, dword [esp + 0x48]
push edi
mov eax, dword [edx + 0x14]
lea ecx, [edx + 0xc]
push eax
call fcn.004db90b
jmp 0x43c857
mov ecx, dword [esp + 0x48]
call fcn.004379e0
jmp 0x43cba2
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00437a00
mov eax, dword [eax]
push 0x545cd4
push eax
call fcn.004a1876
add esp, 8
lea ecx, [esp + 0x44]
test eax, eax
sete bl
call fcn.004e0a3d
test bl, bl
je 0x43c884
mov ecx, edi
call fcn.004379e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, dword [esp + 0x48]
jmp 0x43cd73
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x2f
jne 0x43c97a
cmp dword [esp + 0x48], ebx
je 0x43c910
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 4
jmp 0x43cd73
push 0x10
call fcn.004dc4af
mov edi, eax
add esp, 4
mov dword [esp + 0x48], edi
cmp edi, ebx
mov byte [esp + 0x38], 0x13
je 0x43c95a
mov edx, dword [esi + 0x124]
add esi, 0x20
push edx
lea eax, [esp + 0x48]
push esi
push eax
call fcn.0043c110
add esp, 0xc
mov dword [esp + 0x20], 1
push eax
mov ecx, edi
mov byte [esp + 0x3c], 0x14
call fcn.004384d0
mov esi, eax
jmp 0x43c95c
xor esi, esi
mov al, byte [esp + 0x20]
mov dword [esp + 0x38], ebx
test al, 1
je 0x43cd60
lea ecx, [esp + 0x44]
call fcn.004e0a3d
jmp 0x43cd60
push 0x545cd0
push ecx
call fcn.004a1876
add esp, 8
test eax, eax
mov eax, dword [esp + 0x48]
jne 0x43cc96
cmp eax, ebx
je 0x43c9b3
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 6
jmp 0x43cd73
push 0x28
call fcn.004dc4af
mov edi, eax
add esp, 4
mov dword [esp + 0x48], edi
cmp edi, ebx
je 0x43c9ee
mov dword [edi], 0x515d14
mov dword [edi + 8], ebx
push 0xa
lea ecx, [edi + 0xc]
mov byte [esp + 0x3c], 0x17
call fcn.004dbeb4
mov dword [edi], 0x515d10
mov dword [edi + 4], 6
jmp 0x43c9f0
xor edi, edi
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x14], edi
mov byte [esp + 0x38], 0
lea ecx, [esp + 0x24]
lea edx, [esp + 0x48]
push ecx
push edx
mov ecx, esi
call fcn.0043c2d0
mov eax, dword [esp + 0x48]
push 0x57ce60
push eax
mov byte [esp + 0x40], 0x18
call fcn.004a1876
add esp, 8
test eax, eax
je 0x43ca87
mov ecx, dword [esp + 0x48]
push 0x545ccc
push ecx
call fcn.004a1876
add esp, 8
test eax, eax
je 0x43ca9c
mov edx, dword [esp + 0x48]
cmp byte [edx], 0x2f
jne 0x43ca87
lea eax, [esp + 0x48]
push eax
call fcn.0043c250
mov ecx, dword [esp + 0x44]
add esp, 4
push ebx
push ebp
push ecx
mov ecx, esi
call fcn.0043c310
cmp eax, ebx
je 0x43ca87
mov edx, dword [esp + 0x48]
push eax
push edx
mov ecx, edi
call fcn.004389f0
lea ecx, [esp + 0x48]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
jmp 0x43c9fd
mov ecx, edi
call fcn.004379e0
mov byte [esp + 0x38], 0
lea ecx, [esp + 0x48]
jmp 0x43cb9d
lea ecx, [esp + 0x48]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
mov ebp, dword [esi + 0x10]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.0043c2d0
mov edx, dword [esp + 0x1c]
push str.stream
push edx
mov byte [esp + 0x40], 0x19
call fcn.004a1876
add esp, 8
test eax, eax
jne 0x43cc6d
push 0x24
call fcn.004dc4af
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
cmp edi, ebx
je 0x43cb1d
mov dword [edi], 0x515d14
mov dword [edi + 8], ebx
lea ecx, [edi + 0x10]
mov byte [esp + 0x38], 0x1b
call fcn.004db5c7
mov dword [edi], 0x515de4
mov dword [edi + 4], 7
mov dword [edi + 0xc], ebx
mov dword [esp + 0x20], edi
jmp 0x43cb21
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x14]
push str._Length
mov byte [esp + 0x3c], 0x19
call fcn.004388c0
mov ecx, esi
mov edi, eax
call fcn.0043c040
mov ebx, dword [esi + 0x10]
mov eax, edi
neg eax
sbb eax, eax
lea ebp, [ebx + edi]
and eax, 0x64
mov ecx, esi
push eax
push str.endstream
mov dword [esi + 0x10], ebp
call fcn.0043d240
test eax, eax
jge 0x43cbc8
cmp edi, 0x64
jge 0x43cb6a
mov dword [esi + 0x10], ebx
jmp 0x43cb70
add ebp, 0xffffff9c
mov dword [esi + 0x10], ebp
push 0x64
push str.endstream
mov ecx, esi
call fcn.0043d240
test eax, eax
jge 0x43cbba
mov ecx, dword [esp + 0x20]
call fcn.004379e0
mov ecx, dword [esp + 0x14]
call fcn.004379e0
mov byte [esp + 0x38], 0
lea ecx, [esp + 0x1c]
call fcn.004e0a3d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
xor eax, eax
jmp 0x43cd73
cmp edi, 0x64
mov ecx, edi
jl 0x43cbc6
mov ecx, 0x64
sub eax, ecx
add edi, eax
test eax, eax
je 0x43cc05
push 0x10
call fcn.004dc4af
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov byte [esp + 0x38], 0x1c
je 0x43cbef
push edi
mov ecx, eax
call fcn.00438240
jmp 0x43cbf1
xor eax, eax
mov ecx, dword [esp + 0x14]
push eax
push str._Length
mov byte [esp + 0x40], 0x19
call fcn.004389f0
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
push ecx
push edi
push 0
mov ecx, ebp
call fcn.00439110
mov dword [esi + 0x10], ebx
mov eax, dword [ebp + 0x14]
push edi
push eax
mov ecx, esi
call fcn.0043b940
mov ecx, dword [esi + 0x10]
add ecx, 9
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x43cc47
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push ebp
push edx
push eax
call fcn.0043a210
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 0
call fcn.004e0a3d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, ebp
jmp 0x43cd73
lea ecx, [esp + 0x1c]
mov dword [esi + 0x10], ebp
mov byte [esp + 0x38], 0
call fcn.004e0a3d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, edi
jmp 0x43cd73
cmp eax, ebx
je 0x43ccb5
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 0xa
jmp 0x43cd73
push 0x10
call fcn.004dc4af
mov esi, eax
add esp, 4
mov dword [esp + 0x48], esi
cmp esi, ebx
je 0x43cd5e
mov dword [esi], 0x515d14
mov dword [esi + 8], ebx
mov edx, dword [0x575f54]
lea ecx, [esi + 0xc]
mov dword [ecx], edx
lea eax, [esp + 0x10]
mov byte [esp + 0x38], 0x1f
push eax
mov dword [esi], 0x515de0
mov dword [esi + 4], 0xa
call fcn.004e0b76
jmp 0x43cd60
cmp dword [esp + 0x48], ebx
je 0x43cd1d
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, 1
jmp 0x43cd73
push 0x10
call fcn.004dc4af
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x43cd5e
mov ecx, dword [esp + 0x10]
push str.true
push ecx
call fcn.004a1876
add esp, 8
mov dword [esi + 8], ebx
test eax, eax
sete al
and eax, 0xff
mov dword [esi], 0x515df4
mov dword [esi + 4], 1
mov dword [esi + 0xc], eax
jmp 0x43cd60
xor esi, esi
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.004e0a3d
mov eax, esi
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret 0xc