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

Disassembly:
mov ecx, dword [ebp - 0x328]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d94], ecx
mov dword [ebp - 0x754], 0
jmp 0x40777a
mov edx, dword [ebp - 0x754]
add edx, 1
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x750]
mov ecx, dword [ebp - 0x754]
cmp ecx, dword [eax + 0x18]
jae 0x407986
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x1d8c]
mov ecx, dword [ebp - 0x328]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x1d90]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d94]
mov eax, dword [ebp - 0x328]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d98], eax
mov dword [ebp - 0x154], 0
jmp 0x4077ea
mov ecx, dword [ebp - 0x154]
add ecx, 1
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x758]
add edx, dword [ebp - 0x154]
movsx eax, byte [edx]
test eax, eax
je 0x40789c
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ebp + ecx - 0x854]
test edx, edx
je 0x40789c
push eax
add eax, 0x9b
add eax, 0x185eb
pop eax
push ecx
xor ecx, 0x13222
and ecx, 0xf990
xor ecx, 0x13a2a
call 0x407845
add byte [eax], bh
inc edx
cmp edi, dword ss:[0xc483363f]
add al, 0x59
mov eax, dword [ebp - 0x758]
add eax, dword [ebp - 0x154]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x154]
movsx eax, byte [ebp + edx - 0x854]
cmp ecx, eax
je 0x40788e
mov ecx, dword [ebp - 0x758]
add ecx, dword [ebp - 0x154]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x154]
dec dword [edi]
mov esi, 0xf7ac058c
invalid
invalid
cmp edx, ecx
jne 0x407895
jmp 0x4077db
jmp 0x40789c
push edi
push esi
add esp, 4
or edi, 0x9ba2
jmp 0x4078b0
or edi, 0x8cf5
and edi, 0xdea4
pop edi
push ecx
xor ecx, 0x3443
pop ecx
push ecx
jmp 0x4078cd
pop ecx
mov edx, dword [ebp - 0x758]
add edx, dword [ebp - 0x154]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x154]
invalid
dec dword [edi]
mov esi, 0xf7ac0d94
invalid
invalid
cmp eax, edx
jne 0x4078fb
mov dword [ebp - 0xc6c], 0
jmp 0x40796a
push edi
call 0x407908
add byte [edi + 0x4a], cl
aaa
inc edx
inc ebp
add esp, 4
jmp 0x407912
pop edi
push eax
push ecx
add esp, 4
and eax, 0xe0ab
and eax, 0x8dbe
pop eax
push esi
add esi, 0x11896
pop esi
mov eax, dword [ebp - 0x758]
add eax, dword [ebp - 0x154]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x154]
movsx eax, byte [ebp + edx - 0x854]
or eax, 0x20
cmp ecx, eax
jge 0x407960
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x40796a
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x407981
mov ecx, dword [ebp - 0x1d98]
mov dword [ebp - 0x4e4], ecx
jmp 0x407992
jmp 0x40776b
mov edx, dword [ebp - 0x75c]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x788], eax
push ecx
or ecx, 0x16521
and ecx, 0xc456
or ecx, 0x5b75
jmp 0x4079b8
pop ecx
push esi
add esi, 0x9847
call 0x4079cc
add byte [ebx + 0x38], cl
dec esi
inc ebp
add esp, 4
pop esi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1de8], ecx
push edx
push edi
add esp, 4
xor edx, 0x161e9
xor edx, 0x1efc
pop edx
push ecx
push edi
add esp, 4
xor ecx, 0xfcee
pop ecx
push ebx
and ebx, 0x668e
pop ebx
push edi
push edi
add esp, 4
jmp 0x407a10
pop edi
cmp dword [ebp - 0x3cc], 0
je 0x407a23
cmp dword [ebp - 0xa7c], 0
jne 0x407a69
push edi
add edi, 0x11fa
xor edi, 0x185fb
pop edi
push ecx
and ecx, 0x27e1
xor ecx, 0x11a5c
and ecx, 0x2bad
mov dword [ebp - 0x1e38], 0xa
push edi
push eax
add esp, 4
add edi, 0xb52e
jmp 0x407a84
xor edi, 0x116be
pop edi
push ecx
or ecx, 0x2b44
add ecx, 0x1833b
sub ecx, 0x70e2
xor ecx, 0xe354
pop ecx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x392], cl
mov edx, dword [ebp - 0xa7c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x1600], edx
mov dword [ebp - 0xc9c], 0
push eax
push eax
add esp, 4
xor eax, 0x22d7
pop eax
push eax
push ebx
add esp, 4
or eax, 0x343e
pop eax
push edx
xor edx, 0x1283e
or edx, 0x635d
add edx, 0x6224
and edx, 0x8531
pop edx
mov byte [ebp - 0x9a0], 0x56
pushal
idiv bh
call dword [esi - 0x3a]
test dword [ecx - 0xa], esp
invalid
jmp [ecx - 0x3a]
test dword [edx - 0xa], esp
invalid
push dword [edx - 0x3a]
test dword [ebx - 0xa], esp
invalid
push dword [esi + eax*8 - 0x7b]
idiv bh
push dword [ebp - 0x3a]
test dword [ebp - 0xa], esp
invalid
jmp dword [ecx - 0x3a]
test dword [esi - 0xa], esp
invalid
jmp [esi + eax*8 - 0x7b]
idiv bh
call dword [eax - 0x3a]
test dword [eax - 0xa], ebp
invalid
push dword [edx - 0x3a]
test dword [ecx - 0xa], ebp
invalid
jmp [edi - 0x3a]
test dword [edx - 0xa], ebp
invalid
push dword [esi + eax*8 - 0x7b]
imul esi, esi, 0xffffffff
jmp dword [ebp - 0x3a]
test dword [esi + esi*8 - 1], ebp
jmp dword [ebx - 0x3a]
test dword [ebp - 0xa], ebp
invalid
push dword [esi + eax*8 - 0x7b]
outsb dx, byte [esi]
idiv bh
inc dword [eax]
push ecx
push edi
add esp, 4
and ecx, 0x792e
pop ecx
push ebx
add ebx, 0x2bcc
and ebx, 0x13d3
call 0x407b93
add byte [edi], dh
cmp al, byte [ebp + 0x50]
inc esi
inc ebx
push eax
xor al, 0x3c
add esp, 4
and ebx, 0xde
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1da0], eax
dec dword [ebx - 0x1d9f73]
dec dword [ebx - 0x6a76cfaf]
pop esp
loop 0x407bb6
dec dword [ebx - 0x1da37b]
dec dword [ecx - 0x15c37b]
call dword [ecx - 0x7f]
leave
pop ds
wait
add byte [eax], al
xor ecx, 0x117fb
and ecx, 0x77e6
or ecx, 0x12ff8
pop ecx
push esi
push ebx
add esp, 4
xor esi, 0x5cec
and esi, 0x10fb4
and esi, 0x6900
pop esi
cmp dword [ebp - 0x15c4], 0
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2c0], 0
jmp 0x407eb5
mov ecx, dword [ebp - 0x15c4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc78], eax
push esi
push ebx
add esp, 4
add esi, 0x36b0
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0x12597
and ebx, 0x69fd
add ebx, 0x10f9
pop ebx
push eax
sub eax, 0xb73b
xor eax, 0xff47
pop eax
cmp dword [ebp - 0xc78], 0
jne 0x407c6a
mov dword [ebp - 0x2c0], 0
jmp 0x407eb5
mov ecx, dword [ebp - 0xc78]
mov dword [ebp - 0x4e8], ecx
push edi
push esi
add esp, 4
add edi, 0x10f8e
call 0x407c90
add byte [edx], dh
cmp eax, dword [eax + 0x37]
dec esp
push eax
xor eax, 0x4c48337
pop edi
push eax
or eax, 0x83a2
and eax, 0x73ce
sub eax, 0x95cb
pop eax
lea edx, [ebp - 0x1670]
mov dword [ebp - 0xc74], edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc70], ecx
xor edx, edx
mov word [ebp - 0x1d0], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
jmp 0x407cda
jmp 0x407ce1
call 0x407cee
add byte [0x43393448], dh
dec ebp
aas
add esp, 4
pop esi
push eax
push ebx
add esp, 4
add eax, 0x17ea8
xor eax, 0x13c52
pop eax
mov ecx, dword [ebp - 0xc70]
mov dx, word [ecx]
mov word [ebp - 0xff2], dx
mov eax, dword [ebp - 0xc70]
add eax, 2
mov dword [ebp - 0xc70], eax
mov cx, word [ebp - 0xff2]
mov word [ebp - 0x1d0], cx
mov edx, dword [ebp - 0xc74]
mov ax, word [edx]
mov word [ebp - 0xff4], ax
mov ecx, dword [ebp - 0xc74]
add ecx, 2
mov dword [ebp - 0xc74], ecx
mov dx, word [ebp - 0xff4]
mov word [ebp - 0x34], dx
push edi
push ebx
add esp, 4
sub edi, 0x7680
or edi, 0x167dc
call 0x407d7c
add byte [esi], dh
xor al, byte [ebx + 0x42]
xor ecx, dword [edx + 0x32]
push eax
aaa
aas
add esp, 4
pop edi
push ecx
push ecx
add esp, 4
jmp 0x407d8c
pop ecx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x407daa
movzx ecx, word [ebp - 0x1d0]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x15cc], ecx
jmp 0x407e04
movzx eax, word [ebp - 0x1d0]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x407cd2
movzx edx, word [ebp - 0x1d0]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x407cd2
movzx ecx, word [ebp - 0x1d0]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x407dee
mov dword [ebp - 0x15c8], 0xffffffff
jmp 0x407df8
mov dword [ebp - 0x15c8], 1
mov eax, dword [ebp - 0x15c8]
mov dword [ebp - 0x15cc], eax
xor al, 0xea
invalid
invalid
cmp dword [ebp - 0x15cc], 0
jne 0x407e4d
push edx
push edi
add esp, 4
sub edx, 0x154ae
pop edx
push ebx
or ebx, 0x14ad8
xor ebx, 0x698
pop ebx
push eax
push eax
add esp, 4
and eax, 0x10145
and eax, 0x155f5
xor eax, 0x15bcb
pop eax
mov ecx, dword [ebp - 0x4e8]
mov dword [ebp - 0x2c0], ecx
std
invalid
invalid
jmp 0x407eb5
push eax
push esi
add esp, 4
and eax, 0x130ee
pop eax
push eax
xor eax, 0x8344
call 0x407e70
add byte [ebx + 0x39], al
dec esp
dec edi
dec ebx
inc ebx
xor al, 0x33
dec edx
inc ebx
add esp, 4
add eax, 0x1b9c
invalid
pushfd
sbb eax, dword [eax]
add bl, ch
invalid
pop eax
mov edx, dword [ebp - 0x4e8]
mov eax, dword [edx]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x4e8]
cmp ecx, dword [ebp - 0xc78]
je 0x407eab
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x30], 0
jne 0x407c76
mov dword [ebp - 0x2c0], 0
push eax
xor eax, 0x107e0
jmp 0x407ec3
pop eax
push esi
push edi
add esp, 4
jmp 0x407ece
or esi, 0x2c19
and esi, 0xcd60
pop esi
push edx
push eax
add esp, 4
sub edx, 0xb1dd
pop edx
cmp dword [ebp - 0x2c0], 0
jne 0x4087ec
mov eax, 0x6b
mov word [ebp - 0x16c8], ax
mov ecx, 0x65
add byte [esi - 0x77], ah
lea edi, [edx]
jmp 0x72fb7f0d
add byte [eax], al
add byte [esi - 0x77], ah
xchg ebp, eax
cmp al, 0xe9
invalid
invalid
mov eax, 0x6e
mov word [ebp - 0x16c2], ax
mov ecx, 0x65
mov word [ebp - 0x16c0], cx
mov edx, 0x6c
mov word [ebp - 0x16be], dx
mov eax, 0x33
mov word [ebp - 0x16bc], ax
mov ecx, 0x32
mov word [ebp - 0x16ba], cx
mov edx, 0x2e
mov word [ebp - 0x16b8], dx
mov eax, 0x64
mov word [ebp - 0x16b6], ax
mov ecx, 0x6c
mov word [ebp - 0x16b4], cx
mov edx, 0x6c
mov word [ebp - 0x16b2], dx
xor eax, eax
mov word [ebp - 0x16b0], ax
push eax
xor eax, 0x43e0
jmp 0x407f99
and eax, 0xb7d5
add eax, 0x8f70
sal byte [eax - 0x71], 0
add byte [eax + 0x52], bl
push ecx
push esi
add esp, 4
and ecx, 0x759c
jmp 0x4087fd
sub ecx, 0xe207
and ecx, 0x13540
pop ecx
push ebx
push ebx
add esp, 4
or ebx, 0x14fd7
jmp 0x40881d
pop ebx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1dc8], ecx
mov edx, dword [ebp - 0x1dc8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1dcc], eax
mov ecx, dword [ebp - 0x1dcc]
mov dword [ebp - 0x15e8], ecx
push edx
push ecx
add esp, 4
xor edx, 0x15735
add edx, 0x95f2
and edx, 0x11db
or edx, 0xd827
pop edx
push edx
or edx, 0x611
add edx, 0x154f7
xor edx, 0x7492
je 0x408876
add byte [edx - 0x7d], bl
mov ebp, 0xffffea18
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2c0], 0
jmp 0x408b37
mov edx, dword [ebp - 0x15e8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc94], ecx
push eax
add eax, 0x8b85
sub eax, 0x12f8f
das
add dword [eax], eax
pop eax
push eax
push ebx
add esp, 4
call 0x4088c2
add byte [ebx + 0x45], cl
inc esi
inc ecx
cmp esi, dword [ebx + eax*2]
add esp, 4
sub eax, 0x11e93
pop eax
push edx
sub edx, 0x12a59
pop edx
cmp dword [ebp - 0xc94], 0
jne 0x4088ec
mov dword [ebp - 0x2c0], 0
jmp 0x408b37
mov edx, dword [ebp - 0xc94]
mov dword [ebp - 0x4f0], edx
adc bl, bh
invalid
invalid