Function at 0x412524
Capabilities:
Get number of processors

Disassembly:
xor al, 0x83
les eax, [ecx + eax*4]
out 0x2a, al
jle 0x411c8a
add byte [esi - 0x75], bl
xchg ebp, eax
movsb byte es:[edi], byte [esi]
clc
invalid
pop esi
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x411cb8
mov dword [ebp - 0xca8], 0
jmp 0x411d27
push edi
and edi, 0xd8b
add edi, 0x10867
jmp 0x411cca
pop edi
push eax
xor eax, 0x38c1
and eax, 0x15115
call 0x411ce6
add byte [eax + 0x3a], cl
cmp esi, dword [edx]
inc ecx
xor al, 0x3d
inc eax
add esp, 4
pop eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x411d1d
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x411d27
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x411d3e
mov ecx, dword [ebp - 0x1970]
mov dword [ebp - 0x3f4], ecx
jmp 0x411d4f
jmp fcn.00411b28
cmp dword [ebp - 0x3f4], 0
je 0x411e2a
push eax
push edx
add esp, 4
xor eax, 0x14420
jmp 0x411d6f
pop eax
push edx
push edi
add esp, 4
or edx, 0x15086
add edx, 0x93c9
or edx, 0xc9c6
or edx, 0x13aa6
pop edx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push esi
push edi
add esp, 4
sub esi, 0x6eed
and esi, 0x57fc
jmp 0x411db0
pop esi
push esi
or esi, 0xb167
jmp 0x411dbf
and esi, 0xa95c
and esi, 0x9655
pop esi
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x411e2a
push ebx
or ebx, 0x16baa
pop ebx
push ebx
push edi
add esp, 4
sub ebx, 0x1017f
or ebx, 0x30e1
xor ebx, 0x12797
pop ebx
push ebx
push eax
add esp, 4
or ebx, 0x49d5
or ebx, 0x7947
pop ebx
mov dword [ebp - 0x79c], 0
jmp 0x412514
push edi
add edi, 0x5763
pop edi
push ebx
push ecx
add esp, 4
sub ebx, 0x12b98
jmp 0x411e43
add ebx, 0x1630a
pop ebx
push ebx
push ecx
add esp, 4
and ebx, 0xeb0
jmp 0x411e5b
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push eax
and eax, 0x1360a
or eax, 0x16638
and eax, 0xf414
pop eax
push esi
push edi
add esp, 4
xor esi, 0x10cbd
add esi, 0x15522
and esi, 0x4a8d
add esi, 0x126a5
pop esi
cmp dword [ebp - 0x15fc], 0
jne 0x411ecd
mov dword [ebp - 0x31c], 0
jmp 0x412174
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push ecx
push eax
add esp, 4
and ecx, 0x10602
call 0x411ef9
add byte [edx + 0x43], cl
aas
inc ebp
dec esi
cmp cl, byte [esi + 0x38]
dec ebx
add esp, 4
xor ecx, 0xb857
or ecx, 0x15e78
pop ecx
push ecx
add ecx, 0x16712
pop ecx
cmp dword [ebp - 0xcb4], 0
jne 0x411f29
mov dword [ebp - 0x31c], 0
jmp 0x412174
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push ebx
push ebx
add esp, 4
xor ebx, 0x10d19
xor ebx, 0x15d96
pop ebx
push edx
call 0x411f57
add byte [edx + 0x4e], al
cmp cl, byte [esi + 0x3e]
inc edx
inc edx
dec eax
inc esi
add esp, 4
add edx, 0xb6a1
add edx, 0x112f5
pop edx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push ecx
add esp, 4
add esi, 0x17ba7
pop esi
push ebx
jmp 0x411fa6
xor ebx, 0xefd6
pop ebx
push ebx
xor ebx, 0x6d4d
pop ebx
push edi
sub edi, 0x16ddd
and edi, 0xb163
pop edi
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push ecx
push edi
add esp, 4
xor ecx, 0x13ff0
call 0x412033
add byte [ebx], dh
cmp al, 0x33
aaa
xor ecx, dword [esp + edi + 0x35]
add esp, 4
and ecx, 0xe2b2
pop ecx
push ebx
push esi
add esp, 4
jmp 0x41204b
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x412069
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x4120c3
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x411f91
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x411f91
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4120ad
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x4120b7
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x41210c
push edi
push ecx
add esp, 4
call 0x4120dd
add byte [ecx + 0x3c], cl
dec edi
push eax
inc ebx
inc edx
add esp, 4
and edi, 0x609c
jmp 0x4120ed
call 0x4120fa
add byte [eax + 0x4b], cl
aaa
inc esi
inc esi
inc eax
add esp, 4
pop edi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x412174
push esi
and esi, 0x17715
pop esi
push ecx
jmp 0x41211d
sub ecx, 0x13bd0
add ecx, 0x2eb5
pop ecx
push ecx
or ecx, 0x16300
xor ecx, 0xbb4d
and ecx, 0x1610a
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x41216a
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x411f35
mov dword [ebp - 0x31c], 0
push edx
push ecx
add esp, 4
xor edx, 0x8071
pop edx
push esi
push ecx
add esp, 4
xor esi, 0x5f9e
sub esi, 0x123ed
pop esi
push edi
xor edi, 0x182b2
add edi, 0x4923
sub edi, 0xb128
pop edi
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ebx
xor ebx, 0xd331
add ebx, 0xb58
or ebx, 0xc3ca
pop ebx
push esi
push edi
add esp, 4
add esi, 0x216e
add esi, 0xb674
and esi, 0xb72d
or esi, 0xb8cb
pop esi
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x412217
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x412508
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x41223f
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x412508
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x412271
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x412508
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x412296
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x412508
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1988], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x768], 0
jmp 0x4122f0
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x4124fc
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1984]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1988]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d10]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x198c], eax
mov dword [ebp - 0x19c], 0
jmp 0x412360
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x412412
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x412412
push edx
and edx, 0x4723
call 0x4123a0
add byte [ecx + 0x34], al
cmp byte [ebx], dh
cmp dh, byte [esi]
add esp, 4
pop edx
push eax
push eax
add esp, 4
call 0x4123b5
add byte [edx + ecx*2 + 0x3a], cl
dec edi
cmp dword [ebx], edi
add esp, 4
sub eax, 0x175f8
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x412404
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x41240b
jmp 0x412351
jmp 0x412412
push esi
push ebx
add esp, 4
and esi, 0xba38
jmp 0x412426
pop esi
push ebx
call 0x412434
add byte [esi + 0x3c], al
aaa
cmp eax, 0xc4833237
add al, 0x81
repe cmpsb byte [esi], byte es:[edi]
push ecx
add dword [eax], eax
sub ebx, 0x93b3
pop ebx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x412471
mov dword [ebp - 0xcb8], 0
jmp 0x4124e0
push edi
push eax
add esp, 4
call 0x412485
add byte [ebp + 0x36], al
dec eax
cmp byte [esi], dh
inc eax
aaa
xor eax, 0x5f04c483
push esi
and esi, 0x13521
add esi, 0x17dbc
and esi, 0x16831
sub esi, 0x77f
pop esi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x4124d6
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x4124e0
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x4124f7
mov ecx, dword [ebp - 0x198c]
mov dword [ebp - 0x510], ecx
jmp 0x412508
jmp 0x4122e1
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push edx
call 0x412524
add byte [esi + edi + 0x39], al
dec esi
cmp dword [edx + 0x38], ecx
dec ebp
dec eax
add esp, 4
pop edx
push ebx
push edi
add esp, 4
add ebx, 0x27d0
and ebx, 0xe716
xor ebx, 0x9c51
or ebx, 0x3a0e
pop ebx
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push edx
push ecx
add esp, 4
and edx, 0x10fbc
pop edx
push edi
and edi, 0xe509
and edi, 0x5050
and edi, 0xdd1c
pop edi
push edx
push ecx
add esp, 4
xor edx, 0xb6b0
xor edx, 0x24e6
pop edx
cmp dword [ebp - 0x3e8], 0
je 0x412599
cmp dword [ebp - 0xab8], 0
jne 0x4125df
push eax
call 0x4125a8
add byte [esi], bh
inc edi
inc edx
cmp dword [esp + esi + 0x33], eax
add esp, 4
and eax, 0x4656
pop eax
push ebx
jmp 0x4125b8
sub ebx, 0x3b15
pop ebx
push ebx
push esi
add esp, 4
or ebx, 0x147ee
pop ebx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push ecx
xor ecx, 0x28f7
pop ecx
push ebx
push eax
add esp, 4
add ebx, 0x16558
or ebx, 0x907
and ebx, 0x181ed
pop ebx
push edx
push eax
add esp, 4
and edx, 0x16c6b
xor edx, 0xc3be
pop edx
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push esi
or esi, 0xb8ff
call 0x412659
add byte [esi + 0x4f], cl
push eax
xor al, byte [eax + 0x42]
add esp, 4
pop esi
push edi
push ecx
add esp, 4
and edi, 0x4aa8
call 0x412674
add byte [esi + 0x3e], cl
dec esi
aaa
cmp byte [edx], bh
add esp, 4
pop edi
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50