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

Disassembly:
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x4377f7
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x43765b
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x43770d
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x43770d
push edx
call 0x437698
add byte [0x473e504f], bh
dec esp
cmp dword [edi + 0x49], ecx
add esp, 4
pop edx
push eax
push eax
add esp, 4
or eax, 0xd396
add eax, 0x14892
or eax, 0x178f5
xor eax, 0xcdd1
pop eax
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x4376ff
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x437706
jmp 0x43764c
jmp 0x43770d
push esi
jmp 0x437714
call 0x437723
add byte [esi + 0x48], al
cmp byte [esi + 0x49], cl
dec esp
inc ebx
dec ebx
xor al, 0x83
les eax, [ecx + eax*4]
into
inc ecx
pop ds
add byte [eax], al
pop esi
push esi
push eax
add esp, 4
sub esi, 0x12e18
sub esi, 0x144e5
pop esi
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x43776c
mov dword [ebp - 0xc30], 0
jmp 0x4377db
push ecx
push ecx
add esp, 4
sub ecx, 0x10aa1
pop ecx
push esi
call 0x437786
add byte [esi + 0x46], al
inc ebp
xor eax, dword [ebx + 0x47]
add esp, 4
or esi, 0x2eb
and esi, 0x1326
jmp 0x43779d
pop esi
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x4377d1
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x4377db
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x4377f2
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x437803
jmp 0x4375dc
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x4378de
push edx
push ebx
add esp, 4
sub edx, 0xd4be
pop edx
push esi
push edx
add esp, 4
call 0x437830
add byte [edx], bh
dec esi
cmp al, 0x40
cmp eax, dword [ecx + edi + 0x41]
inc edx
add esp, 4
pop esi
push edx
push edx
add esp, 4
jmp 0x437841
pop edx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ecx
add ecx, 0xee96
sub ecx, 0x540c
add ecx, 0x49b8
sub ecx, 0x13e8a
pop ecx
push ecx
push edi
add esp, 4
or ecx, 0x122ee
sub ecx, 0x1803
or ecx, 0x13fd9
pop ecx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x4378de
push ecx
push edi
add esp, 4
call 0x4378ae
add byte [edi + eax*2 + 0x49], cl
dec edi
dec edi
aaa
add esp, 4
call 0x4378bf
add byte [edx + 0x40], al
cmp al, 0x32
dec ebx
cmp al, 0x35
inc eax
add esp, 4
jmp 0x4378c8
and ecx, 0x16dfa
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x437fc8
push edx
push edx
add esp, 4
or edx, 0xb1
xor edx, 0x660a
add edx, 0x17a49
pop edx
push esi
push edi
add esp, 4
and esi, 0x128a3
and esi, 0xfec4
pop esi
push ebx
sub ebx, 0xfc78
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push esi
push eax
add esp, 4
sub esi, 0xacca
pop esi
push esi
push edi
add esp, 4
and esi, 0x3218
add esi, 0x10875
pop esi
push edi
add edi, 0xc4fa
add edi, 0xd124
xor edi, 0x1a73
pop edi
cmp dword [ebp - 0x14f4], 0
jne 0x437981
mov dword [ebp - 0x2e0], 0
jmp 0x437c28
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edx
add edx, 0x11dc6
pop edx
push ebx
jmp 0x4379a1
xor ebx, 0xc019
and ebx, 0xacee
jmp 0x4379b6
pop ebx
push edx
add edx, 0x2fa8
sub edx, 0x4317
pop edx
cmp dword [ebp - 0xc3c], 0
jne 0x4379dd
mov dword [ebp - 0x2e0], 0
jmp 0x437c28
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edi
push ecx
add esp, 4
or edi, 0xac7b
or edi, 0x10180
xor edi, 0x65c7
or edi, 0x46e7
pop edi
push ebx
xor ebx, 0x7dae
pop ebx
push ebx
push ebx
add esp, 4
or ebx, 0x147a2
pop ebx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push ecx
add esp, 4
and esi, 0x132e9
xor esi, 0x648a
add esi, 0xa7fa
pop esi
push esi
add esi, 0x4f0a
and esi, 0x30a4
sub esi, 0xf8a0
and esi, 0x11b81
pop esi
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push edx
or edx, 0xa79c
pop edx
push ebx
push edx
add esp, 4
xor ebx, 0x6356
jmp 0x437ae8
jmp 0x437aed
call 0x437afc
add byte [ecx + edi + 0x4d], al
dec ecx
dec esp
inc ebx
inc ebx
dec ebp
push eax
add esp, 4
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x437b1d
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x437b77
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x437a45
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x437a45
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x437b61
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x437b6b
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x437bc0
push ebx
push ebx
add esp, 4
sub ebx, 0xa968
jmp 0x437b94
jmp 0x437b99
sub ebx, 0x23b2
pop ebx
push edx
push esi
add esp, 4
or edx, 0x11240
add edx, 0xdcf6
pop edx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x437c28
push ecx
add ecx, 0xe217
and ecx, 0x1e6e
call 0x437bdd
add byte [eax + 0x47], al
cmp byte [esi + 0x4d], al
inc esi
dec ebp
cmp al, byte [ebx + 0x34]
add esp, 4
call 0x437bee
add byte [esi + 0x36], cl
dec ebx
dec edi
inc esp
inc eax
cmp al, 0x4b
add esp, 4
pop ecx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x437c1e
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x4379e9
mov dword [ebp - 0x2e0], 0
push edx
add edx, 0x6da
call 0x437c3b
add byte [ecx + 0x50], al
dec eax
dec edi
dec esi
cmp dword [ebx + 0x565a04c4], eax
jmp 0x437c45
jmp 0x437c4d
pop esi
push edx
push ebx
add esp, 4
xor edx, 0x2bce
pop edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push esi
sub esi, 0x580e
and esi, 0xa2e6
call 0x437c83
add byte [ecx], bh
cmp cl, byte [ebp + 0x33]
cmp eax, 0xc4835037
add al, 0x5e
push edx
sub edx, 0x86bc
or edx, 0x252a
xor edx, 0xb106
pop edx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x437ccb
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x437fbc
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x437cf3
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x437fbc
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x437d25
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x437fbc
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x437d4a
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x437fbc
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x437da4
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x437fb0
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x437e14
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x437ec6
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x437ec6
push ecx
and ecx, 0x1868
pop ecx
push eax
push ecx
add esp, 4
add eax, 0x10c12
pop eax
push edi
push eax
add esp, 4
and edi, 0x6ceb
sub edi, 0x5fa2
add edi, 0x1f2b
or edi, 0x11527
pop edi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x437eb8
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x437ebf
jmp 0x437e05
jmp 0x437ec6
push ecx
call 0x437ed7
add byte [eax + 0x40], dl
dec esi
dec ebx
dec ebx
dec esp
dec ebx
xor ecx, dword [esi + 0x42]
add esp, 4
call 0x437ee6
add byte [esi + 0x4d], al
push eax
dec edx
aaa
cmp dword [ebx + 0x6eb04c4], eax
cmp dword [esi + 0x50], ecx
dec esi
dec esi
dec edx
or ecx, 0x16028
pop ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x437f25
mov dword [ebp - 0xc40], 0
jmp 0x437f94
push ebx
push eax
add esp, 4
add ebx, 0x8fb8
pop ebx
push esi
or esi, 0xa459
sub esi, 0xcdd4
pop esi
push edi
push esi
add esp, 4
and edi, 0xc43f
and edi, 0x7987
sub edi, 0x9f32
lahf
add byte [eax], al
pop edi
mov eax, dword [ebp - 0x708]
clc
clc
invalid
inc dword [ebx]
test dword [esi + edi*8 - 1], edi
dec dword [edi]
mov esi, 0x20c98308
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x437f8a
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x437f94
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x437fab
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x437fbc
jmp 0x437d95
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax