Function at 0x412970
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
mov edx, dword [ebp - 0x4fc]
add edx, 1
mov dword [ebp - 0x4fc], edx
push esi
sub esi, 0x126fd
and esi, 0x720d
jmp 0x412839
pop esi
push esi
push eax
add esp, 4
sub esi, 0x1356e
add esi, 0x115f9
jmp 0x412850
and esi, 0x14252
pop esi
mov eax, dword [ebp - 0x4fc]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x41289f
push edi
add edi, 0xc1d4
jmp 0x412874
xor edi, 0x5cb0
xor edi, 0x121aa
pop edi
push edi
push edx
add esp, 4
call 0x412896
add byte [edi], dh
inc esp
inc ecx
dec esp
aas
inc ebx
dec esp
dec ecx
add esp, 4
pop edi
jmp 0x412acd
mov dword [ebp - 0xc80], 7
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0xac4], ecx
push eax
or eax, 0x12753
and eax, 0x2eac
pop eax
push esi
add esi, 0x5c20
or esi, 0xc2ec
sub esi, 0x18018
and esi, 0x2d78
pop esi
push edi
jmp 0x4128e6
pop edi
mov edx, dword [ebp - 0x15c4]
mov dword [ebp - 0xa60], edx
mov dword [ebp - 0xc84], 0
mov eax, dword [ebp - 0x4fc]
cmp eax, dword [ebp - 0x15c4]
jne 0x41294e
push eax
and eax, 0x49e5
add eax, 0xe98c
xor eax, 0x114b1
and eax, 0x75c7
pop eax
push ebx
push ebx
add esp, 4
add ebx, 0xf2ea
add ebx, 0x1dd2
or ebx, 0xc600
pop ebx
mov ecx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], ecx
jmp 0x412a7f
cmp dword [ebp - 0xc80], 0
jle 0x412a73
push edi
sub edi, 0x12955
call 0x412970
add byte [esi + 0x3d], al
dec ecx
aaa
inc esp
inc ebp
dec edi
add esp, 4
call 0x412982
add byte [edi], bh
dec edi
dec esi
inc edx
dec ecx
inc edi
push eax
xor eax, 0x4c48332
jmp 0x41298c
pop edi
mov edx, dword [ebp - 0xac4]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa60]
movzx edx, byte [ecx]
cmp eax, edx
je 0x412a0f
push edx
push ecx
add esp, 4
and edx, 0x17d17
pop edx
push ecx
push edi
add esp, 4
add ecx, 0x141de
sub ecx, 0x4f0
pop ecx
push ebx
and ebx, 0x576c
xor ebx, 0x17eba
add ebx, 0xbe9c
pushfd
mov esi, 0x8b5b0000
test dword [esi*8 - 0x49f00001], edi
or byte [ebx - 0xa5f6b], cl
dec dword [edi]
mov dh, 2
pushfd
mov esi, 0x8b5b0000
test dword [esi*8 - 0x49f00001], edi
or byte [ebx - 0xa5f6b], cl
dec dword [edi]
mov dh, 2
cmp ecx, eax
jle 0x4129f7
mov dword [ebp - 0x15c8], 1
jmp 0x412a01
mov dword [ebp - 0x15c8], 0xffffffff
mov ecx, dword [ebp - 0x15c8]
mov dword [ebp - 0xc84], ecx
jmp 0x412a73
push esi
jmp 0x412a19
sub esi, 0xa324
pop esi
push edi
push edx
add esp, 4
jmp 0x412a2e
call 0x412a3d
add byte [edx + 0x35], cl
xor al, 0x47
cmp byte [edx], dh
dec ebx
xor al, 0x3e
add esp, 4
pop edi
mov edx, dword [ebp - 0xc80]
sub edx, 1
mov dword [ebp - 0xc80], edx
mov eax, dword [ebp - 0xac4]
add eax, 1
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
jmp 0x41294e
mov edx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], edx
cmp dword [ebp - 0x15cc], 0
jne 0x412ac8
push edx
push edx
add esp, 4
jmp 0x412a92
xor edx, 0x134a7
jmp 0x412a9e
pop edx
push eax
xor eax, 0xd761
pop eax
push ebx
jmp 0x412aad
pop ebx
push ebx
push eax
add esp, 4
or ebx, 0xffd1
pop ebx
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x3e8], eax
jmp 0x412b09
jmp 0x412816
push esi
jmp 0x412ad6
and esi, 0x5349
jmp 0x412ae2
pop esi
push edi
sub edi, 0x64c
xor edi, 0x10e92
pop edi
push ecx
add ecx, 0x181d9
add ecx, 0x38f4
pop ecx
mov dword [ebp - 0x3e8], 0
push edi
push edi
add esp, 4
xor edi, 0x15c5b
pop edi
push ecx
and ecx, 0x137a4
pop ecx
push esi
push ebx
add esp, 4
xor esi, 0xe6aa
xor esi, 0x8e88
xor esi, 0x16e92
and esi, 0xf95
pop esi
push edi
push esi
add esp, 4
sub edi, 0x123cc
pop edi
push ebx
or ebx, 0x4b26
or ebx, 0x1544c
and ebx, 0x3d6c
and ebx, 0xc69
pop ebx
push esi
push ecx
add esp, 4
add esi, 0x404b
pop esi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe4]
mov dword [ebp - 0x15d0], eax
push edx
push eax
add esp, 4
add edx, 0x3d02
xor edx, 0x2ab5
pop edx
push eax
sub eax, 0x1561d
pop eax
push esi
push ebx
add esp, 4
and esi, 0xf480
sub esi, 0x1b8b
and esi, 0x1802b
pop esi
mov dword [ebp - 0x20a4], 0xffffffff
push edx
push edi
add esp, 4
sub edx, 0x431f
and edx, 0xe8f7
pop edx
push eax
and eax, 0x458
call 0x412be4
add byte [edx + 0x3f], cl
xor dh, byte [esi]
inc ebp
push eax
inc edx
add esp, 4
pop eax
push edx
add edx, 0x799c
pop edx
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x500], ecx
jmp 0x412c0d
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push ebx
push eax
add esp, 4
and ebx, 0xbd55
add ebx, 0x3541
pop ebx
push esi
call 0x412c2d
add byte [eax], bh
inc ecx
dec esp
xor al, 0x46
aaa
add esp, 4
or esi, 0xdf8a
pop esi
push ecx
xor ecx, 0x5311
pop ecx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x412c87
push ebx
push eax
add esp, 4
add ebx, 0xd61d
xor ebx, 0x16579
or ebx, 0x1320a
pop ebx
push edx
sub edx, 0x12b5f
call 0x412c7e
add byte [ebp + 0x4a], al
dec edi
inc ebp
aas
aaa
dec eax
cmp byte [esi - 0x7d], al
les eax, [edx + ebx*2]
jmp 0x412eb5
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ebx
push eax
add esp, 4
jmp 0x412caa
sub ebx, 0x11438
and ebx, 0x1116c
pop ebx
push eax
push ecx
add esp, 4
add eax, 0x14028
and eax, 0x100a7
add eax, 0x1184d
pop eax
mov edx, dword [ebp - 0x15d0]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15d0]
jne 0x412d36
push esi
push esi
add esp, 4
or esi, 0x541b
and esi, 0x9b00
or esi, 0x11450
pop esi
push eax
xor eax, 0x4055
pop eax
push edx
push ebx
add esp, 4
or edx, 0x14132
sub edx, 0xbad
pop edx
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x412e67
cmp dword [ebp - 0xc88], 0
jle 0x412e5b
add dword [eax], eax
invalid
push ecx
xor ecx, 0xb048
and ecx, 0x13aff
pop ecx
push ebx
call 0x412d5f
add byte [0x434d4035], dh
cmp eax, 0x4c48342
or ebx, 0x13318
or ebx, 0xe721
sub ebx, 0xb7d6
pop ebx
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x412df7
push ebx
and ebx, 0x10815
call 0x412da1
add byte [esi], dh
xor al, 0x48
cmp byte ss:[ecx + 0x32], al
aaa
inc ebx
add esp, 4
pop ebx
push ecx
push esi
add esp, 4
and ecx, 0x10d5a
add ecx, 0x141ac
add ecx, 0x948a
pop ecx
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x412ddf
mov dword [ebp - 0x15a0], 1
jmp 0x412de9
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x412e5b
push esi
call 0x412e05
add byte [edi], bh
xor al, byte [ecx + 0x4a]
inc ecx
dec edx
push eax
inc edi
add esp, 4
xor esi, 0x15df2
and esi, 0xf2b6
or esi, 0x162d5
pop esi
push ecx
sub ecx, 0x16bd2
sub ecx, 0xdb17
pop ecx
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac0]
add eax, 1
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xabc]
add ecx, 1
mov dword [ebp - 0xabc], ecx
jmp 0x412d36
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x412eb0
push edi
sub edi, 0x236d
jmp 0x412e7d
pop edi
push esi
push ebx
add esp, 4
add esi, 0x13b34
sub esi, 0x12bf3
pop esi
push esi
push eax
add esp, 4
or esi, 0x5aee
and esi, 0xf4d
pop esi
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x412ef1
jmp 0x412bfe
push ecx
push edx
add esp, 4
call 0x412ec9
add byte [ecx + 0x40], cl
xor al, 0x4c
dec esp
cmp eax, 0x4c48349
and ecx, 0x11bc
pop ecx
push eax
or eax, 0x6740
or eax, 0xe122
sub eax, 0x684e
pop eax
mov dword [ebp - 0xab8], 0
push esi
push ebx
add esp, 4
add esi, 0x8860
call 0x412f0c
add byte [esi], dh
xor cl, byte [ebx + 0x3c]
xor edi, dword [0x37363a32]
add esp, 4
call 0x412f1f
add byte [ebx], bh
dec ebx
inc eax
cmp cl, byte [ecx + 0x4b]
xor eax, 0xc4833f4e
add al, 0x5e
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push ecx
push esi
add esp, 4
add ecx, 0xcb04
xor ecx, 0x6a9c
add ecx, 0xd6e2
pop ecx
push ebx
add ebx, 0x2f1
or ebx, 0x9134
and ebx, 0x8e36
or ebx, 0x8dd9
pop ebx
mov ecx, 0x6b
mov word [ebp - 0x1738], cx
mov edx, 0x65
mov word [ebp - 0x1736], dx
mov eax, 0x72
mov word [ebp - 0x1734], ax
mov ecx, 0x6e
mov word [ebp - 0x1732], cx
mov edx, 0x65
mov word [ebp - 0x1730], dx
mov eax, 0x6c
mov word [ebp - 0x172e], ax
mov ecx, 0x33
mov word [ebp - 0x172c], cx
mov edx, 0x32
mov word [ebp - 0x172a], dx
mov eax, 0x2e
mov word [ebp - 0x1728], ax
mov ecx, 0x64
mov word [ebp - 0x1726], cx
mov edx, 0x6c
mov word [ebp - 0x1724], dx
mov eax, 0x6c
mov word [ebp - 0x1722], ax
xor ecx, ecx
mov word [ebp - 0x1720], cx
push edi
jmp 0x413049
sub edi, 0x93ea
xor edi, 0xeac4
pop edi
push esi
push edi
add esp, 4
sub esi, 0xa487
add esi, 0xa9fb
sub esi, 0x1486a
or esi, 0x6562
pop esi
push eax
xor eax, 0x597c
xor eax, 0x6411
and eax, 0xe61c
or eax, 0x128b
pop eax
push esi
push edi
add esp, 4
xor esi, 0x1cb
xor esi, 0x10f4e
sub esi, 0x9629
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1958], ecx
mov edx, dword [ebp - 0x1958]
mov dword [ebp - 0x15d8], edx
push esi
xor esi, 0x688e
and esi, 0xec4f
pop esi
push edx
push eax
add esp, 4
add edx, 0xd8f6
and edx, 0x112da
pop edx
push edx
push edx
add esp, 4
xor edx, 0x2fd
add edx, 0xe8d8
pop edx
cmp dword [ebp - 0x15d8], 0
jne 0x413118
mov dword [ebp - 0x31c], 0
jmp 0x4133d4
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push ebx
push ecx
add esp, 4
or ebx, 0xf9fc
jmp 0x41313d
pop ebx
push ecx
push ecx
add esp, 4
add ecx, 0x4a70
and ecx, 0x1fbc
and ecx, 0xf48f
sub ecx, 0xd468
pop ecx
cmp dword [ebp - 0xc98], 0
jne 0x413174
mov dword [ebp - 0x31c], 0
jmp 0x4133d4
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push edi
and edi, 0xb70c
sub edi, 0x135d7
call 0x41319a
add byte [ebp + 0x42], al
dec edx
xor eax, 0x834c334e
les eax, [ecx + eax*4]
out 0xd7, eax
sldt word [eax]
pop edi
push esi
add esi, 0x7a4
sub esi, 0x6556
pop esi
lea ecx, [ebp - 0x1738]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push esi
sub esi, 0x96ff
and esi, 0x160d9
jmp 0x4131f4
jmp 0x4131fc
pop esi
push edx
and edx, 0x160ac
lodsb al, byte [esi]
pushal
add dword [eax], eax
sub edx, 0xf1af
add edx, 0x1e5d
pop edx
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
mov ax, word [ebp - 0x1032]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc94]
mov dx, word [ecx]
mov word [ebp - 0x1034], dx
mov eax, dword [ebp - 0xc94]
add eax, 2
mov dword [ebp - 0xc94], eax
mov cx, word [ebp - 0x1034]
mov word [ebp - 0x10c], cx
push ecx
or ecx, 0x8b29
pop ecx
push ecx
and ecx, 0x1751
xor ecx, 0x374c
pop ecx
push edi
and edi, 0x2d25
xor edi, 0x13e5f
add edi, 0x1641d
pop edi
push edi
sub edi, 0x9c09
pop edi
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x4132c0
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x413323
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x4131df
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x4131df
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x41330d
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x413317
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x41336c
push esi
xor esi, 0xdb7
jmp 0x413339
or esi, 0x16a41
pop esi
push esi
push edx
add esp, 4
sub esi, 0xb142
pop esi
push edx
push edi
add esp, 4
xor edx, 0x42b9
add edx, 0x7f34
pop edx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x4133d4
push eax
jmp 0x413376
call 0x413384
add byte [ecx], bh
push eax
inc esi
dec eax
cmp edi, dword [edi]
dec ebx
cmp al, byte [ebx + 0x8e804c4]
add byte [eax], al
add byte [eax], al
inc ecx
cmp al, 0x45
inc eax
dec eax
aas
cmp byte [ebx - 0xf7efb3c], al
mov dl, 0x73
add byte [eax], al
pop eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x4133ca
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x413180
mov dword [ebp - 0x31c], 0
push eax
and eax, 0x15189
jmp 0x4133e2
call 0x4133f1
add byte [0x3c484f48], dh
push eax
dec ebp
add esp, 4
call 0x413402
add byte [edx], dh
inc ebx
aaa
inc edi
inc edi
inc ebp
cmp eax, dword [ebx - 0x7ca7fb3c]
mov ebp, 0xfffffce4
add byte [edi], cl
test dword [ecx + ecx], ecx
add byte [eax], al
mov edx, 0x6b
mov word [ebp - 0x1774], dx
mov eax, 0x65
mov word [ebp - 0x1772], ax
mov ecx, 0x72
mov word [ebp - 0x1770], cx
mov edx, 0x6e
mov word [ebp - 0x176e], dx
mov eax, 0x65
mov word [ebp - 0x176c], ax
mov ecx, 0x6c
mov word [ebp - 0x176a], cx
mov edx, 0x33