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

Disassembly:
mov byte [ebp - 0x3ad], dl
movzx eax, byte [ebp - 0x3ad]
test eax, eax
je 0x404346
push eax
sub eax, 0x10890
pop eax
push eax
push esi
add esp, 4
and eax, 0x99a2
call 0x4015a2
add byte [edx + 0x3a], al
xor ecx, dword [ebx + 0x32]
inc eax
dec eax
add esp, 4
pop eax
push edx
and edx, 0x18f
and edx, 0xf414
pop edx
push ebx
push ebx
add esp, 4
xor ebx, 0xde70
pop ebx
push ecx
push ebx
add esp, 4
jmp 0x4015cb
pop ecx
push esi
sub esi, 0xbd1d
pop esi
push esi
push ebx
add esp, 4
and esi, 0xaeea
jmp 0x4015e5
pop esi
mov ecx, dword [ebp - 0x30]
add ecx, 0x70
imul edx, dword [ebp - 0x2c], 0x70
add edx, 0x44f3663b
imul eax, dword [ebp - 0x2c], 0x70
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1e88], ecx
mov ecx, dword [ebp - 0x1e88]
mov dword [ebp - 0x1e8c], ecx
cmp dword [ebp - 0x1e8c], 0x63c1
jne 0x401746
push eax
push edi
add esp, 4
call 0x401638
add byte [eax*2 + 0x493f3347], dh
inc esp
dec ebx
cmp al, byte [ebx + 0x535804c4]
add ebx, 0xead6
add ebx, 0x105cf
sub ebx, 0x3fe1
and ebx, 0x15104
pop ebx
mov edx, dword [ebp - 0x14]
add edx, 0x70
imul eax, dword [ebp - 0x10], 0x70
add eax, 0x44f3663b
imul ecx, dword [ebp - 0x10], 0x70
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x1e90], edx
mov edx, dword [ebp - 0x1e90]
mov dword [ebp - 0x1e94], edx
mov eax, dword [ebp - 0x1e94]
sub eax, 0x898
mov dword [ebp - 0x1e98], eax
mov dword [ebp - 0x1068], 1
push edi
sub edi, 0xb07c
pop edi
push edx
push eax
add esp, 4
jmp 0x4016b3
pop edx
push edi
sub edi, 0x14b92
pop edi
push edx
and edx, 0x2383
or edx, 0x68d0
or edx, 0x10017
pop edx
imul ecx, dword [ebp - 0x1068], 0x70
add ecx, 0x44f3663b
imul edx, dword [ebp - 0x1068], 0x70
sub ecx, edx
xor ecx, dword [ebp - 0x1e98]
imul ecx, dword [ebp - 0x1068]
imul eax, dword [ebp - 0x1068], 0x70
sub ecx, eax
mov dword [ebp - 0x106c], ecx
mov ecx, dword [ebp - 0x106c]
mov edx, dword [ebp - 0x1068]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
push eax
push edx
add esp, 4
and eax, 0x441a
jmp 0x401727
add eax, 0x17ae6
pop eax
push edx
push eax
add esp, 4
sub edx, 0x17577
pop edx
push ecx
push eax
add esp, 4
sub ecx, 0x956b
pop ecx
push eax
sub eax, 0x6e56
jmp 0x401752
xor eax, 0x5210
pop eax
push ebx
push eax
add esp, 4
jmp 0x401764
add ebx, 0xe74b
sub ebx, 0xcc7d
jmp 0x401777
pop ebx
mov eax, dword [ebp - 0x14]
add eax, 0x70
imul ecx, dword [ebp - 0x10], 0x70
add ecx, 0x44f3663b
imul edx, dword [ebp - 0x10], 0x70
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1e9c], eax
mov eax, dword [ebp - 0x1e9c]
mov dword [ebp - 0x1f0c], eax
lea ecx, [ebp - 0x9ac]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3e0]
mov dword [edx + 4], 1
push esi
push esi
add esp, 4
sub esi, 0xf422
pop esi
push edi
add edi, 0xab1b
and edi, 0x5603
sub edi, 0x1476b
pop edi
push ecx
call 0x4017ed
add byte [ecx], bh
dec ebx
xor al, 0x37
xor edi, dword [ebx]
dec ebx
add esp, 4
pop ecx
mov eax, dword [ebp - 0x3e0]
imul ecx, dword [eax + 4], 0x70
add ecx, 0x44f3663b
mov edx, dword [ebp - 0x3e0]
imul eax, dword [edx + 4], 0x70
sub ecx, eax
xor ecx, 0x23
mov edx, dword [ebp - 0x3e0]
imul ecx, dword [edx + 4]
mov eax, dword [ebp - 0x3e0]
imul edx, dword [eax + 4], 0x70
sub ecx, edx
mov eax, dword [ebp - 0x3e0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x20a0], ecx
push edi
sub edi, 0xc279
xor edi, 0xcfa4
xor edi, 0x14ac5
or edi, 0x5f44
pop edi
push esi
push eax
add esp, 4
and esi, 0x10276
and esi, 0xed8e
and esi, 0x2369
pop esi
mov dword [ebp - 0x15ac], 1
push eax
push edx
add esp, 4
and eax, 0x5c58
or eax, 0xe7c8
pop eax
push esi
push edi
add esp, 4
sub esi, 0x4763
jmp 0x401898
pop esi
push ecx
push edi
add esp, 4
jmp 0x4018a7
pop ecx
mov dword [ebp - 0x20a4], 0x38
mov dword [ebp - 0x20a8], 0xe6
mov dword [ebp - 0x20ac], 0x6e
mov dword [ebp - 0x20b0], 0x6e
mov dword [ebp - 0x20b4], 0x78
mov dword [ebp - 0x1638], 1
push edi
push esi
add esp, 4
xor edi, 0x1480c
or edi, 0x15a17
sub edi, 0x2af3
jmp 0x401900
pop edi
push ecx
xor ecx, 0x79af
jmp 0x40190f
sub ecx, 0x5a8a
pop ecx
imul edx, dword [ebp - 0x1638], 0x70
add edx, 0x44f3663b
imul eax, dword [ebp - 0x1638], 0x70
sub edx, eax
xor edx, 0xe6
imul edx, dword [ebp - 0x1638]
imul ecx, dword [ebp - 0x1638], 0x70
sub edx, ecx
mov dword [ebp - 0x163c], edx
push edx
push ebx
add esp, 4
xor edx, 0x1415d
pop edx
push esi
sub esi, 0x205d
or esi, 0x1f2
call 0x40196e
add byte [ebx], bh
inc ecx
inc edx
cmp al, byte [eax + 0x4a]
inc ecx
add esp, 4
pop esi
push ecx
jmp 0x401979
pop ecx
push ebx
push ebx
add esp, 4
and ebx, 0x1554
and ebx, 0xf812
sub ebx, 0x6680
sub ebx, 0x1502d
pop ebx
push eax
jmp 0x40199f
add eax, 0x1e2a
and eax, 0xed32
pop eax
mov edx, dword [ebp - 0x9ac]
add edx, 0x70
imul eax, dword [ebp - 0x9a8], 0x70
add eax, 0x44f3663b
imul ecx, dword [ebp - 0x9a8], 0x70
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x9a8]
mov dword [ebp - 0x1ea0], edx
mov edx, dword [ebp - 0x1ea0]
mov dword [ebp - 0x1ea4], edx
mov eax, dword [ebp - 0x1ea4]
sub eax, 0x6e
mov dword [ebp - 0x1eac], eax
mov dword [ebp - 0xa74], 1
push edx
push eax
add esp, 4
jmp 0x401a0b
xor edx, 0x52ae
xor edx, 0x9ddf
xor edx, 0x12e49
pop edx
push edi
push ebx
add esp, 4
add edi, 0x7c98
xor edi, 0x17d63
pop edi
imul ecx, dword [ebp - 0xa74], 0x70
add ecx, 0x44f3663b
imul edx, dword [ebp - 0xa74], 0x70
sub ecx, edx
xor ecx, dword [ebp - 0x1eac]
imul ecx, dword [ebp - 0xa74]
imul eax, dword [ebp - 0xa74], 0x70
sub ecx, eax
mov dword [ebp - 0xa78], ecx
push ebx
sub ebx, 0x721c
pop ebx
push ecx
push ebx
add esp, 4
and ecx, 0x5c9
and ecx, 0x4048
sub ecx, 0x8f04
pop ecx
push ebx
push edi
add esp, 4
or ebx, 0x6a2
and ebx, 0xbb7f
pop ebx
mov ecx, dword [ebp - 0x9ac]
add ecx, 0x70
imul edx, dword [ebp - 0x9a8], 0x70
add edx, 0x44f3663b
imul eax, dword [ebp - 0x9a8], 0x70
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x1eb0], ecx
mov ecx, dword [ebp - 0x1eb0]
mov dword [ebp - 0x1eb4], ecx
mov edx, dword [ebp - 0x1eb4]
add edx, 0x38
mov dword [ebp - 0x1eb8], edx
mov dword [ebp - 0xa7c], 1
push ebx
and ebx, 0x9f60
call 0x401afd
add byte [ebp + 0x4f], al
xor al, 0x4d
dec edx
xor al, 0x33
add esp, 4
add ebx, 0x992b
and ebx, 0x429e
pop ebx
push esi
push edx
add esp, 4
add esi, 0x2c2b
pop esi
imul eax, dword [ebp - 0xa7c], 0x70
add eax, 0x44f3663b
imul ecx, dword [ebp - 0xa7c], 0x70
sub eax, ecx
xor eax, dword [ebp - 0x1eb8]
imul eax, dword [ebp - 0xa7c]
imul edx, dword [ebp - 0xa7c], 0x70
sub eax, edx
mov dword [ebp - 0xa80], eax
push ecx
jmp 0x401b54
and ecx, 0x768b
or ecx, 0xab7e
pop ecx
push eax
call 0x401b72
add byte [eax + eax*2 + 0x3e], al
dec ebp
cmp dword [esi + 0x43], eax
inc esi
inc esp
inc ecx
add esp, 4
add eax, 0x89d4
pop eax
push ebx
add ebx, 0x15a44
call 0x401b92
add byte [ecx], bh
cmp al, 0x4c
cmp dword [ebp + 0x34], ecx
inc ecx
cmp eax, 0x4c4833f
and ebx, 0xa6f7
add ebx, 0x11508
pop ebx
push esi
push eax
add esp, 4
and esi, 0x1267d
pop esi
mov dword [ebp - 0x2f0], 1
push ebx
push edx
add esp, 4
sub ebx, 0x14400
call 0x401bd2
add byte [ebx + 0x4c], al
dec esp
dec edx
dec eax
dec ebx
dec ecx
dec edx
xor al, 0x83
les eax, [ebx + ebx*2]
push edx
sub edx, 0x29f7
pop edx
push eax
push ecx
add esp, 4
jmp 0x401be9
pop eax
imul eax, dword [ebp - 0x2f0], 0x70
add eax, 0x44f3663b
imul ecx, dword [ebp - 0x2f0], 0x70
sub eax, ecx
xor eax, 2
imul eax, dword [ebp - 0x2f0]
imul edx, dword [ebp - 0x2f0], 0x70
sub eax, edx
mov dword [ebp - 0x2f4], eax
push ecx
call 0x401c25
add byte [edi], bh
cmp byte [eax], bh
dec ecx
cmp al, 0x45
add esp, 4
call 0x401c35
add byte [0x4e4e4e40], dh
aas
dec esi
add esp, 4
pop ecx
push ebx
push edi
add esp, 4
jmp 0x401c44
jmp 0x401c49
pop ebx
mov eax, dword [ebp - 0x9ac]
idiv bh
dec dword [ebx - 0x9a773]
dec dword [ecx - 0x2777b]
dec dword [ecx - 0x27373]
invalid
jmp 0x401e1d
push eax
add eax, 0xcd5e
xor eax, 0x690f
pop eax
push edx
push ebx
add esp, 4
and edx, 0x17907
and edx, 0x7a02
pop edx
push edx
push ecx
add esp, 4
add edx, 0xee88
xor edx, 0x386a
pop edx
mov ecx, dword [ebp - 0x278]
add ecx, 0x70
imul edx, dword [ebp - 0x274], 0x70
add edx, 0x44f3663b
imul eax, dword [ebp - 0x274], 0x70
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x274]
mov dword [ebp - 0x1ec4], ecx
mov ecx, dword [ebp - 0x1ec4]
mov dword [ebp - 0x1ec8], ecx
cmp dword [ebp - 0x1ec8], 0
jbe 0x402345
push edx
jmp 0x401e9d
pop edx
push edi
push ebx
add esp, 4
call 0x401eb2
add byte [ebx + 0x4f], cl
inc ebx
xor dh, byte [ebx]
xor al, 0x3a
push eax
add esp, 4
and edi, 0x462a
and edi, 0xd11e
xor edi, 0xe4ca
pop edi
mov edx, dword [ebp - 0x278]
add edx, 0x70