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

Disassembly:
jmp 0x405158
and esi, 0xfeec
pop esi
mov ecx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], ecx
jmp 0x4052a1
cmp dword [ebp - 0x15cc], 0
jne 0x4052ea
push eax
push ecx
add esp, 4
call 0x4052bb
add byte [ecx + 0x50], cl
cmp byte [ebp + 0x4e], cl
dec eax
add esp, 4
xor eax, 0x16b2
sub eax, 0x343e
call 0x4052d8
add byte [ebx + 0x4a], cl
aaa
aaa
cmp eax, 0x83393e40
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x3e8], eax
jmp 0x40532b
jmp 0x405038
push ecx
push eax
add esp, 4
sub ecx, 0x55f0
sub ecx, 0x54bc
pop ecx
push esi
push eax
add esp, 4
or esi, 0x2ce5
pop esi
push esi
call 0x405359
add byte [esi], dh
xor eax, 0x4c473c47
inc edx
inc ebx
dec edx
add esp, 4
pop esi
push eax
push ecx
add esp, 4
add eax, 0xb446
add eax, 0xef78
add eax, 0x168e2
pop eax
push edx
call 0x405383
add byte [esi + 0x3f], al
inc edi
inc ecx
dec ebx
xor eax, 0x4c48334
pop edx
push edi
or edi, 0x98c4
pop edi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe4]
mov dword [ebp - 0x15d0], eax
push ecx
push edi
add esp, 4
add ecx, 0x15b3e
sub ecx, 0x16a42
jmp 0x4053bd
pop ecx
push eax
call 0x4053cc
add byte [edi + esi], bh
dec esi
xor al, 0x43
inc eax
cmp eax, dword [ebx - 0x3f7efb3c]
xor byte [eax + eax], cl
pop eax
mov dword [ebp - 0x20f4], 0xffffffff
push esi
call 0x4053ee
add byte [eax], bh
dec ebp
dec eax
cmp byte [edi], bh
aas
dec esp
add esp, 4
jmp 0x4053fa
call 0x405408
add byte [esi + 0x4d], cl
cmp byte [ebx + 0x39], al
inc ecx
dec esp
dec ebx
add esp, 4
and esi, 0x1235e
pop esi
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x500], ecx
jmp 0x40542f
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push eax
or eax, 0xc853
pop eax
push ecx
push edi
add esp, 4
xor ecx, 0xb98d
jmp 0x405449
and ecx, 0x8e97
call 0x40545d
add byte [esi], dh
inc edx
inc ebx
inc edx
xor cl, byte [esi + 0x4a]
xor al, 0x83
les eax, [ecx + ebx*2]
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x4054a9
push esi
push ebx
add esp, 4
or esi, 0x13990
pop esi
push edi
and edi, 0x19fc
and edi, 0xca36
sub edi, 0x13bbe
pop edi
push eax
add eax, 0xd022
pop eax
push ebx
jmp 0x4054a3
pop ebx
jmp 0x4056d7
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ecx
xor ecx, 0xb9af
add ecx, 0x58b5
pop ecx
push ebx
push edi
add esp, 4
xor ebx, 0x74e2
pop ebx
push edi
sub edi, 0xa1b1
call 0x4054ed
add byte [edx], bh
inc eax
xor bh, byte [edi]
cmp eax, 0xc483473f
add al, 0x5f
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 0x405558
push edi
push ecx
add esp, 4
sub edi, 0x1c06
xor edi, 0x12330
and edi, 0x1272d
add edi, 0x7292
pop edi
push edx
sub edx, 0x7af5
and edx, 0x7545
or edx, 0x1315b
pop edx
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x405689
cmp dword [ebp - 0xc88], 0
jle 0x40567d
push ebx
jmp 0x40556b
sub ebx, 0x589c
or ebx, 0x16cdf
sub ebx, 0x5bda
pop ebx
push eax
push esi
add esp, 4
sub eax, 0x638d
or eax, 0x8798
jmp 0x405596
pop eax
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x405619
push eax
push ebx
add esp, 4
jmp 0x4055b8
add eax, 0x1f68
pop eax
push eax
or eax, 0x66fd
xor eax, 0x1225
sub eax, 0x2b47
pop eax
push ecx
push edx
add esp, 4
xor ecx, 0x12a37
pop ecx
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x405601
mov dword [ebp - 0x15a0], 1
jmp 0x40560b
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x40567d
push ebx
and ebx, 0x14a97
pop ebx
push ecx
jmp 0x40562a
sub ecx, 0x955
and ecx, 0xf1a7
add ecx, 0xa4f
pop ecx
push ebx
add ebx, 0x475
add ebx, 0x742a
pop ebx
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 0x405558
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x4056d2
push eax
add eax, 0x2a94
call 0x4056a8
add byte [edx + 0x4b], al
aaa
inc edx
dec edi
xor esi, dword [ebx]
aaa
dec esi
add esp, 4
pop eax
push eax
push edi
add esp, 4
and eax, 0x13590
add eax, 0xe384
or eax, 0x9a01
pop eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x405713
jmp 0x405420
push ecx
push esi
add esp, 4
jmp 0x4056e2
add ecx, 0x17e15
pop ecx
push edx
xor edx, 0x14efd
pop edx
push ebx
push esi
add esp, 4
and ebx, 0x17d10
pop ebx
push esi
push ebx
add esp, 4
and esi, 0x214f
pop esi
mov dword [ebp - 0xab8], 0
push edx
and edx, 0x90f8
sub edx, 0x2f3d
jmp 0x405729
call 0x405735
add byte [edx], dh
inc esi
dec ebp
inc ebp
cmp eax, 0x5a04c483
push eax
push edi
add esp, 4
add eax, 0x1368f
pop eax
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 ebx
push ecx
add esp, 4
and ebx, 0x8298
xor ebx, 0xde8b
pop ebx
push edi
sub edi, 0x5e7f
call 0x4057c1
add byte [esi], bh
inc esp
inc edx
xor eax, 0x32434a3e
cmp eax, dword [ebx - 0x307efb3c]
cwde
aaa
add dword [eax], eax
pop edi
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 ecx
xor ecx, 0x12f20
pop ecx
push ebx
push ecx
add esp, 4
or ebx, 0x494d
jmp 0x405880
add ebx, 0x56a5
call 0x405892
add byte [edx], dh
xor cl, byte [edi + edi + 0x4d]
inc edx
add esp, 4
pop ebx
push eax
call 0x4058a5
add byte [ecx], bh
xor al, 0x42
cmp byte [esi], bh
dec esp
inc ebx
add esp, 4
pop eax
push esi
push edi
add esp, 4
or esi, 0x9f74
call 0x4058c4
add byte [ebx], dh
dec eax
cmp al, byte [esi + edi + 0x33]
inc eax
cmp eax, dword [esi + 0x4e]
add esp, 4
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x19a4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x19a8]
mov dword [ebp - 0x15d8], edx
push edi
push eax
add esp, 4
sub edi, 0x9593
or edi, 0xfadb
xor edi, 0xd6a2
xor edi, 0x17c01
pop edi
push ecx
push edx
add esp, 4
sub ecx, 0x13b9b
pop ecx
push edx
or edx, 0x5252
add byte [edx - 0x7d], bl
mov ebp, 0xffffea28
add byte [ebp + 0xf], dh
mov dword [ebp - 0x31c], 0
jmp 0x405bf6
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push ebx
and ebx, 0xca6
or al, 0
add al, ch
or dword [eax], eax
add byte [eax], al
add byte [ebx + 0x38], al
cmp ecx, dword [esi + 0x40]
inc edi
dec esp
inc esp
add esp, 4
pop ebx
push esi
push edx
add esp, 4
call 0x40597a
add byte [edx + 0x40], cl
xor cl, byte [eax + 0x4d]
inc esi
dec esi
inc esi
inc esp
xor eax, 0x5e04c483
cmp dword [ebp - 0xc98], 0
jne 0x405996
mov dword [ebp - 0x31c], 0
jmp 0x405bf6
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
invalid
invalid
push eax
push edi
add esp, 4
xor eax, 0x6748
jmp 0x4059b5
pop eax
push edi
push edi
add esp, 4
sub edi, 0x8d3c
or edi, 0xe1fd
sub edi, 0x119e4
xor edi, 0x6ab3
pop edi
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 ebx
push edx
add esp, 4
add ebx, 0x876e
xor ebx, 0x2647
jmp 0x405a1a
xor ebx, 0xab85
pop ebx
push eax
push ebx
add esp, 4
sub eax, 0x159b6
or eax, 0xfa10
pop eax
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
invalid
xchg ebp, eax
jo 0x405a43