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

Disassembly:
add esp, 4
xor edx, 0x16a4f
pop edx
imul edx, dword [ebp - 0xfac], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0xfac], 0x138
sub edx, eax
xor edx, 0xabe912
imul edx, dword [ebp - 0xfac]
imul ecx, dword [ebp - 0xfac], 0x138
sub edx, ecx
mov dword [ebp - 0xfb0], edx
push eax
push ebx
add esp, 4
sub eax, 0x3f5
and eax, 0x179fa
or eax, 0x10e72
or eax, 0x1391
pop eax
push ecx
sub ecx, 0xb446
add ecx, 0x17204
xor ecx, 0xda0a
pop ecx
mov dword [ebp - 0x10], 1
push eax
add eax, 0x10a05
add eax, 0xbc8a
pop eax
push esi
sub esi, 0x3863
call 0x401205
add byte [esi + 0x47], cl
dec ebx
xor bh, byte [edi]
cmp eax, dword [edi - 0x7d]
les eax, [ebx + ebp*8]
add al, 0x3a
inc esi
cmp dword [edi], esi
and esi, 0x9fc7
pop esi
imul edx, dword [ebp - 0x10], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x10], 0x138
sub edx, eax
xor edx, 0x153c
imul edx, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x10], 0x138
sub edx, ecx
mov dword [ebp - 0x14], edx
push edi
push eax
add esp, 4
sub edi, 0x7485
or edi, 0xb538
or edi, 0xfcf5
and edi, 0x12515
pop edi
push eax
xor eax, 0x4715
sub eax, 0x2d74
add eax, 0xaf25
pop eax
push edx
and edx, 0xcf3a
pop edx
push edx
and edx, 0xfbb8
jmp 0x40128a
pop edx
push eax
call 0x401299
add byte [edx + eax*2], dh
xor cl, byte [esp + esi + 0x34]
dec ebp
add esp, 4
pop eax
push ebx
and ebx, 0x59d
pop ebx
mov dword [ebp - 0x2c], 1
push eax
add eax, 0x6295
or eax, 0x44f8
sub eax, 0x16b88
or eax, 0x1da2
pop eax
push ebx
push eax
add esp, 4
add ebx, 0x114df
or ebx, 0xf4e9
or ebx, 0x1200e
pop ebx
imul edx, dword [ebp - 0x2c], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor edx, 0
imul edx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x2c], 0x138
sub edx, ecx
mov dword [ebp - 0x30], edx
jmp 0x4014bf
mov ecx, dword [ebp - 0xfb0]
mov edx, dword [ebp - 0xfac]
mov dword [ebp - 0x152c], ecx
mov dword [ebp - 0x1528], edx
push esi
add esi, 0x8723
pop esi
push ecx
push ebx
add esp, 4
add ecx, 0xcf41
pop ecx
push esi
push esi
add esp, 4
and esi, 0xc11e
pop esi
push edi
push edx
add esp, 4
add edi, 0xf92a
add edi, 0x133af
pop edi
push edi
jmp 0x401511
xor edi, 0xab0c
jmp 0x40151e
sub edi, 0x14768
pop edi
push eax
and eax, 0x131d0
and eax, 0xf993
pop eax
push edi
add edi, 0xcb16
pop edi
mov eax, dword [ebp - 0x30]
add eax, 0x138
imul ecx, dword [ebp - 0x2c], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x2c], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1d2c], eax
push eax
push edx
add esp, 4
xor eax, 0x10ac7
pop eax
push edi
push ecx
add esp, 4
or edi, 0xc202
and edi, 0x14308
or edi, 0x923
pop edi
push edx
jmp 0x401590
add edx, 0x8dc
pop edx
mov eax, dword [ebp - 0x152c]
add eax, 0x138
imul ecx, dword [ebp - 0x1528], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x1528], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x1528]
mov dword [ebp - 0x1d28], eax
mov eax, dword [ebp - 0x1d28]
mov dword [ebp - 0x1d30], eax
mov ecx, dword [ebp - 0x1d2c]
cmp ecx, dword [ebp - 0x1d30]
jae 0x4015f3
mov dword [ebp - 0x149c], 1
jmp 0x4015fd
mov dword [ebp - 0x149c], 0
mov dl, byte [ebp - 0x149c]
mov byte [ebp - 0x382], dl
movzx eax, byte [ebp - 0x382]
test eax, eax
je 0x404670
push edx
push esi
add esp, 4
and edx, 0x1da4
xor edx, 0xb191
pop edx
push edx
push eax
add esp, 4
sub edx, 0x12719
pop edx
push eax
or eax, 0xa6a7
xor eax, 0x12ab5
sub eax, 0x1737e
pop eax
push ebx
push ecx
add esp, 4
jmp 0x401658
call 0x401665
add byte [ecx + 0x36], cl
dec ebx
dec eax
cmp al, 0x42
aaa
add esp, 4
add ebx, 0x175a
pop ebx
push ebx
or ebx, 0x4a79
jmp 0x40167b
pop ebx
mov ecx, dword [ebp - 0x30]
add ecx, 0x138
imul edx, dword [ebp - 0x2c], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1d34], ecx
mov ecx, dword [ebp - 0x1d34]
mov dword [ebp - 0x1d38], ecx
cmp dword [ebp - 0x1d38], 0x63c1
jne 0x4017f7
push edx
push eax
add esp, 4
call 0x4016d5
add byte [ebp + 0x4c], al
aas
inc eax
dec esp
inc eax
dec eax
add esp, 4
pop edx
push ebx
or ebx, 0xd92b
sub ebx, 0x4b13
jmp 0x4016ee
and ebx, 0x750a
pop ebx
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x1d3c], edx
mov edx, dword [ebp - 0x1d3c]
mov dword [ebp - 0x1d40], edx
mov eax, dword [ebp - 0x1d40]
sub eax, 0x898
mov dword [ebp - 0x1d44], eax
mov dword [ebp - 0xfb4], 1
push edx
and edx, 0x15a69
jmp 0x401755
call 0x401763
add byte [ebx + 0x33], al
inc ebx
push eax
dec ebx
inc edx
dec esi
add esp, 4
pop edx
push edx
call 0x401774
add byte [edi], dh
aas
dec esp
dec esp
dec edi
inc ecx
add esp, 4
pop edx
imul ecx, dword [ebp - 0xfb4], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xfb4], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d44]
imul ecx, dword [ebp - 0xfb4]
imul eax, dword [ebp - 0xfb4], 0x138
sub ecx, eax
mov dword [ebp - 0xfb8], ecx
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ebp - 0xfb4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
push edi
push esi
add esp, 4
and edi, 0x3e5f
sub edi, 0x1723
call 0x4017e6
add byte [ebx], bh
dec eax
dec ebp
cmp dh, byte [ebx]
cmp dword [eax + 0x3f], edx
push eax
inc edi
add esp, 4
jmp 0x4017ee
pop edi
push ecx
or ecx, 0x17bff
pop ecx
push eax
push esi
add esp, 4
call 0x40180b
add byte [edi], dh
push eax
inc eax
xor edi, dword [edi + eax*2]
cmp dword [edx], edi
cmp al, byte [ebx + 0x9e804c4]
add byte [eax], al
add byte [eax], al
xor ecx, dword ss:[eax + 0x37]
cmp al, 0x47
inc edx
cmp byte [ebx + 0x7eb04c4], al
xor dl, byte [eax + 0x3d]
dec ecx
cmp edi, dword [eax]
inc eax
pop eax
mov eax, dword [ebp - 0x14]
add eax, 0x138
imul ecx, dword [ebp - 0x10], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x10], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1d48], eax
mov eax, dword [ebp - 0x1d48]
mov dword [ebp - 0x1db8], eax
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3bc]
mov dword [edx + 4], 1
push eax
xor eax, 0x15638
xor eax, 0x12017
add eax, 0x430a
pop eax
push edx
push ecx
add esp, 4
xor edx, 0xb13d
sub edx, 0x111f3
sub edx, 0x16fdc
add edx, 0x11b2e
pop edx
mov eax, dword [ebp - 0x3bc]
imul ecx, dword [eax + 4], 0x138
add ecx, 0x44f3644b
mov edx, dword [ebp - 0x3bc]
imul eax, dword [edx + 4], 0x138
sub ecx, eax
xor ecx, 0x23
mov edx, dword [ebp - 0x3bc]
imul ecx, dword [edx + 4]
mov eax, dword [ebp - 0x3bc]
imul edx, dword [eax + 4], 0x138
sub ecx, edx
mov eax, dword [ebp - 0x3bc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x1f58], ecx
push ecx
xor ecx, 0x142b8
xor ecx, 0xb21
or ecx, 0x129b
pop ecx
push eax
push ecx
add esp, 4
xor eax, 0x15840
jmp 0x401921
sub eax, 0x11e95
or eax, 0x10d95
pop eax
mov dword [ebp - 0x14a4], 1
push edi
push ebx
add esp, 4
call 0x40194d
add byte [0x3f3c3f32], dh
dec ebx
dec esi
cmp al, 0x48
dec ebp
add esp, 4
pop edi
push esi
add esi, 0x7707
call 0x401966
add byte [eax + 0x36], cl
xor al, 0x4e
cmp al, 0x4d
inc ebp
dec edx
add esp, 4
pop esi
mov dword [ebp - 0x1f5c], 0x38
mov dword [ebp - 0x1f60], 0xe6
mov dword [ebp - 0x1f64], 0x6e
mov dword [ebp - 0x1f68], 0x6e
mov dword [ebp - 0x1f6c], 0x78
mov dword [ebp - 0x1530], 1
push eax
push esi
add esp, 4
xor eax, 0xa3ee
pop eax
push ebx
push edi
add esp, 4
add ebx, 0x8463
or ebx, 0x10a58
pop ebx
push eax
and eax, 0xa0b8
add eax, 0x9d85
sub eax, 0x127cf
pop eax
imul edx, dword [ebp - 0x1530], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x1530], 0x138
sub edx, eax
xor edx, 0xe6
imul edx, dword [ebp - 0x1530]
imul ecx, dword [ebp - 0x1530], 0x138
sub edx, ecx
mov dword [ebp - 0x1534], edx
push esi
push esi
add esp, 4
add esi, 0x10271
pop esi
push esi
push edx
add esp, 4
call 0x401a32
add byte [esi + 0x46], cl
dec esp
inc edi
cmp bh, byte [eax]
aas
push eax
add esp, 4
or esi, 0x8738
pop esi
push eax
jmp 0x401a44
pop eax
push ebx
push esi
add esp, 4
add ebx, 0xd63b
xor ebx, 0x9ccb
and ebx, 0x12943
call 0x401a68
add byte [edx + 0x34], cl
dec ebx
cmp byte [edx + 0x3e], al
add esp, 4
pop ebx
push eax
jmp 0x401a76
pop eax
mov edx, dword [ebp - 0x928]
add edx, 0x138
imul eax, dword [ebp - 0x924], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x924], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x924]
mov dword [ebp - 0x1d4c], edx
mov edx, dword [ebp - 0x1d4c]
mov dword [ebp - 0x1d50], edx
mov eax, dword [ebp - 0x1d50]
sub eax, 0x6e
mov dword [ebp - 0x1d54], eax
mov dword [ebp - 0xa08], 1
push esi
push ebx
add esp, 4
and esi, 0x15f99
pop esi
push edi
push edi
add esp, 4
xor edi, 0x115de
pop edi
push edi
call 0x401afa
add byte [ecx + ecx*2 + 0x48], cl
inc esi
xor bh, byte [esi]
aaa
cmp dword [edx - 0x7d], eax
les eax, [ecx + eax*4]
out 0xfe, eax
sub byte [eax], al
add byte [edi + 0x69], bl
invalid
mov dword [ebp - 0x3c0], 0
call 0x40467f
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3c0], eax
push edi
push ebx
add esp, 4
sub edi, 0x113ed
sub edi, 0x64ea
sub edi, 0x6603
pop edi
push eax
and eax, 0x1282f
call 0x4046b9
add byte [ebx], bh
cmp al, 0x41
xor edi, dword [edx]
aas
dec edi
xor ecx, dword [ebx - 0x7d]
les eax, [eax + ebx*2]
mov ecx, dword [ebp - 0x1fa0]
mov dword [ebp - 0x14b8], ecx
push ebx
push ecx
add esp, 4
call 0x4046dd
add byte [ebp + 0x38], al
dec edi
cmp eax, dword [edi + 0x42]
inc edx
xor al, 0x40
add esp, 4
and ebx, 0x1f4
sub ebx, 0x9b81
pop ebx
push ebx
jmp 0x4046f4
jmp 0x4046fa
pop ebx
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x14b8], edx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x1ef8], edx
mov eax, dword [ebp - 0x1ef8]
add eax, dword [ebp - 0x14b8]
mov dword [ebp - 0x3c0], eax
push edx
xor edx, 0xd78c
or edx, 0x6921
xor edx, 0x86ab
pop edx
push edx
push edi
add esp, 4
sub edx, 0x11674
xor edx, 0x14d83
xor edx, 0x2a4e
sub edx, 0x9a44
pop edx
mov byte [ebp - 0xb78], 0x52
mov byte [ebp - 0xb77], 0xb9
mov byte [ebp - 0xb76], 0x10
mov byte [ebp - 0xb75], 0x10
mov byte [ebp - 0xb74], 0x10
mov byte [ebp - 0xb73], 0x10
mov byte [ebp - 0xb72], 0x5a
push edx
push edx
add esp, 4
add edx, 0x3fe3
pop edx
push ebx
push edi
add esp, 4
and ebx, 0x16475
add ebx, 0x18498
pop ebx
push ebx
sub ebx, 0x10e3e
sub ebx, 0xdb79
xor ebx, 0x7ac4
pop ebx
mov byte [ebp - 0xb80], 0x52
mov byte [ebp - 0xb7f], 0xb9
mov byte [ebp - 0xb7e], 0x20
mov byte [ebp - 0xb7d], 0x20
mov byte [ebp - 0xb7c], 0x20
mov byte [ebp - 0xb7b], 0x20
mov byte [ebp - 0xb7a], 0x5a
push eax
push eax
add esp, 4
xor eax, 0xa4eb
jmp 0x40481c
pop eax
push ebx
push ecx
add esp, 4
add ebx, 0x14185
and ebx, 0xf5b1
pop ebx
push ebx
push ebx
add esp, 4
add ebx, 0x1904
pop ebx
mov dword [ebp - 0x1fa4], 0xe
push ebx
or ebx, 0x87bc
xor ebx, 0xa64a
pop ebx
push ebx
push ecx
add esp, 4
and ebx, 0x6820
sub ebx, 0x12b4e
pop ebx
push ecx
push ebx
add esp, 4
sub ecx, 0x159e2
and ecx, 0x10454
pop ecx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb78]
mov dword [ebp - 0x14bc], eax
push edi
push edx
add esp, 4
sub edi, 0x1ec
add edi, 0x2bd8
xor edi, 0x164a7
pop edi
push ecx
or ecx, 0xd116
add ecx, 0xa097
sub ecx, 0xd0b
and ecx, 0x4b0f
pop ecx
mov dword [ebp - 0x1fa8], 0xffffffff
push esi
or esi, 0x158c6
call 0x4048de
add byte [edi], dh
xor al, 0x32
cmp dword [esi], esi
dec edx
dec ebp
dec edi
add esp, 4
pop esi
push eax
push ebx
add esp, 4
add eax, 0xd997
sub eax, 0x3ca8
xor eax, 0xbe1
pop eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x404917
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push esi
sub esi, 0x80e2
jmp 0x404923
call 0x40492f
add byte [esi + eax*2 + 0x3b], cl
inc esi
dec esi
add esp, 4
sub esi, 0xf349
pop esi
push esi
or esi, 0x13e07
pop esi
push esi
and esi, 0x17dae
pop esi
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x404991
push edx
xor edx, 0xcbad
xor edx, 0x7296
pop edx
push ebx
push ebx
add esp, 4
call 0x40497c
add byte [eax + 0x38], cl
dec ebp
cmp dh, byte [ebx + ecx*2]
inc esi
push eax
inc ebx
add esp, 4
add ebx, 0x34fc
xor ebx, 0x1ded
pop ebx
jmp 0x404bbf
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push edi
jmp 0x4049b1
sub edi, 0xb6da
xor edi, 0x9245
sub edi, 0xe53d
pop edi
push ecx
jmp 0x4049cb
pop ecx
push edx
push ebx
add esp, 4
jmp 0x4049d8
pop edx
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x404a40
push esi
push ebx
add esp, 4
and esi, 0x293b
add esi, 0xa283
pop esi
push ecx
push ecx
add esp, 4
or ecx, 0xd98f
add ecx, 0x15267
sub ecx, 0x17268
pop ecx
push edx
sub edx, 0x13802
pop edx
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x404b71
cmp dword [ebp - 0xc08], 0
jle 0x404b65
push edi
push eax
add esp, 4
sub edi, 0x53e4
pop edi
push edx
push edx
add esp, 4
xor edx, 0x13ccf
call 0x404a72
add byte [edx], bh
inc ebx
inc edx
inc ebp
inc eax
inc edx
inc eax
push eax
add esp, 4
jmp 0x404a7e
pop edx
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x404b01
push edx
or edx, 0x6b5e
or edx, 0x2efb
pop edx
push edi
push edx
add esp, 4
or edi, 0x7047
sub edi, 0x179d2
pop edi
push ebx
push edi
add esp, 4
and ebx, 0x13afd
sub ebx, 0x145ea
pop ebx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x404ae9
mov dword [ebp - 0x14c0], 1
jmp 0x404af3
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x404b65
push edi
push esi
add esp, 4
call 0x404b15
add byte [ecx + 0x3c], al
inc ebp
xor eax, 0x45504141
xor eax, dword [ebx + 0x515f04c4]
xor ecx, 0xaec0
pop ecx
push edx
push edi
add esp, 4
sub edx, 0xaa68
sub edx, 0x16dfe
pop edx
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x404a40
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x404bba
push ecx
push edi
add esp, 4
call 0x404b8e
add byte [edx + eax*2], dh
inc ebp
inc esp
inc esi
inc ecx
cmp dword [edi + 0x42], eax
add esp, 4
pop ecx
push ecx
push esi
add esp, 4
jmp 0x404b9f
sub ecx, 0x440f
sub ecx, 0x609a
pop ecx
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x404bfb
jmp 0x404908
push ecx
push ebx
add esp, 4
or ecx, 0x1462f
pop ecx
push eax
jmp 0x404bd1
or eax, 0xea62
or eax, 0x1254d
xor eax, 0xbf10
pop eax
push esi
push esi
add esp, 4
jmp 0x404bf0
pop esi
mov dword [ebp - 0x3cc], 0
push edx
add edx, 0x7cc
add edx, 0x10986
pop edx
push ecx
xor ecx, 0x13bb5
call 0x404c1d
add byte [edi + 0x40], cl
xor ecx, dword [ebp + 0x4b]
inc edi
add esp, 4
xor ecx, 0xc7ef
sub ecx, 0x1291
pop ecx
push edx
push eax
add esp, 4
and edx, 0xb864
or edx, 0x9640
sub edx, 0x78ef
pop edx
push esi
sub esi, 0x6e4f
xor esi, 0xf787
add esi, 0x7ce7
add esi, 0x14ea1
pop esi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push eax
or eax, 0x8acd
call 0x404c8a
add byte [edi + 0x44], al
cmp al, 0x4d
xor al, byte [ebp + 0x32]
dec esi
xor eax, 0x8104c483
invalid